Opqo can use standards-based DNS Service discovery to locate Maximo environments.  This is particularly useful when devices are on a corporate network.


In a typical corporate environment with a single production Maximo environment, this means that when Opqo is first launched on a device, it will automatically discover and configure the connection to this environment, and be ready to login.


It is possible to register and discover multiple Maximo environments in DNS, and to distinguish between production and non-production environments.


The information provided in this article is technical in nature.  Please do not hesitate to contact us or create a support ticket if you have questions or require our assistance.


Requirements


This requires the addition of records to the network DNS (Domain Name Service), which typically requires the involvement of your I.T. department. 


This is most effective when done in the DNS of an internal network, though this method of discovery can also be done on public-facing DNS if desired (see below for how that works with Opqo).


Opqo will check for and respect browse / legacy browse domain DNS entries (b._dns-sd._udp and lb._dns-sd._udp PTR entries) for the cases where services are defined in a separate domain.



Registering Maximo Environments in DNS


The exact mechanism for adding records will depend on the specific DNS software in use.  However, the following records are required for registering an environment:


One PTR record for each Maximo environment


This PTR record maps the Opqo service name ( _sharptree-mx._tcp ) to a Maximo environment name.


For example, defining environments within the  sharptree.io domain (TTL etc omitted for brevity):

_sharptree-mx._tcp.sharptree.io.   PTR   opqo-demo._sharptree-mx._tcp.sharptree.io.


This defines a single environment named opqo-demo.


Note: Ensure the value of the PTR is fully qualified, i.e. it includes the domain name.
This will be used to perform a lookup on SRV and TXT records, created in the following steps.


To register multiple Maximo environments, create a PTR record for each environment.


For example:

_sharptree-mx._tcp.sharptree.io.   PTR    opqo-demo._sharptree-mx._tcp.sharptree.io.
_sharptree-mx._tcp.sharptree.io. PTR opqo-dev._sharptree-mx._tcp.sharptree.io.

This defines 2  environments named opqo-demo and opqo-dev.



SRV and TXT records with the details for each environment


For each environment with a PTR record defined above, an SRV record and optionally a TXT record is required, to specify the connection details.


The name of the SRV and TXT records matches the value in the PTR record that was created, above.


For example, to define the opqo-demo environment as a production Maximo environment at https://opqo-demo.sharptree.io

opqo-demo._sharptree-mx._tcp.sharptree.io.  SRV   0 0 443 opqo-demo.sharptree.io.


Or, to define the opqo-dev environment as a non-production environment at http://opqo-dev.sharptree.dev:9080 

opqo-dev._sharptree-mx._tcp.sharptree.io.   SRV   0 0 9080 opqo-dev.sharptree.dev.
opqo-dev._sharptree-mx._tcp.sharptree.io. TXT "type=DEV,ssl=false"


Valid values that can be specified in the TXT record are (note that the values specified exclude the quotes):


NameType / ValueNotes
typeStringPROD for production environments, any other value for non-production  The value for non-production environments is displayed when selected in Opqo.
ssl"true" or "false"Whether the connection should use SSL.  If not specified, the default is "true".
utcert"true" or "false"
Optional. Whether to accept untrusted/self-signed SSL certificates when connecting to Maximo and ssl is enabled.

If not specified, the default value is "false".
appThe Maximo app contextIf not specified, the default value is "maximo".  
apiThe Maximo API context for the REST APIIf not specified, the default value is "oslc"
authThe authentication method to use when connecting to Maximo.

Valid values are:
  • "standard"
  • "maxauth"
  • "ldap"
  • "saml"
"standard": For Maximo environments configured with internal authentication, LDAP (BASIC auth) or Forms authentication.  This also includes MAS development environments.

"maxauth": For Maximo environments configured with internal authentication. This option will only send the MAXAUTH header for authentication. Typically not required, as "standard" should suffice.

"ldap": For Maximo environments configured with LDAP authentication. This option will only send the HTTP BASIC authentication header for authentication. Typically not required, as "standard" should suffice.

"saml": For Maximo environments configured with SAML authentication.

If not specified, the default value is "standard"



Auto-discovering environments on an internal DNS with Opqo


When Opqo is first launched on a device, it will search the default domain suffixes provided on the network connections and check for Maximo environment registrations (per above).


  • If a single production environment is found, the app automatically configures for that environment.
  • If zero or multiple production environments are found, the app presents the list of discovered environments for selection.


The user can open the settings from the login screen to view discovered environments (both production and non production), and select from any of these.


Discovering environments on a public facing DNS with Opqo


Opqo allows the manual specification of a domain to search via the "Use email address" environment option.


In this case, an email address is entered,  the domain of that email address is noted and used to perform a DNS service discovery search.  The email address itself is unimportant, is not validated, and only used as a familiar value for the user to provide the domain to search.