Typically, on-premise applications are behind a secure firewall. To establish a connection between third-party cloud services like App Connect and an on-premise solution like Maximo, often requires a connector that can facilitate a secure and persistent connection.
To achieve this you can use a Secure Gateway which is a service available on IBM Cloud marketplace that provides a quick, easy and secure way to connect hybrid, cloud and on-premise solutions.
“IBM® Secure Gateway for IBM Cloud service provides a quick, easy, and secure solution for connecting anything to anything. By deploying the light-weight and natively installed Secure Gateway Client, a secure, persistent connection can be established between your environment and the cloud. With this, you can safely connect all of your applications and resources regardless of their location. Rather than bridging your environments at the network level like a traditional VPN, Secure Gateway provides granular resource control operating with the principle of least privilege as its core tenant.”
Create an Instance of Secure Gateway
Before you can start configuring the connection, an instance of Secure Gateway needs to be created.
- Login to your IBM Cloud Account and navigate to your Dashboard. Click Catalog on the top right as shown below.
- Under “Platform” select the Integrate category as show below.
- Right below the App Connect service you will see a Secure Gateway tile. Click on it.
- Verify the default settings as shown below and click “Create”. It may take a few minutes for the service to be provisioned.
- When the service is successfully created you should see it listed on your dashboard under “Cloud Foundry Services” as shown below.
- At this point you are ready to configure the Secure Gateway Service by clicking on the row.
Configuring and connecting involves three simple steps. Click on the links below and follow the steps sequentially.
- Add a Gateway
- Add a Client
- Add a Destination
App Connect calling Maximo
Once you have your Maximo server exposed via a Secure Gateway you can then call through to Maximo using an exported OpenAPI v2 document from your Maximo server and App Connect.
There are currently 4 steps you need to take to be able to successfully import the OpenAPI v2 document into App Connect.
Note: These steps will be not be required starting with Maximo 126.96.36.199, tentatively scheduled for release in August 2018. Going forward you can download the OpenAPI v2 document directly from Maximo, using the following URL.
- Cut out any unneeded call paths, leaving all required parameters, references and header information. There is a limit on the size of the OpenAPI v2 document App Connect can process so your document should be around 1MB to be safely imported.
- Replace host with your secure gateway host as in the example below
- Add the Basic Auth security definition to your OpenAPI v2 swagger to be able to connect to the Maximo server by Basic Auth.
- Remove any errors flagged in https://editor.swagger.io. For example, remove the in: body section.
- You can then create an App Connect service as shown earlier and then launch the service and navigate to your API’s (Catalog -> API).
- Click on `Add your API` now and upload your exported Maximo OpenAPI v2 document which you have altered to be valid for App Connect.
Note: Once App Connect has validated the OpenAPI and it has been uploaded the API will appear in the API’s tab as an imported API.
- You can then click Connect and enter your Basic Auth details to create an Account. You can create multiple accounts if you want with different credentials.
- You can now add your node into a flow. If you go to the Dashboard and create any style of flow you can then click the + and select APIs. You can then select the operation you want to call as well as which account to use.
- You can then enter the properties for the call or use the output from a previous node to supply the properties.
- After saving and running your flow when it is triggered the call will be made to your Maximo server and you can then use the response to drive the rest of your flow.
About the authors:
Dom Storey is a Master Inventor and Hybrid Integration Technical Lead in the Application Integration development team in Hursley Lab UK.
Sach Balagopalan is a Maximo Software Developer in the Internet of Things development team in Littleton, MA, USA.