# Microsoft BizTalk

Microsoft BizTalk Server, oft einfach nur als „BizTalk“ bezeichnet, ist ein Enterprise Service Bus. Durch Adaptoren, die speziell darauf ausgelegt sind, in großen Unternehmen zwischen Systemen zu kommunizieren, wird eine Automatisierung von Geschäftsprozessen ermöglicht. Dieses Microsoft-Produkt enthält folgende Funktionen: Enterprise Application Integration (EAI), Business Process Automation, Business-to-Business Communication, Message broker, und Business-Activity-Monitoring.
Im Standardfall ermöglicht BizTalk Firmen durch den Austausch von Geschäftsdokumenten, wie Bestellungen und Rechnungen zwischen zwei getrennten Applikationen, automatisierte Geschäftsprozesse zu integrieren und zu verwalten. Das ist innerhalb einer Organisation sowie über Unternehmensgrenzen hinweg möglich. Auf Anwender bezogene Prozesse können nicht direkt mit BizTalk implementiert werden. Das dafür entsprechende Microsoft-Produkt wäre hier der Microsoft-Sharepoint-Server.
Die Entwicklung für BizTalk erfolgt mit Microsoft Visual Studio. Ein Entwickler kann „Transformations Maps“ erzeugen, die einzelne Nachrichtentypen in andere verwandelt. Beispielsweise kann eine XML-Datei in ein SAP-IDocs-Format übersetzt werden. Diese Maps können in Visual Studio mit einem grafischen Designer erstellt werden. Weitere Funktionalität kann über .NET Assemblies bereitgestellt werden, die von bestehenden Modulen, wie „Instance Maps“ oder Adaptoren aufgerufen werden können. Datentransformationen (Maps) und auch Prozesse sind durch sogenannte „Orchestrierungen“ organisiert, die eine Visualisierung der Prozesse ermöglichen.

## Versionen für Windows

* 2000 – BizTalk Server 2001
* 2002 – BizTalk Server 2002
* 2004 – BizTalk Server 2004 (erste Version, die auf Microsoft .NET 1.0 aufbaut)
* 2006 – BizTalk Server 2006 (erste Version, die auf Microsoft .NET 2.0 aufbaut)
* 2007 – BizTalk Server 2006 R2 (erste Version, die die neue Windows Communication Foundation über einen Adapter verwendet)
* 2009 – BizTalk Server 2009 (erste Version für Visual Studio 2008)
* 2010 – BizTalk Server 2010 (erste Version für Visual Studio 2010)
* 2013 – BizTalk Server 2013 (erste Version, die auf Microsoft .NET 4.5 aufbaut, für Visual Studio 2012)
* 2014 – BizTalk Server 2013 R2 (.NET 4.5.1 und Visual Studio 2013)
* 2016 – BizTalk Server 2016
* 2020 – BizTalk Server 2020

## Features

Es folgt ein Auszug aus den technischen Features des BizTalk Servers:
* Die Verwendung von Adaptoren vereinfacht die Integration von „Line of Business Applicationen“ (z. B. Siebel, SAP, IFS Applications, JD Edwards, Oracle, Dynamics CRM), Datenbanken (Microsoft SQL Server, Oracle, DB2) und anderen Techniken (Tibco, Jakarta EE etc.)
* Eine Engine für die Modellierungen von Geschäftsregeln in einem pseudo-englischen Format. Es ist eine „forward chaining rule engine“.
* Business-Activity-Monitoring (BAM), welches ein Dashboard und eine grafische Sicht ermöglicht, wie die modellierten Prozesse ablaufen.
* Eine vereinheitlichte Administration Dashboard für das Monitoren von Deployments und Lösungen, zu BizTalk in der Systemumgebung.
* Eingebaute EDI-Funktionalität (Electronic Data Interchange), wie X12 und EDIFACT. (ab BizTalk 2006 R2)
* „Accelerators“, die Standards wie RosettaNet, HL7, SWIFT etc. unterstützen.
* Die Möglichkeit, Geschäftsprozesse in Visual Studio grafisch zu modellieren und zu mappen (mit der Hilfe von Functoids zwischen verschiedenen Nachrichtenformaten und durch Pipelines, um Nachrichten zu entschlüsseln, validieren und parsen, wenn sie über Adaptoren an das System kommen).
* Anwender können Geschäftsprozesse über Orchestrations automatisieren.
* BizTalk kann mit anderen Microsoft-Produkten integriert werden, wie Office, InfoPath und SharePoint, um auch Anwendern zu ermöglichen, im Workflow zu interagieren.
* Unterstützung von Webservices (Konsumieren und Bereitstellen)
* RFID-Support ab BizTalk 2006 R2

## Architektur

Die BizTalk-Server-Laufzeitumgebung baut auf einer Alert-Dienst Architektur auf, die manchmal auch „content-based publish/subscribe“ genannt wird. Nachrichten werden in das System publiziert und dann von mehreren Subscribern verwendet.
BizTalk sichert die Durchführung ab, indem Nachrichten in die Datenbank persistiert werden, während auf externe Ereignisse gewartet wird, um Datenverlust zu verhindern (im BizTalk-Jargon wird das „Dehydration“ genannt). Das bindet die Architektur an Microsoft SQL Server. Der Prozessablauf kann von Administratoren über GUIs getrackt werden.

## Adapter

BizTalk verwendet Adaptoren für die Kommunikation mit verschiedenen Protokollen und mit spezifischen Softwareprodukten wie SharePoint. Einige dieser Adaptoren, die im „Server 2006 product“ mitgeliefert wurden, sind: Base EDI (Covast), File, HTTP, FTP, SMTP, POP3, SOAP, SQL, MSMQT, Web Services Enhancements (WSE) 2.0 und der WSS-Adapter. Der WCF-Adapter wurde 2006 der Version R2 hinzugefügt.
Microsoft liefert auch das BizTalk Adapter Pack. Es beinhaltet Adaptoren für „Line of Business systems“. Das sind beispielsweise Adaptoren für SAP, Oracle-Datenbanken, Oracle E-Business Suite, SQL und Siebel.

## Alternativen

* Azure Integration Services von Microsoft
* WebSphere von IBM
* webMethods von Software AG
* SAP Process Integration
* Oracle Fusion Middleware
* Transconnect von SQL Projekt AG
* weitere Alternativen (auch Open-Source-Lösungen) unter ESB