# Microsoft BizTalk Server

Microsoft BizTalk Server is an inter-organizational middleware system (IOMS) that automates business processes through the use of adapters which are tailored to communicate with different software systems used in an enterprise. Created by Microsoft, it provides enterprise application integration, business process automation, business-to-business communication, message broker and business activity monitoring.
BizTalk Server was previously positioned as both an application server and an application integration server. Microsoft changed this strategy when they released the AppFabric server which became their official application server. Research firm Gartner consider Microsoft's offering one of their 'Leaders' for Application Integration Suites. The latest release of Biztalk (Biztalk Server 2020) was released on 15 January 2020.
In a common scenario, BizTalk integrates before going out and manages automated business processes by exchanging business documents such as purchase orders and invoices between disparate applications, within or across organizational boundaries.
Development for BizTalk Server is done through Microsoft Visual Studio. A developer can create transformation maps transforming one message type to another. For example, an XML file can be transformed to SAP IDocs. Messages inside BizTalk are implemented through the XML documents and defined with the XML schemas in XSD standard. Maps are implemented with the XSLT standard. Orchestrations are implemented with the WS-BPEL compatible process language xLANG. Schemas, maps, pipelines and orchestrations are created visually using graphical tools within Microsoft Visual Studio. The additional functionality can be delivered by .NET assemblies that can be called from existing modules—including, for instance, orchestrations, maps, pipelines, business rules.

## Version history

Starting in 2000, the following versions were released:
* 2000-12-01 BizTalk Server 2000
* 2002-02-04 BizTalk Server 2002
* 2004-03-02 BizTalk Server 2004 (First version to run on Microsoft .NET 1.0)
* 2006-03-27 BizTalk Server 2006 (First version to run on Microsoft .NET 2.0)
* 2007-10-02 BizTalk Server 2006 R2 (First version to utilize the new Windows Communication Foundation (WCF) via native adapter – (Release date 2 October 2007))
* 2010-04-27 BizTalk Server 2009 (First version to work with Visual Studio 2008)
* 2010-10-01 BizTalk Server 2010 (First version to work with Visual Studio 2010 and Microsoft .NET 4.0)
* 2013-03-21 BizTalk 2013 (First version to work with Visual Studio 2012 and Microsoft .NET 4.5)
* 2014-06-23 BizTalk 2013 R2 (First version to work with Visual Studio 2013 and Microsoft .NET 4.5.1)
* 2016-09-30 BizTalk Server 2016
* 2017-04-26 BizTalk Server 2016 Feature Pack 1 (Application Insights and Power BI integration; Swagger-compatible REST Management APIs)
* 2017-11-21 BizTalk Server 2016 Feature Pack 2 (Azure integration)
* 2018-06-26 BizTalk Server 2016 Feature Pack 3 (Office 365 integration)
* 2020-01-15 BizTalk Server 2020 (First version to work with Visual Studio 2019 and Microsoft .NET 4.7)

## Features

The following is an incomplete list of the technical features in the BizTalk Server:
* The use of adapters to simplify integration to line of business (LOB) applications (Siebel, SAP, IFS Applications, JD Edwards, Oracle, Microsoft Dynamics CRM), databases (Microsoft SQL Server, Oracle Database and IBM Db2) and other Technologies (TIBCO and Java EE)
* Accelerators offer support for enterprise standards like RosettaNet, HL7, HIPAA and SWIFT.
* Business rules engine (BRE). This is a Rete algorithm rule engine.
* Business activity monitoring (BAM), which allows a dashboard, aggregated (PivotTable) view on how the Business Processes are doing and how messages are processed.
* A unified administration console for deployment, monitoring and operations of solutions on BizTalk servers in environment.
* Built-in electronic data interchange (EDI) functionality supporting X12 and EDIFACT, as of BizTalk 2006 R2.
* Ability to do graphical modelling of business processes in Visual Studio, model documents with XML schemas, graphically mapping (with the assistance of functoids) between different schemas, and building pipelines to decrypt, verify, parse messages as they enter or exit the system via adapters.
* Users can automate business management processes via Orchestrations.
* BizTalk integrates with other Microsoft products like Microsoft Dynamics CRM, Microsoft SQL Server, and SharePoint to allow interaction with a user participating in a workflow process.
* Extensive support for web services (consuming and exposing)
* RFID support, as of BizTalk 2006 R2. Deprecated in the 2016 release
* Support for Application Insight, as of BizTalk Server 2016 Feature Pack 1
* Automatic deployment through Visual Studio Team Service, as of BizTalk Server 2016 Feature Pack 1
* Exposed management REST APIs with full Swagger support, as of BizTalk Server 2016 Feature Pack 1
* Exposed operational data with Power BI support, as of BizTalk Server 2016 Feature Pack 1
Human-centric processes cannot be implemented directly with BizTalk Server and need additional applications like Microsoft SharePoint server.

## Architecture

The BizTalk Server runtime is built on a publish/subscribe architecture, sometimes called "content-based publish/subscribe". Messages are published into BizTalk, transformed to the desired format, and then routed to one or more subscribers.
BizTalk makes processing safe by serialization (called "dehydration" in Biztalk's terminology) – placing messages into a database while waiting for external events, thus preventing data loss. This architecture binds BizTalk with Microsoft SQL Server. Processing flow can be tracked by administrators using an Administration Console. BizTalk supports the transaction flow through the whole line from one customer to another. BizTalk orchestrations also implement long-running transactions.

## Adapters

BizTalk uses adapters for communications with different protocols, message formats, and specific software products. Some of the adapters are: electronic data interchange, file, HTTP, SFTP, FTP SMTP, POP3, SOAP, SQL, MSMQ, MLLP, Azure Logic App, Azure API Management, Microsoft SharePoint Server, IBM mainframe zSeries (CICS and IMS) and midrange IBM i (previously AS/400) systems, IBM Db2, IBM WebSphere MQ adapters.
The WCF Adapter set was added with 2006 R2. It includes: WCF-WSHttp, WCF-BasicHttp, WCF-NetTcp, WCF-NetMsmq, WCF-NetNamedPipe, WCF-Custom, WCF-CustomIsolated adapters. Microsoft also ships a BizTalk Adapter Pack that includes WCF-based adapters for LOB systems. Currently, this includes adapters for SAP and Oracle database, Oracle E-Business Suite, Microsoft SQL Server, MySQL, PeopleSoft Enterprise and Siebel Systems.
Additional adapters (for Active Directory, for example) are available from third party Microsoft BizTalk core partners.