This proof of concept showcases the capability of Azure (Microsoft’s Cloud offering) to communicate with legacy systems. The Logic Apps in Azure allows you to create & automate workflows needed to integrate different applications. It comes pre-equipped with a rich library of connectors and allows custom connectors for communication with legacy applications. This POC focuses on using a custom connector to send messages to Legacy System & receive a response from it. The API management instance is another powerful tool in the artillery of Azure, which allows you to create APIs quickly with minimal coding.
Tools used: Visual Studio, .net Framework 4.5, Web API, Azure Logic Apps & API Managment instance, Swagger
Steps:
1. Create a Web API which accepts input parameters & request and returns a response. This Web API is hosted locally on the internal server in local network. This Web API will use input parameters to connect to appropriate Legacy Server Program.
2. After the Web API is hosted, the OpenAPI (Swagger JSON) definition can be generated. This definition file will be used to create a custom connector in Logic Apps.
3. The On-Premise Data Gateway (OPDGW) should be installed on the server. The Web API should be accessible from the server where OPDGW is installed. After installation, an Azure subscription account (*.onmicrosoft.com) is used to log on to the gateway. A gateway is also created into Azure main account to validate the incoming & outgoing connections.
4. In Azure account, a Logic Apps custom connector is created with swagger JSON file generated from the Web API.
5. The Web API details like host server, template/path parameters, operation name, Authentication scheme etc. are specified.
6. A new Logic App is created with the HTTP trigger and custom connector. The HTTP trigger acquires a Post URL by default.
7. A new API Management service is created in Azure, this is where an APIs can be hosted and edited. The API Managment service can be used to restrict calls from certain IP addresses, use different authentication services & token management.
8. A blank API is created and template parameters, inbound processing, and Backend properties were set. At the backend, the Azure Logic App created in step 6 was specified.
9. The API can be tested directly from the Azure portal. The parameters values & Request Body need to be specified and API is ready to be tested. The subscription key specified here is auto-generated.
10. The developer portal in API Management is a near-real-time representation of the created API and can be used to test as well.