In the article Hybrid Integration Part 1 â€“ on premise to multiple clouds going beyond the Whizz-bang demo, we explored the following integration scenario in a representative hybrid cloud landscape.
The scenario simulates the synchronization of new member creation across systems in the insurance industry. In this typical hybrid landscape we had to consider integration in the context of multiple SaaS providers in multiple clouds, cloud-based Platform as a Service environments for innovation and the rapid creation of new systems of engagement, socialization of published APIs to on-premises systems of record, proxying of those APIs for control/management/moneytization, secure access between the clouds and on-premises systems.
The solution built out over the course of the tutorials featured IBM Integration Bus (IIB), as a â€śtraditionalâ€ť ESB deployed on premises in close proximity to the CICS and DB2 systems of record. IIB, then working in conjunction with secure gateway, API Connect, and App Connect offers synchronization with SaaS applications and APIs to systems of record for consumption by digital teams. This is a typical hybrid integration adoption pattern for many enterprises with a mature EAI (Enterprise Application Integration) or SOA (Service Oriented Architecture) based implementation.
IBM Integration Platform as a Service â€“ changing the economics of integration, leveraging existing skill sets and avoiding rip and replace
Through hands-on tutorials in this article we explore how we can move the integration platform itself from IBM Integration Bus on premises to IBM Integration Bus on Cloud â€“ a managed service for IIB available from the IBM Marketplace.
The resulting solution is as follows:
- The systems of record remain on-premises
- IIB integration artefacts remain largely unchanged
- API Connect redirects the developers to the IIB on Cloud end points
- App Connect adds a new â€śapplicationâ€ť endpoint offered by IIB on the Cloud
- Integration between the systems of record continue unchanged
- Systems of engagement running in Bluemix continue unchanged
- IBM Integration Bus v10 on Cloud
- IBM API Connect V5 professional on Bluemix
- IBM App Connect Professional (available as SaaS)
This combination of IBM Hybrid Cloud integration platform as a service capabilities is now available as a single offering called IBM Application Integration Suite on Cloud.
Introducing IBM Application Integration Suite on Cloud
Application Integration Suite on Cloud, an IBM SaaS 1 cloud-based offering, delivers the tools that enterprises need for:
- Connecting cloud and on-premise applications
- Building microservices
- Exposing and managing APIs
Application Integration Suite on Cloud delivers a fully-managed application integration environment that helps your business start projects quickly and easily by enabling you to deploy integration solutions on the cloud without the need to acquire and maintain an IT infrastructure.
Moving from on-premises integration to integration platform as service (iPaaS) step by step guide
Ok, so go grab another cup of tea, settle in and weâ€™ll refactor our hybrid integration solution to run integration as a managed service leveraging IBM Application Integration Suite on the cloud, following these 5 short tutorials.
(An upfront big thanks to Peter Jessup of the IBM Hybrid Integration Tech Sales team in Sydney, Australia for building out the solution and capturing the video tutorials.)
List of tutorials
- IIB message flow modifications for move to cloud
- IIB on Cloud configuration for connection to on-premise systems
- Testing IIB on Cloud to on-premise systems integration services
- Testing App Connect synchronization via IIB on Cloud
- Modifying API Connect’s API proxy for IIB on Cloud services
Tutorial 1: IIB message flow modification for move to cloud
In this tutorial we walk through the modifications we need to make to the IIB message flows (as used in the Part 1 article), to move them to IIB on Cloud whilst the systems of record remain on premise. Specifically:
- In our original scenario with IIB on premises we used a Graphical Data Map which leverages JDBC connectivity to insert new members into the member database. IIB on the Cloud working in conjunction with the IIB Switch Server/Agent on-premise currently only supports ODBC connectivity. Therefore we modify the message flow to use a Database Node.
- Creation of an MQ Policy for the MQ Input node in the message flow, such that IIB on Cloud to “reach” down to the on-premise MQ queue manager.
Next, we look at the configuration of IIB on Cloud such that it can access our on-premise systems or record.
Tutorial 2: IIB on Cloud configuration for connection to on-prem systems
In this tutorial we prepare IIB on Cloud for on-premise connectivity. Specifically:
- Create endpoint configuration for MQ and DB2
- Generate, create, and connect the IIB switch server/agent on premises to IIB on Cloud.
- Upload and deploy the Broker Archive File (bar file) to IIB on Cloud.
Having prepared our IIB on Cloud instance and deployed our create new member in Database service we next test against IIB on Cloud.
Tutorial 3: Testing IIB on Cloud to on-premise systems integration services
This tutorial takes us through the testing of the new member service which is now running in IIB on Cloud utilizing the IIB Switch Server/Agent to interact with the systems of record that remain on premise.
We use a simple rest test client for this exercise.
However, for those who have completed/followed the part 1 article (see tutorial 8) you may like to use your Bluemix based nodeRed test application. You need to change the URL on the HTTP invocation node.
With our IIB on Cloud new member service up and running we next enable IBM App Connect to receive publications events from the IIB on Cloud implementation in order to synchronize our SaaS apps with on-premise new member inserts.
Tutorial 4: Testing App Connect synchronization via IIB on Cloud
In this tutorial we complete the process of synchronizing the Google Sheets SaaS application with the our DB2 on premise members database by subscribing to events raised by IIB on Cloud from IBM App Connect. Specifically:
- Modify the YAML describing our on-premise member DB service with the IIB on Cloud endpoint URL
- Import the YAML to create a new source application in App Connect
- Integrate with out Google Sheets new member sheet.
To demonstrate how we can use IBM App Connect to synchronize a second SaaS application by adding another subscription to IIB on Cloud and then integrating with SFDC for example, follow tutorial 14 (below) from our part 1 article remembering to detail the new IIB on Cloud based application in App Connect.
Finally, with our end to end integration scenario now moved off premises and into the cloud we’ll update IBM API Connect with the new cloud endpoint for the new member service and make it available to the digital developers.
Tutorial 5: Adding the IIB on Cloud service endpoint to API Connect
At this point if you simply wish to change the endpoint for our API from IIB on Premise to IIB on Cloud you can follow the API Connect configuration tutorial 15 from the Part 1 article. The only difference from this part 1 tutorial for sharing swagger.json document generated by IIB with API connect is that we would need to use the IIB on cloud exposed URL.
Alternatively, you may prefer to add the IIB on Cloud endpoint for the new member API/Service as a new version of the original API such that existing applications using the service can leverage the IIB on premise or IIB on Cloud implementation and be transitioned over time. If that is the case this tutorial demonstrates how to add a new version of the original API to IBM API Connect and test it.
So there you have it.
Two 3rd-party public clouds (with SFDC and Googlesheets), one IBM public cloud (running IBM App Connect), one public Platform as a Service (Bluemix with NodeRed and API Connect services), IIB on the Cloud, an on premise VM Image, 30 minutes of refactoring and one line of code (will be zero when JDBC support is added to the IIB Switch Server/Agent).
Want to build it out yourself?
All the collateral (end state) and documentation is available from GitHub:
Want to run yourself?
- An IBM App Connect license available through the IBM Marketplace (Free trial available)
- Googlesheets account (free)
- Salesforce.com developer account (free)
- IBM Bluemix account – free trial periods are available
- IIB on the Cloud (Free trial available)