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 Sites, Azure Worker Roles, Identity and Access with Azure Active Directory, Azure Service Bus and MongoDB, HIPPA Compliant Apps in Azure and Offloading SharePoint Customizations to Azure and “Big Data” with Windows Azure HDInsight.
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.
- 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.
- 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.
- 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.)
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.
In 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.
- 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.
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.