Applied Microsoft Azure: Integration with Windows Azure BizTalk Services

Welcome to part ten of our blog series based on our latest Plural Sight course: Applied Azure. Previously, we’ve discussed Mobile Services, Big Compute, Azure Web SitesAzure Worker RolesIdentity and Access with Azure Active DirectoryAzure Service Bus and MongoDBHIPPA Compliant Apps in Azure and Offloading SharePoint Customizations to Azure and “Big Data” with Windows Azure HDInsight.

Motivation

A majority of organizations, especially e-commerce and m-commerce shops face the following challenges in support of business-to-business messaging across various platforms.

Messaging challenges:

  • Handling a wide variety of message types with different transport protocols.
  • Transformation of messages between heterogeneous systems.
  • Enriching messages to add custom data and customization.

Infrastructure challenges:

  • Scalability to handle fluctuations in volumes and payloads of the messages.
  • Availability to handle system failures with a failover strategy.
  • Security and Manageability.

Azure BizTalk Services is a simple, yet powerful, managed and extensible cloud-based integration platform as a service solution, which provides Business-to-Business (B2B), and Enterprise Application Integration (EAI) capabilities addressing all the above challenges.

Scenarios

  • Partner to partner integration: Integration with various partners and vendors outside the organizations firewall. (Supply chain management).
  • In House External systems: Integrating with various in-house heterogeneous systems (SAP, Mainframes…etc.)

Core Concept

The following diagram depicts the high level BizTalk services architecture.  A bridge is a single message processing unit concept that helps in message mediation. Each bridge consists of stages, which include validation, transformation, message enrichment, and supports both One-way and Two-way message exchange patterns.

biztalkIn the current release, message sources include Http(s), Ftp, Service Bus queue and a topic. Message destinations include FTP, External Service endpoints, Secure FTP and Service Bus queues and topics. Both X12 and EDIFACT EDI message types are supported along with flat and xml types.

BizTalk Services also includes BizTalk Adapter service components, which allow applications in the cloud to communicate with an On-Premise LOB system (e.g. ERP/CRM systems such as SAP, Siebel, etc.) behind a firewall with minimal code and configuration, achieved by generating a REST API.

Each tenant in BizTalk services is provided its own dedicated runtime that can be provisioned on an On Demand basis from the management portal. The portal also includes Trading Partner management – to create and manage partners, agreements for business-to-business messaging. Since the infrastructure is based on the Windows Azure platform, we get all the benefits of elastic computing.

Design Considerations

  • BizTalk Server on IaaS vs. BizTalk Services: BizTalk services is a managed offering which does not involve any of the infrastructure setup. However, it does not support all transport types that are part of the BizTalk server.
  • Scalability: BizTalk scaling is done in terms of units. A “unit” is the atomic level of an Azure BizTalk Services deployment. Each edition comes with units that have different compute capacity and memory. By default, there is one unit and we add or remove more units based on the message volume and desired throughput; which has a direct impact on the pricing.
  • Extensibility: The current version of BizTalk services provides the following extensibility hooks into the runtime.
    • Custom message Inspectors: similar to the BizTalk Server pipeline components where the message can be decoded, validated and enriched.
    • WCF behaviors: Behaviors can be used to implement custom security, caching, logging…etc.
  • Fault Tolerance: Microsoft guarantees 99.9% SLA and as BizTalk Services uses Microsoft Azure SQL Database that provides OOB fault tolerance.
  • Storage: BizTalk services use Azure SQL Database’s for tracking, monitoring and archiving.
  • Security: BizTalk services use the Azure Access control management services for its security implementation.

Summary  

Windows Azure BizTalk Services enables business scenarios like electronic data interchange and enterprise application integration. It provides built-in support for managing EDI agreements between partners, as well as setting up EAI bridges with on-premises LOB endpoints using BizTalk Adapter service, along with rich visual studio tooling.

About Madhukar Gilla

Madhukar is a seasoned results-driven SOA professional and a technical evangelist with over 10+ years of experience in BizTalk, Cloud and SharePoint technologies. As a Technical lead he is responsible for solution architecture, development, delivery and technical effort management. He was part of the BizTalk ESB development team at Microsoft.