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.
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
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.
To register multiple Maximo environments, create a PTR record for each environment.
_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:
|Name||Type / Value||Notes|
|type||String||PROD 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".|
|app||The Maximo app context||The default value is "maximo".|
|api||The Maximo API context for the REST API||The default value is "oslc"|
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.