Hybrid Integration: Expose a local service to webMethods.io integration
Tags: webmethods, integration, esb
Published: 2021-12-17 11:03:41

---
title: Hybrid Integration: Expose a local service to webMethods.io integration
published: true
date: 2021-12-14 13:51:55 UTC
tags: webmethods, integration, esb
canonical_url: https://tech.forums.softwareag.com/t/hybrid-integration-expose-a-local-service-to-webmethods-io-integration/253901
---


# Introduction

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](http://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](http://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](http://webMethods.io)
- Create an IO Project
- Create Hybrid Integration Flow

All of the pictures are click to enlarge, si if you want to read the details in the screenshots, just click the thumbnails.

# Create a user for the local Integration Server

In order to connect our local integration server to [webMethods.io](http://webMethods.io) Integration, we need a user in [webMethods.io](http://webMethods.io). Go  
In the app switche go to _My Cloud_ and then select _Administration_.

[![N_CreateUser_001](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/0/1/016dc09e340baa467745b2d79d59b4db78212bc4_2_156x250.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/0/1/016dc09e340baa467745b2d79d59b4db78212bc4.png "N\_CreateUser\_001")

Click _Add user_.

[![N_CreateUser_002](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/1/7/17b94f1b7d5683a8b995eb76a0637aaad07d05aa_2_345x69.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/1/7/17b94f1b7d5683a8b995eb76a0637aaad07d05aa.png "N\_CreateUser\_002")

Enter name and a valid e-mail

[![N_CreateUser_003](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/1/2/125351cb0180e890b76b105b595baab424207d4a_2_345x152.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/1/2/125351cb0180e890b76b105b595baab424207d4a.png "N\_CreateUser\_003")

Enter a 8unqieu username and make sure to have at least [webMethods.io](http://webMethods.io) Integration User selected.

[![N_CreateUser_004](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/c/4/c4ddde4d2c1c41ac70a36cb0ac3d32abb85f19cc_2_517x254.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/c/4/c4ddde4d2c1c41ac70a36cb0ac3d32abb85f19cc.png "N\_CreateUser\_004")

Click Save.

[![N_CreateUser_005](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/0/2/021e13836e39e528350cabf6e91d078f417131ac_2_690x171.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/0/2/021e13836e39e528350cabf6e91d078f417131ac.png "N\_CreateUser\_005")

You will receive an e-mail to update your password.

[![N_CreateUser_006](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/7/c/7c865ed45a1797158398b54a7fbad646b1d30cd1_2_345x88.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/7/c/7c865ed45a1797158398b54a7fbad646b1d30cd1.png "N\_CreateUser\_006")

Set a secure password.

[![N_CreateUser_007](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/0/b/0bc5b69833f4f5ab3134ab6b9a610ca73847c061_2_345x130.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/0/b/0bc5b69833f4f5ab3134ab6b9a610ca73847c061.png "N\_CreateUser\_007")

# Expose the local service to [webMethods.io](http://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).

[![A_PublishService_001](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/0/a/0ac22eb9c17d567c18a6ee776dd1ff47f503e254_2_345x163.jpeg)](https://aws1.discourse-cdn.com/techcommunity/original/3X/0/a/0ac22eb9c17d567c18a6ee776dd1ff47f503e254.jpeg "A\_PublishService\_001")

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](http://webMethods.io) tenant (Thats the same URL you use to connect to [webMethods.io](http://webMethods.io) itself). Save your changes

[![A_PublishService_002](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/3/8/38d4aed471f7bfc4937d83767b023eb1d76b7edc_2_517x360.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/3/8/38d4aed471f7bfc4937d83767b023eb1d76b7edc.png "A\_PublishService\_002")

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.

[![A_PublishService_003](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/c/4/c46a0dda12915d1bb8a1f53e1a0a457d4efbdc20_2_517x196.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/c/4/c46a0dda12915d1bb8a1f53e1a0a457d4efbdc20.png "A\_PublishService\_003")

Save your changes and click _Return to On-Premise Accounts_.

[![A_PublishService_004](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/1/1/1192d6d130fa4be37b075adea329e15d90d8613d_2_517x260.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/1/1/1192d6d130fa4be37b075adea329e15d90d8613d.png "A\_PublishService\_004")

Click the _Upload_ Button.

[![A_PublishService_005](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/d/3/d3ef6bccb3abc81f4db19d6f1403c315e1da8fee_2_517x186.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/d/3/d3ef6bccb3abc81f4db19d6f1403c315e1da8fee.png "A\_PublishService\_005")

Go to _Applications_. Click _Define webMethods Cloud Application_.

[![A_PublishService_006](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/9/d/9d4cfe457754b6c9cafa215d525431ae5bce5417_2_517x245.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/9/d/9d4cfe457754b6c9cafa215d525431ae5bce5417.png "A\_PublishService\_006")

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](http://webMethods.io) Integration. Make sure to only expose well defined services meant for exposure! Click _Save Changes_ and _Return to webMethods Cloud Applications_.

[![A_PublishService_007](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/0/0/00030d099e4ba4474c570a82ee100db1c5200c07_2_517x297.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/0/0/00030d099e4ba4474c570a82ee100db1c5200c07.png "A\_PublishService\_007")

Click the _Upload_ button. The service is now available in [webMethods.io](http://webMethods.io) Integration.

[![A_PublishService_008](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/c/7/c70295e9a10f01dfc612d369c4c536ff33c8cf17_2_516x252.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/c/7/c70295e9a10f01dfc612d369c4c536ff33c8cf17.png "A\_PublishService\_008")

# Create a [webMethods.io](http://webMethods.io) Project

We first need to create a project to hold our created services. Go to [webMethods.io](http://webMethods.io) Integration (USe the app switcher in the upper right corner if you are in antoehr cloud product).

[![B_CreateIOProject_001](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/e/8/e82e541661cf0106ef870cc845aa150934caff26_2_166x249.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/e/8/e82e541661cf0106ef870cc845aa150934caff26.png "B\_CreateIOProject\_001")

Click the big + to create a new project.

[![B_CreateIOProject_002](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/f/c/fcd2640d5d76c67aa50e477dc4e36f25eb4e1b7c_2_345x194.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/f/c/fcd2640d5d76c67aa50e477dc4e36f25eb4e1b7c.png "B\_CreateIOProject\_002")

Give it a proper name.

![B_CreateIOProject_003](https://aws1.discourse-cdn.com/techcommunity/original/3X/5/0/50f528e0d44a425aaaad60cbfb21719aaa08982a.png)

You will get an empty project.

[![B_CreateIOProject_004](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/7/0/70803e5e669b772367c9f45873dfae9e6831c9ac_2_345x177.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/7/0/70803e5e669b772367c9f45873dfae9e6831c9ac.png "B\_CreateIOProject\_004")

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.

[![B_CreateIOProject_005](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/1/1/114ce345d073d5cd7c5c4a8b3c78eac4a5616e94_2_517x177.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/1/1/114ce345d073d5cd7c5c4a8b3c78eac4a5616e94.png "B\_CreateIOProject\_005")

# Use it in a flow

In any flow service in [webMethods.io](http://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:

[![H_CreateHybridIntegrationFlow_021](https://aws1.discourse-cdn.com/techcommunity/optimized/3X/a/1/a133eabb255f974f2570748c8455acf2a952e5e6_2_517x227.png)](https://aws1.discourse-cdn.com/techcommunity/original/3X/a/1/a133eabb255f974f2570748c8455acf2a952e5e6.png "H\_CreateHybridIntegrationFlow\_021")

Please read my upcoming article Hybrid B2B Bring the pieces together in order to see how to use the exposes service in a B2B integration (link will follow shortly).

# Related articles

## Hybrid Integration: Expose a local service to [webMethods.io](http://webMethods.io) integration:

This one!

## B2B as a Service: Connect a Partner via [webMethods.io](http://webMethods.io) B2B
<aside data-post="1" data-topic="253904">
  <div>
    <div></div>
    <img loading="lazy" alt="" width="20" height="20" src="https://sea1.discourse-cdn.com/techcommunity/user_avatar/tech.forums.softwareag.com/martin_wroblinski/40/613_2.png">
    <a href="https://tech.forums.softwareag.com/t/b2b-as-a-service-connect-a-partner-via-webmethods-io-b2b/253904">B2B as a Service: Connect a Partner via webMethods.io B2B</a> <a href="https://tech.forums.softwareag.com/c/knowledge-base/6"><span style="background-color: #3AB54A;"></span><span style="" data-drop-close="true" title="Browse through our vast Knowledge base of tutorials, articles, code samples, tips and tricks.">Knowledge base</span></a>
  </div>
  <blockquote>
    <a name="introduction-1" href="https://tech.forums.softwareag.com#introduction-1"></a>Introduction
As more and more system and platform are moving to the cloud, so is B2B (Business to Business). With <a href="http://webmethods.io">webmethods.io</a> B2B we offer our proven B2B platform as a Service in the cloud, providing capabilities like Partner Management and Onboarding, Document Definition, powerful processing rules and End to End Monitoring. <a href="http://webmethods.io">webmethods.io</a> B2B comes with complete sets of predefined documents for standard like EDI and RosettaNet, but you can also define your own document types. 
In this artic…
  </blockquote>
</aside>
## Hybrid B2B Bring the pieces together - integrate [webMethods.io](http://webMethods.io) B2B with [webMethods.io](http://webMethods.io) Integration

Link coming shortly.

[Check out the original post](https://tech.forums.softwareag.com/t/hybrid-integration-expose-a-local-service-to-webmethods-io-integration/253901)