BizTalk developers transitioning to the cloud – terms to learn and understand

Published on : Oct 24, 2016

Category : BizTalk Server

srini

Author

The evolution happening in the Integration space can be overwhelming for a BizTalk consultant who so far has been focusing on delivering robust on-premise integration solutions and overlooked the developments happening in Azure. Just to give a bit of history, in April 2012 Azure Service Bus EAI and EDI Labs went live as a Platform as a Service (PaaS) offering for addressing integration scenarios. This product evolved and took shape as Microsoft Azure BizTalk services (MABS). After a successful June 2013 preview, MABS went live in November 2013. Later Azure introduced a new App service offering in which all BizTalk service capabilities such as connectors and API’s are moved into Logic Apps, giving birth to Microsoft’s Integration Platform-as-a-Service (iPaaS) offering. In June 2016, a public preview of Enterprise Integration pack was announced and Azure Logic Apps also became generally available in July 2016. In August 2016, the Logic app connector for BizTalk 2016 was announced.
You can download the entire article as a PDF document. BizTalk developers transitioning to the cloud.
All recent events clearly indicate that Microsoft has got tons of focus in Azure Logic Apps as it is an iPaaS offering. Additionally, Logic Apps could potentially be a successor to on-premise application integration solutions. In this article, let’s take a look at the Logic Apps Enterprise Integration pack and tooling revolving around it. We will cover the following topics at very high level to give you an idea.
  • Basics of Azure Logic Apps
  • Azure Enterprise Integration Pack
  • Azure Integration Account
  • Azure Logic Apps Integration templates
  • Azure Logic Apps/Integration Account Visual Studio Plugins
  • BizTalk 2016 Logic Apps Connector
  • BizTalk360 Support for Logic Apps

Basics of Logic Apps

Logic Apps is an Integration-Platform-as-a-Service (iPaaS) offering which provides a way to implement scalable integration solutions and workflows in the cloud. With Logic Apps, workflows can be modeled and implemented in a visual designer using different connectors across the cloud and on-premise. Below is the snapshot of a simple Logic App which takes a file from Dropbox and moves it to Google Drive. Logic Apps onedrive to google drive Refer the article “What are Logic Apps” to know more about Logic Apps in detail.

Enterprise Integration Pack

Enterprise integration pack is a solution for enabling B2B and EAI scenarios in a Logic App. Most of the capabilities of BizTalk server or Microsoft Azure BizTalk services are covered in Enterprise Integration Pack. Following are the features present in Enterprise integration pack as of today.

Integration Account

Integration account is a logical container which stores the various artifacts needed in EAI and B2B scenarios. Integration account currently contains following artifacts.
  • XSLT-based maps
  • XML schemas
  • Trading Partners
  • Trading Partner Agreements
  • Certificates
It is essential to create an integration account for a Logic App to utilize EAI and B2B capabilities. Below is an overview of the steps to be taken in order to create a Logic App using EAI and B2B features. Logic Apps - Azure integrationaccount

B2B Features

Following are the B2B APIs/Connectors available in Logic Apps at the moment.
APIs Status
AS2 – Decode AS2 Message Preview
AS2 – Encode to AS2 Message Preview
X12 – Decode X12 message Preview
X12 – Encode to X12 message by agreement name Preview
X12 – Encode to X12 message by identities Preview
EDIFACT – Decode EDIFACT message Preview
EDIFACT – Encode to EDIFACT message by agreement name Preview
EDIFACT – Encode to EDIFACT message by identities Preview

EAI Features

Following are the EAI APIs available in Logic Apps at the moment.
APIs Status
Flat File Encoding Preview
Flat File Decoding Preview
Transform XML Preview
XML Validation Preview
BizTalk Server – Prepare message from XML Preview
BizTalk Server – Prepare message from JSON Preview
BizTalk Server – Send message Preview

Logic Apps Integration Template

While creating Logic Apps, you will be prompted with an option to choose from an existing Integration template or start from a blank Logic App as shown in the below image. Logic Apps integration templates For example, if you want to create a Logic App which moves the file from Dropbox to One Drive, you can choose a corresponding template. Logic Apps dropbox to onedrive Your Logic App will be up and running as soon as you configure the account and folder locations. Logic Apps config However, if you want to create enterprise integration scenarios such as B2B and EAI, there are separate templates which require an integration account. Following are few enterprise integration templates available in Logic Apps at the moment. And this list is bound to grow day by day. For these enterprise templates, you will also need to create a storage account. Logic Apps enterprise templates Below is the Logic App which is created using “Receive an X12 over As2 and transform template”. Big Logic App The Logic Apps designer is evolving day by day. The team is monitoring the feedback portal and addressing issues very quickly. The feedback I left about having the horizontal scroll bar in the designer already been implemented. Logic Apps horizontal scrolling
You can download the entire article as a PDF document. BizTalk developers transitioning to the cloud.

Quick Start Templates

