With more and more companies moving to the cloud, there is increased demand for integration of SaaS offerings using cloud integration platforms. We call this IPaaS, Integration Platform as a Service. Software AGs offering for IPaaS is webmethods.io Integration. But most companies do not start in the cloud by scratch, they still have systems running on premises, in a container environment, or in as cloud platform service (PaaS - Platform as a service). Usually the systems running there are not exposed as a Service or even shall not, because of security reasons. You still need to integrate those system with your new world, and this is where hybrid integration comes into place.
In this article I will show you how to expose a service running in a on premise Integration Server (the Server in the demo will actually be running in a container) to webMethods.io Integration and use it in a cloud hosted flow.
I will break down the proces into 4 parts:
- Create a user for the local Integration Server
- Expose the local service to webMethods.io
- Create an IO Project
- Create Hybrid Integration Flow
All of the pictures are click to enlarge, so if you want to read the details in the screenshots, just click the thumbnails. There is also a video on our youtube channel shwoing the complete procedure: Hybrid Integration: Expose a local service to webMethods.io integration - YouTube
If you want to create this part of the demo yourself, you need a webMethods.io tenant with Integration enabled, an Integration Server or Microservice Runtime with JDBC adapter and a demo database connected to it.
Click Add user.
Enter name and a valid e-mail
Enter a 8unqieu username and make sure to have at least webMethods.io Integration User selected.
You will receive an e-mail to update your password.
Set a secure password.
Expose the local service to webMethods.io
We are now switching to our local installation. Where local can mean
- A classical installation of webMethods Integration Server or Microservice Runtime in your datacenter
- An instance of webMethods Integration Server or Microservice Runtime in your own container platform.
- An instance of webMethods Integration Server or Microservice Runtime in a cloud hosted container platform.
In this example we have a service on our integration server which accepts a “Payment Advise” and just stores it in a local database (Here shown in the Service Development Perspective of Designer).
Open the Admin UI of Integration Server in a browser. Go to webMethods Cloud - Settings. Enter the username and password of the user you just created. Also enter the web Adress of your webMethods.io tenant (Thats the same URL you use to connect to webMethods.io itself). Save your changes
Go to Accounts. Click Create On-Premise Account. Enter an Alias Name and make sure to set Enable. As this is just a demo, we use Stage Development. Also in this demo, we choose Run As User as Administrator. In a real live environment you may want to use dedicated users for running your local services.
Save your changes and click Return to On-Premise Accounts.
Click the Upload Button.
Go to Applications. Click Define webMethods Cloud Application.
Enter a name for the application. The page displays all custome packages on the local Integration Server. Expand the package with the service you want to expose. Select the service you want to use in webMethods.io Integration. Make sure to only expose well defined services meant for exposure! Click Save Changes and Return to webMethods Cloud Applications.
Click the Upload button. The service is now available in webMethods.io Integration.
Create a webMethods.io Project
We first need to create a project to hold our created services. Go to webMethods.io Integration (USe the app switcher in the upper right corner if you are in antoehr cloud product).
Click the big + to create a new project.
Give it a proper name.
You will get an empty project.
Click the connectors tab and select On-premises. This will show the services exposed by on-premise Integration Servers or Microservice Runtimes to his tenant. The service we exposed in the last step is displayed here. It is not yet used in any project.
In any flow service in webMethods.io Integration just insert a new step, select CONNECTORS from the dropdown and scroll down to the On-Premise Connectors. The exposed service is there to use:
Please have a look at the other related articles and videos to see how we get a complete hybrid B2B integration.
B2B as a Service: Connect a Partner via webMethods.io B2B
Hybrid Integration: Expose a local service to webMethods.io Integration:
Article: This one!
Video: Hybrid Integration: Expose a local service to webMethods.io integration - YouTube