Showing posts with label Azure Hybrid Connection. Show all posts
Showing posts with label Azure Hybrid Connection. Show all posts

Friday, 16 November 2018

Migrating BizTalk Transformation To Azure using Azure Function as an API

In this article, I would brief about Migrating BizTalk Transformation As-Is to Azure Function(API) and this can be invoked from Logic App. Thus the transformation can be execute across different resource group, region and integration account.

Using Azure SDK, I have create a simple HTTP Trigger function. This has two projects, TrasformationHelper(TransformAPI) and AzureFunctionHelper.

In TransformAPI, we extract the request body and map name from the query string and invoke utility helper for the transformation.
In AzureFunctionHelper, I have embedded the XSLT and Extension Objects as resource files and based on the MapName, we would dynamically execute the transformation and render the transformed result as HTTP Response to client.
Here is the XSLT for one of the transformation and this invoke external assembly methods, as shown. External assembly method does DB Lookup. Lets add the reference of External Assembly to Azure Function Project.
Lets configure hybrid connection in Azure Function. select Networking and click on configure your hybrid connection endpoints. Click on Add hybrid Connection, 
Create a new or bind to existing Hybrid Connection. Refer my earlier article for configuring azure hybrid connection to access on-prem sql server.
Lets deploy and test the Azure function API. This can be invoked from Logic App to achieve dynamic transformation.
Note:- External Assembly would be package as part of Azure Function Package. This allows us to completely re-use BizTalk Transformation as-is.

Monday, 12 November 2018

Connecting to On-Prem SQL Server using Azure Hybrid Connection

In this article, we will explore on connecting to on-premise sql server from Azure services using Hybrid Connections

Hybrid Connections allows Azure Web Sites and Services to securely connect to the on-premises resources hosted within the corporate network, without requiring any change to firewall or network.
Here is a simple console application,which lookup from product table available in on-premise SQL Server DB. Lets publish and host in Azure App Service as WebJob. 
Note: Here we have used the SQL Authentication and provided the SQL Server Instance along with default TCP Port for the SQL Server Connection String.
Now let us configure Hybrid Connection to get the WebJob up and running properly. Inside the App Service select Networking and click on Configure your hybrid connection endpoints. Click on Add hybrid Connection
Create and Configure the Hybrid Connection.
Before  installing and configuring Hybrid Connection Manager in on-prem server, make you  TCP dynamic ports are enabled and Active and Enabled Properties are set to Yes.
Lets install and launch the Hybrid connection manager in the server and then click on Add a new Hybrid Connection; Log in with the Azure Subscription Credentials and select the Hybrid Connection created there.  Restart the Azure Hybrid Connection Manager Service after adding the connection.
Let us run the WebJob and verify the status from Logs Section. As you can see we have done a lookup from the corresponding Product Id.