Logic Apps Enterprise integration team has placed some quick start templates in GitHub that helps the developers to get started quickly with EAI and B2B scenarios. Below is the list of few useful quick start templates.
Quick Start template Description
201-logic-app-veter-pipeline This template creates a VETER pipeline using Logic Apps. It creates an integration account, adds schema/map into it, creates a Logic App and associates it with the integration account. The Logic App implements a VETER pipeline using XML Validation, XPath Extract and Transform XML operations.
201-logic-app-as2-send-receive This template demonstrates AS2 Send Receive using Logic Apps. It creates Integration Accounts for two partners (Contoso and Fabrikam) and adds Partners and Agreements into them. It creates Logic Apps between Fabrikam Sales and Contoso which demonstrate Sync AS2 Send Receive. It also creates Logic Apps between Fabrikam Finance and Contoso which demonstrate Async AS2 Send Receive.
201-logic-app-transform-function Creates a webhook based C# Azure function with transform capabilites to use in Logic Apps integration scenario
logic-app-custom-api Logic App calls into a Custom API hosted on App Service and protected by AAD

Enterprise Integration Tools for Visual Studio 2015

Logic Apps enterprise integration tools for Visual Studio 2015 provides a schema editor, flat file schema generator and XSLT mapper to easily create Integration Account artifacts from Visual Studio. This can be downloaded from here. This tool adds an “integration” project type to Visual Studio, and lets us create XML schemas, flat file schemas and maps into a project. Logic Apps visual studio integration project Note: Various versions of the EDIFACT and X12 schemas are shipped with BizTalk server. It is not yet clear how these schemas will be made accessible to Logic App Enterprise Integration pack customers.

Logic App Designer for Visual Studio 2015

Logic App designer is an add-on to Visual Studio 2015 which allows us to design and deploy Logic Apps from Visual Studio. Using Visual Studio for designing Logic Apps has an added advantage of using source control to manage the Logic App definition files (JSON) as well as deployment and automation templates. Following are the prerequisites for Logic Apps.
  • Visual Studio 2015
  • Latest Azure SDK (2.9.1 or greater)
Note: The Logic App designer requires an internet connection in order to query the connectors for available properties and data (for example, if using the Dynamics CRM Online connector, the designer will query your CRM instance to list available custom and default properties)

Installing Visual Studio tools for Logic Apps

Follow the below steps to install Visual Studio tools for Logic Apps:
  • Open Visual Studio 2015. In the Tools menu, select Extensions and Updates
  • Select the Online category to search online
  • Search for Logic Apps to display the Azure Logic Apps Tools for Visual Studio
  • Click the Download button to download and install the extension
  • Restart Visual Studio after installation
Creating a Logic App project is very straight forward. Please refer article from Jeff Hollan here.

BizTalk 2016 Logic App connector

BizTalk team announced the BizTalk Server 2016 connector for Logic Apps which connects the Logic App with BizTalk server via On-Premise Data Gateway. The gateway creates an outbound connection to Azure Service Bus. It communicates on outbound ports: TCP 443 (default), 5671, 5672, 9350 thru 9354. You have to ensure that firewall is not blocking these outbound ports. The gateway doesn’t require inbound ports. Logic Apps - data gateway Following are the prerequisites for connecting On-Premise BizTalk server with Logic Apps
  • Install the On-Premise Data Gateway on BizTalk Server
  • Create Gateway Resource in Azure Subscription
  • Install BizTalk Server 2016 Logic App Adapter
  • Create a Logic App that connects to BizTalk Server.
Please refer the article “Announcing the new BizTalk connector for Logic Apps” for detailed information.

BizTalk360 Logic App monitoring

As the integration landscape is changing, it is evident that hybrid integration is the way forward where both Logic Apps and BizTalk interfaces co-exist in an integration solution. Keeping this in mind, BizTalk360 team has brought Logic App monitoring capabilities into its latest release BizTalk360 8.1. Logic Apps - BizTalk360 To know more about Logic App monitoring in BizTalk360, please refer this article In depth look at Logic App monitoring.

End to End scenario

I wanted to start with creating a Logic App using Enterprise Integration Pack. I followed the steps in the article “Learn about receiving data using  the B2B  features  of the Enterprise Integration Pack”. This article will help you to create a Logic App to receive X12 message over AS2 and transform it into XML message. Logic Apps - AS2 X12 Note: As improvements are happening in Logic Apps constantly, there might be small changes in above mentioned Microsoft article. For example, I faced the below issue while creating AS2/X12 logic app. Logic Apps json Click to view the Azure Logic App Monthly Update – August 2016

Summary

It is an exciting time to be a BizTalk developer as we stretch our wings towards ‘cloud’ and BizTalk 2016 release is around the corner. Hopefully BizTalk360 team will try to follow up with few detailed level articles on Logic Apps.
You can download the entire article as a PDF document. BizTalk developers transitioning to the cloud.