Microsoft BizTalk 2013 - auris

Werbung
Microsoft BizTalk 2013
im Überblick
März 2013 | Version 4.0
Andreas Winterer
AURIS-CONSULT Enterprise Solutions GmbH
Hamerlingstr. 28, A-3300 Amstetten
FN 314552b, Landesgericht St. Pölten, UID: AT U64367045
Tel: +43-720-720 585-90, Fax: +43-720-720 585-77
www.auris-enterprise.at
© Copyright 2011 AURIS-CONSULT Enterprise Solutions GmbH alle Rechte Vorbehalten
Inhalt
1
Einleitung ........................................................................................................................................ 2
1.1
Was kann ich von Microsoft BizTalk Server 2013 erwarten? ................................................... 2
1.2
BizTalk in a Nutshell.................................................................................................................. 3
2
Anforderungen an eine EAI/BPM Plattform ................................................................................. 5
3
Einsatzszenarien ............................................................................................................................ 7
4
3.1
Automatisierung von unternehmensinternen Prozessen .......................................................... 7
3.2
Business to Business Integration (B2BI) .................................................................................. 8
3.3
Umfassendes Business Process Management ........................................................................ 9
Gesamtarchitektur und Module des BizTalk Servers ............................................................... 11
4.1
Messaging und Orchestration ................................................................................................. 13
4.2
Debugging von Geschäftsprozessen ...................................................................................... 15
4.3
Messaging Only Szenarien ..................................................................................................... 16
4.4
BizTalk Server Laufzeitumgebung .......................................................................................... 17
4.4.1
4.5
Enterprise Single Sign On ....................................................................................................... 20
4.6
Business Rules Engine ........................................................................................................... 21
4.7
Business Activity Monitoring ................................................................................................... 23
4.8
Entwicklungswerkzeuge .......................................................................................................... 24
4.8.1
Schema Editor ................................................................................................................. 24
4.8.2
Mapping Werkzeug .......................................................................................................... 25
4.8.3
Pipeline Designer ............................................................................................................. 26
4.8.4
Orchestration Designer .................................................................................................... 27
4.9
5
Weitere Funktionen der BizTalk Laufzeitumgebung ........................................................ 18
BizTalk Administrationsoberfläche .......................................................................................... 28
Abgrenzung des BizTalk Servers zu anderen Produkten von Microsoft ............................... 29
5.1
Abgrenzung des BizTalk Servers zu ETL Werkzeugen .......................................................... 29
5.2
Abgrenzung des BizTalk Servers zu Windows Server AppFabric .......................................... 30
5.2.1
Einführung in Windows Server AppFabric Hosting .......................................................... 30
5.2.2
Komponenten von Windows Server AppFabric Hosting ................................................. 31
5.2.3
BizTalk oder Windows Server AppFabric? ...................................................................... 33
5.3
Zusammenspiel von BizTalk und Windows Server AppFabric ............................................... 33
5.3.1
BizTalk Server 2013 AppFabric Connect ........................................................................ 34
6
Integration im Cloud-Computing Zeitalter ................................................................................. 35
7
Zusammenfassung....................................................................................................................... 37
Über den Autor .................................................................................................................................. 37
Andreas Winterer
Page i
1 EINLEITUNG
1.1 Was kann ich von Microsoft BizTalk Server 2013 erwarten?
Unternehmen, die im Stande sind, ihre Geschäftsprozesse effizient und jederzeit auszuführen, haben
gegenüber ihren Mitbewerbern einen klaren Wettbewerbsvorteil. Weitere Erfolgsfaktoren im Bereich
der Automatisierung von Geschäftsprozessen sind die Fähigkeit, Prozesse rasch an geänderte
Rahmenbedingungen anpassen zu können und neue Prozesse in kurzer Zeit zu etablieren. Der größte
Teil von heute existierenden Geschäftsprozessen basiert auf Software. Eine weitere Tatsache ist, dass
es kaum ein Unternehmen gibt, welches eine vollkommen homogene Softwarelandschaft betreibt, in
der alle wesentlichen Applikationen nahtlos ineinander greifen. Vielmehr sind in den verschiedenen
Bereichen von Unternehmen oft zu verschiedenen Zeiten und auf verschiedensten Plattformen
Softwarelösungen etabliert worden. Diese Lösungen wurden nach den Bedürfnissen des betroffenen
Unternehmensbereiches im Laufe der Jahre mehr oder weniger modernisiert und weiterentwickelt.

Enterprise Application Integration (EAI) und Business Process Management (BPM)
Wenn nun unternehmensweit, konzernweit oder firmenübergreifend die Automatisierung von
Geschäftsprozessen durchgeführt werden soll, ist neben der Abbildung des eigentlichen
Prozesses auch die Anbindung verschiedenartigster Systeme an diese Prozesse eine große
Herausforderung.

Electronic Data Interchange (EDI) und Business to Business Integration (B2BI)
Der elektronische Datenaustausch zwischen Unternehmen (EDI) und die Integration von
Geschäftsprozessen über die Unternehmensgrenze hinweg (B2BI) ist zwar kein neues Thema,
stellt jedoch nach wie vor, aus verschiedenen Gründen, für viele Unternehmen eine
Herausforderung dar.
Andreas Winterer
Page ii

BizTalk und Cloud Computing
Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing
Zeitalter” behandelt.
1.2 BizTalk in a Nutshell
Dieses Dokument gibt einen Überblick über die Funktionalität und den Aufbau des BizTalk Servers in
der aktuellen Version 2013. Die folgenden Ausführungen sollen einen Einstieg in die Thematik
ermöglichen.

Modern und ausgereift
Der BizTalk Server von Microsoft ist ein modernes und dennoch ausgereiftes Produkt mit
„Komplettausstattung“. Die aktuelle Version der BizTalk Server 2013 ist bereits die insgesamt
achte Version und die sechste Version des Produktes, die auf dem .NET Framework basiert.
Betrachtet man die Evolution des BizTalk Servers, sieht man den konsequenten Weg, den
Microsoft bei der Unterstützung der jeweils aktuellsten Plattformen beschreitet. Für BizTalk
2013 bedeutet dies ein auf Windows Communication Foundation (WCF) basierendes
Adapterframework und die Unterstützung von Windows Server 2012 und SQL Server 2012 als
Infrastruktur für den Server, sowie Visual Studio 2012 als Entwicklungsumgebung.

Verbindungsfähigkeit
Microsoft hat seit der Einführung von BizTalk 2000 laufend in den Ausbau der
Applikationsadapter investiert und liefert heute mehr als 40 verschiedene Adapter und
Accelerators mit dem Produkt aus. Alle Adapter von Microsoft sind in allen Editionen (mit
Ausnahme der Branch Edition) des BizTalk Servers ohne zusätzliche Lizenzkosten enthalten. Die
Palette der verfügbaren Adapter und Accelerators umfasst unter anderem Adapter für SAP R/3,
Oracle, Siebel und die Integration von Hostsystemen sowie Accelerators für SWIFT und HL7.
Darüber hinaus verfügen alle Editionen des BizTalk Servers über eine ebenfalls in der Lizenz
bereits enthaltene Unterstützung für RFID und eine komplette EDIFACT Lösung mit über 8.000
EDIFACT Schemas.
Andreas Winterer
Page iii

Unterstützung für Anwender
Microsoft stellt auch laufend neues Material zur Verfügung, um seine Partnern und Kunden bei
der Implementierung des Produktes zu unterstützen. Als ein Beispiel dafür sei hier die Microsoft
ESB (Enterprise Service Bus) Guidance angeführt. Die Microsoft ESB Guidance bietet einen
Leitfaden für die Gestaltung der Architektur, „Patterns and Practices“ und ein Set von BizTalk
Server und .NET Komponenten, welche die Entwicklung von ESB Lösungen verschiedener
Größenordnungen auf der Microsoft Plattform vereinfachen. Für IT-Professionals, die BizTalk
Server in unternehmenskritischen Umgebungen betreiben, bietet der „BizTalk Server
Operations Guide“ wertvolle Unterstützung für das Deployment und den Betrieb des BizTalk
Servers.

Investitionsschutz
Alle Adapter, die seit Version 2004 von einem Kunden zugekauft oder auf dem BizTalk Adapter
Framework selbst entwickelt wurden, sind auch auf der aktuellsten Version des BizTalk Servers
noch verwendbar. Alle Applikationen, die auf Basis BizTalk seit der Version 2004 entwickelt
wurden, können ohne Veränderungen (sogar ohne Neukompilierung) auch auf der aktuellsten
BizTalk Version ausgeführt werden.

Große Auswahl an Spezialisten
Microsoft investiert auch stark in seine Partnerlandschaft, um die Anzahl der Partner mit „SOA
& Business Process“ Kompetenz auszubauen und die Qualifikation der bereits in diesem Bereich
etablierten Partner weiter zu heben. Viele Microsoft Partner punkten auch durch ihr
branchenspezifisches Know-How und können maßgeschneiderte Lösungen für spezielle
Einsatzbereiche anbieten, welche dennoch auf Standardsoftware von Microsoft basieren.
Mit dem Microsoft BizTalk Server 2013 steht also eine Plattform zur Verfügung, die sowohl die
Abbildung von komplexen Geschäftsprozessen als auch die Anbindung verschiedenster
Softwareapplikationen und das Management von elektronischem Datenaustausch mit
Geschäftspartnern ermöglicht.
Andreas Winterer
Page iv
2 ANFORDERUNGEN AN EINE EAI/BPM PLATTFORM
An eine Plattform, die sowohl den Bereich EAI (Enterprise Application Integration) als auch den Bereich
BPM (Business Process Management) abdeckt, werden eine Reihe von Anforderungen gestellt, die
nachfolgend aufgelistet werden.

Kommunikation über verschiedene Protokolle und Anbindung an verschiedene
Applikationen
Viele moderne Anwendungen verfügen heute über Web Service Schnittstellen, es existieren
jedoch auch noch viele Applikationen, die nur über simple Datei-Import / -Export Schnittstellen
mit anderer Software kommunizieren können. In anderen Situationen ist eine Integration über
Message-Queuing oder über direkten Zugriff auf die Datenbank die beste Option für eine
Integration. Um diese breite Palette von Möglichkeiten abzudecken, muss die Plattform
Unterstützung von Standardprotokollen, wie zum Beispiel FTP und http, sowie von
herstellerspezifischen (proprietären) Protokollen (z.B. SAP-RFC) und den Zugriff auf
Datenbanksysteme von verschiedenen Herstellern bieten. Des Weiteren sind standardisierte
Datenformate (z.B. EDIFACT, SWIFT, HL7) und applikationsspezifische Datenformate (z.B. SAP
IDOC) zu unterstützen. Eine Erweiterung der Plattform um zusätzliche Kommunikationsmodule
und Datenformate muss möglich sein.

Abbildung und Ausführung von Geschäftsprozessen
Über den reinen Datenaustausch zwischen Systemen hinaus ist die Abbildung und zentrale
Ausführung von Geschäftsprozessen ein wesentlicher Anspruch an eine BPM Plattform. Der
Mehrwert für ein Unternehmen wird durch das übergreifende Orchestrieren von
Geschäftsprozessen erreicht, deren Teilprozesse auf verschiedene Systeme verteilt sind. Für die
Definition der Geschäftsprozessablauflogik sind grafische Werkzeuge gefordert, die sowohl die
initiale Implementierung als auch eine spätere Änderung oder Erweiterung der Prozesse mit
geringem Aufwand ermöglichen. Die höhere Effizienz bei der Entwicklung und Wartung ergibt
sich nicht zuletzt aus der Tatsache, dass die grafischen Werkzeuge, im Gegensatz zu einer
Darstellung nur in Programmcode, eine bessere Übersicht gewährleisten.

Anbindung von Geschäftspartnern
Die unternehmensübergreifende Abbildung von Geschäftsprozessen sollte so einfach wie
möglich sein. Dazu müssen Standards zum Austausch von Daten zwischen Unternehmen, wie
zum Beispiel EDIFACT, SWIFT oder RosettaNet, in die Plattform integriert sein.

Skalierung & Ausfallssicherheit
Eine BPM Plattform muss den Anforderungen der abzubildenden Geschäftsprozesse
entsprechend skalierbar und ausfallsicher sein. Prozesse müssen im Falle einer Unterbrechung
von ihrem letzten als konsistent bekannten Punkt aus wieder aufgenommen werden können.
Prozesse deren „Lebensdauer“ sehr lang ist, die jedoch nur sehr kurze aktive Phasen haben,
welche von längeren Wartephasen unterbrochen werden, dürfen sich nicht negativ auf die
Leistungsfähigkeit des BPM Systems selbst auswirken und dürfen auch auf den beteiligten
Systemen keine Ressourcen blockieren.

Flexible Regeln für Prozesse
Andreas Winterer
Page v
Da der Ablauf von Prozessen oft durch komplexe Regeln beeinflusst wird, besteht eine Aufgabe
der Plattform in der Bereitstellung eines flexiblen Frameworks zur Abbildung dieser Regeln.
Diese Regeln müssen unabhängig von der Prozessimplementierung änderbar sein und sollten
von „nicht Programmierern“ erstell- und bearbeitbar sein.

Echtzeit-Überwachung von Prozessen
Abläufe, die über viele Systeme hinweg operieren, erfordern ein entsprechendes
Überwachungswerkzeug. Die Überwachung gliedert sich in den technischen Bereich, welcher
die Verfügbarkeit der Plattform selbst und die technische Fehlerbehandlung umfasst, sowie in
den anwendungsorientierten Teil, der die Überwachung von KPI’s (Key Performance Indicators)
und die Behandlung von Ausnahmesituationen beim Über- oder Unterschreiten von definierten
Schwellwerten (z.B. Überschreitung der maximalen Zeitspanne für die Bearbeitung eines
Kundenauftrags) umfasst. Der Nutzen von Informationen über Geschäftsprozesse steigt, wenn
diese möglichst zeitnah zur Verfügung stehen und die Benutzer aktiv auf Ausnahmesituationen
hingewiesen werden. Eine Echtzeit-Überwachung von KPI‘s ist somit wünschenswert.

Plattform- und applikationsübergreifende Authentifizierung von Benutzern
Die Interaktion mit verschiedensten Softwaresystemen auf unterschiedlichen
Systemplattformen erfordert das Vorhandensein eines Moduls, welches den Zugriff auf diese
Zielsysteme verwaltet. Da dieses Modul bzw. Subsystem der Plattform mit sensiblen Daten
(Usernamen, Passwörter, etc.) operiert, sind diese Daten entsprechend sicher zu verwahren
(Verschlüsselung des Datenspeichers).
Der Microsoft BizTalk Server unterstützt Unternehmen dabei, diese und andere Aufgabenstellungen
zu lösen und den Ablauf von Geschäftsprozessen zu optimieren.
Andreas Winterer
Page vi
3 EINSATZSZENARIEN
Um die Funktionsweise des BizTalk Servers zu veranschaulichen, wird hier zunächst ein Überblick über
die primären Einsatzbereiche des BizTalk Servers gegeben.
3.1 Automatisierung von unternehmensinternen Prozessen
Die Automatisierung von Prozessen innerhalb von Unternehmen wird zunehmend von
serviceorientierten Ansätzen geprägt. Der Ursprung für die Entwicklung im Bereich der
Systemintegration, welcher in den Ideen der Service Oriented Architecture (SOA) mündet, liegt in der
Tatsache begründet, dass in immer mehr Unternehmensbereichen spezialisierte Software zum Einsatz
kommt. In den frühen Tagen dieser Entwicklung handelte es sich bei den eingesetzten
Softwareprodukten sehr oft um Insellösungen, welche wenn überhaupt nur über einfache
Datenimport/-Export Mechanismen miteinander ‚integriert‘ waren. In weiterer Folge wurden zumeist
auf Batchverarbeitung basierende ‚Schnittstellen‘ entwickelt (vielfach Individualprogrammierung). Mit
dem Bedürfnis, die meist rein datenmäßige Integration von Systemen zu standardisieren, entstanden
die ersten Produkte in der Kategorie EAI (Enterprise Application Integration). Mit BizTalk Server lässt
sich die Brücke zwischen „klassischem EAI“ und „moderner SOA“ schlagen, wie das folgende Beispiel
zeigt:
Ein Unternehmen betreibt seine Software für die Produktionsplanung und –Steuerung (PPS) sowie sein
Lagerverwaltungssystem (LVS) auf einem IBM-Hostsystem. Einkauf, Finanz- und Anlagenbuchhaltung
sowie Controlling erfolgen auf SAP R/3. Für Lieferanten, die keine elektronischen Bestellungen
entgegennehmen und keine Auftragsbestätigungen und Lieferavisos elektronisch übermitteln, wird ein
Lieferantenportal zur Verfügung gestellt. Das Lieferantenportal bietet den Lieferanten die Möglichkeit,
neue Bestellungen über eine Web-Oberfläche herunterzuladen und Auftragsbestätigungen sowie
Lieferavisos am Portal direkt einzugeben. Im Beispiel wird der Beschaffungsprozess für Materialien
gezeigt, die von einem Lieferanten bezogen werden, der über das Lieferantenportal in den
Beschaffungsprozess eingebunden ist.
Andreas Winterer
Page vii
Prozessbeschreibung:
Schritt Beschreibung
1
Das LVS erzeugt beim Unterschreiten eines Lagerstandschwellwertes eine Nachricht in
einer MQSeries Messagequeue (die Nachricht enthält im Wesentlichen die betroffene
Materialnummer)
2
Der BizTalk MQSeries Adapter nimmt die Nachricht entgegen und startet am BizTalk
Server den Beschaffungsprozess
3
Die MQSeries Nachricht wird in eine Struktur konvertiert, welche als Input für das Anlegen
der Bestellung am SAP R/3 System benötigt wird. (Mapping)
4
Die in Schritt 3 erzeugte Struktur wird an den BizTalk SAP R/3 Adapter übergeben.
5
Der BizTalk SAP R/3 Adapter startet über SAP-RFC das BAPI *), welches die Bestellung
am SAP System anlegt. Das Ergebnis des BAPI Aufrufes wird an den Adapter (synchron)
zurückgegeben.
6
Das Ergebnis des BAPI Aufrufes aus Schritt 5 wird vom Adapter an den Prozess
zurückgegeben.
7
Die Daten aus Schritt 6 werden für den folgenden WebService Aufruf aufbereitet.
(Mapping)
8
Die in Schritt 7 aufbereiteten Daten werden an den BizTalk SOAP Adapter übergeben.
9
Der SOAP Adapter ruft den WebService des Lieferantenportals auf und legt die Bestellung
an, welche vom Lieferanten über einen Web-Browser angesehen und heruntergeladen
werden kann.
*)
Ein ‚BAPI‘ (Business Application Programming Interface) kapselt eine Funktion des SAP Systems und kann von externen
Systemen aufgerufen werden.
Anmerkung: Hier wurde aus Platzgründen nur der erste Teilprozess dargestellt, für Auftragsbestätigung und Lieferaviso sind
weitere Teilprozesse erforderlich, um den Gesamtablauf zu implementieren.
3.2 Business to Business Integration (B2BI)
Schon seit langer Zeit beschränken sich Geschäftsprozesse nicht nur auf den Bereich innerhalb von
Unternehmen, sondern laufen vielmehr unternehmensübergreifend ab. Als nur ein Beispiel sei hier die
Automobilindustrie angeführt, wo zahlreiche Zulieferbetriebe in den Produktionsprozess des
eigentlichen Fahrzeugherstellers eng eingebunden sind. Da sich der elektronische Datenaustausch
zwischen Firmen (Electronic Data Interchange oder kurz EDI) schon lange vor der Entwicklung von XML
und Web Services etablierte, wurden auch schon vor langer Zeit Standards dafür geschaffen. Obwohl
man durchaus sagen könnte, dass EDI eine ‚alte Technologie‘ ist (die Anfänge gehen in die 1970er Jahre
zurück), spielt EDI trotzdem eine große Rolle im Bereich der B2B Integration. Ein Grund für den - in
Informationstechnologiezyklen gemessen - langen Bestand dieser Technologie sind die teilweise sehr
hohen Investitionen die von Unternehmen in EDI Implementierungen getätigt wurden. Der in Europa
meist genutzte EDI Standard ist wohl UN/EDIFACT (United Nations Electronic Data Interchange For
Administration, Commerce and Transport).
Das folgende Beispiel zeigt in vereinfachter Form eine real existierende B2B Implementierung, welche
auf BizTalk Server basiert:
Organisation A, ein Hersteller von Computersystemen (PC’s, Notebooks und Server sowohl für
Privatkunden als auch für Firmenkunden) hat den Kundenservice (Garantietausch und Reparatur von
Andreas Winterer
Page viii
Hardware, etc.) an einen Dienstleister die Organisation B ausgelagert. Die Kunden von Organisation A
melden Störungen im Call-Center von Organisation A, die erstellten Tickets werden an Organisation B
übermittelt, wo die Einsatzplanung der Servicetechniker und die Durchführung der Servicearbeiten für
den Kunden (direkt beim Kunden Vorort oder bei ‚Bring-In‘ Reparaturen im Servicecenter von
Organisation B) abgewickelt werden (Eine Variante des Ablaufes ist noch, dass ein Kunde von
Organisation A auch ohne vorher im Call-Center anzurufen direkt zum Servicecenter von Organisation
B kommen kann, um seine Hardware zur Reparatur abzugeben, dieser Fall wird, um das Beispiel
überschaubar zu halten, hier nicht behandelt.). Der Hersteller (Org. A) verwendet SAP R/3 und eine
individuell entwickelte Call-Center Applikation. Der Dienstleister (Org. B) hat das gesamte
Servicemanagement in seinem Microsoft Dynamics NAV (Navison) System abgebildet (überwiegend
Individualprogrammierung).
Anmerkung: Das Bild zeigt den Teilprozess für die Übermittlung neuer Tickets. Bei der Bearbeitung der Tickets durch Org. B
werden laufend Statusupdates im Navison System erzeugt (Terminvereinbarung mit dem Kunden erfolgt, Hardwaretausch
erfolgt, bis hin zum Schließen des Tickets), diese Statusupdates werden in einem gesonderten Teilprozess an Org. A
übermittelt.
3.3 Umfassendes Business Process Management
Die Abbildung und effiziente Ausführung von Geschäftsprozessen ist eines der primären Ziele des
BizTalk Servers. Bei der Automatisierung von Geschäftsprozessen – ob nun innerhalb des
Unternehmens oder unternehmensübergreifend – handelt es ich aber nur um einen Teilbereich der
Aufgaben aus dem weiten Feld des Geschäftsprozessmanagements, das auch als Business Process
Management oder kurz BPM bezeichnet wird. Geschäftsprozessmanagement geht weit über das
Integrieren von Systemen und das Ausführen von systemübergreifenden Prozessen hinaus. BPM ist
selbst ein permanenter Optimierungsprozess, der zum Ziel hat, laufend die Effizienz von Prozessen zu
steigern und Veränderungen im Umfeld in die Prozesssteuerung einfließen zu lassen. Um diesen
Optimierungsprozess in Gang zu bringen, werden zwei Bausteine benötigt: ein ‚Sammelmechanismus‘,
welcher laufend Messdaten aus den Geschäftsprozessen in einer Datenbank kumuliert zur Verfügung
Andreas Winterer
Page ix
stellt, und ein Element, welches es ermöglicht, die aus den gesammelten Daten gewonnenen
Erkenntnisse möglichst schnell wieder in die Steuerung des Prozesses einfließen zu lassen. Der
Sammelmechanismus des BizTalk Servers ist das Business Activity Monitoring (BAM) und das steuernde
Element die Business Rules Engine (BRE). Die folgende Abbildung soll den BPM-Kreislauf
veranschaulichen.
In den Kapiteln über das Business Activity Monitoring und die Business Rules Engine wird auf die
Funktionalitäten und Aufgaben der beiden Module eingegangen.
Andreas Winterer
Page x
4 GESAMTARCHITEKTUR UND MODULE DES BIZTALK
SERVERS
Dieser Abschnitt beschreibt die Module und Werkzeuge, welche vom BizTalk Server zur Verfügung
gestellt werden, um die im vorigen Abschnitt angesprochenen Aufgaben zu lösen. Die beiden
wichtigsten Module des BizTalk Servers sind Messaging und Orchestrations.

Messaging
Die wesentliche Aufgabe des BizTalk Server Messaging ist es, Nachrichten (Messages) zu senden
und zu empfangen. Der Anknüpfungspunkt an die sendenden und empfangenden Applikationen
bilden die Adapter des BizTalk Servers, welche verschiedene Protokolle implementieren (FTP,
HTTP, etc.) oder die Verbindung zu LOB (Line of Business Systemen, wie z.B. SAP) herstellen.
Daten, die von Adaptern entgegengenommen oder versendet werden sollen, können innerhalb
des Messagings in verschiedenster Weise verarbeitet werden. Zu den Möglichkeiten, die Daten
zu verarbeiten, zählen unter Anderem die Konvertierung des Datenformates (z.B. CSV  XML
oder XML  EDIFACT), das Daten-Mapping oder die Prüfung von Signaturen. Viele Aufgaben im
EAI und B2B Bereich, die ein reines Austauschen von Nachrichten zwischen Systemen erfordern,
lassen sich alleine mit den Mitteln lösen, welche vom BizTalk Messaging zur Verfügung gestellt
werden.

Orchestrations
Mit Orchestrations lassen sich Aufgaben lösen, welche die Implementierung von Ablauflogik für
Geschäftsprozesse erfordern. Sollen mehrere voneinander getrennte Applikationen Teile ihrer
Funktionalität für einen Geschäftsprozess zur Verfügung stellen, wird eine Instanz benötigt,
welche die Reihenfolge des Zugriffs auf die Systeme und Verzweigungen im Prozess festlegt.
Eine weitere Aufgabe dieser zentralen Instanz ist es, im Fehlerfall entsprechende Vorgänge
auszulösen, um die Datenkonsistenz auf den angeschlossenen Systemen sicherzustellen.

Enterprise Single Sign On
Sollen Systeme verschiedener (Software-) Hersteller integriert werden, müssen beim Zugriff auf
diese Systeme entsprechende Benutzernamen, Passwörter, etc. zur Verfügung stehen.
Einerseits sind diese Informationen entsprechend ihrer Sensibilität zu behandeln (verschlüsselte
Abspeicherung), andererseits bedarf es eines Mechanismus um eine Zuordnung von Windows
Accounts zu Benutzeraccounts auf Backend-Systemen zu bewerkstelligen. Zweiteres ist
notwendig, wenn zum Beispiel ein Benutzer über eine Web-Applikation einen Geschäftsprozess
initiiert, welcher über den BizTalk Server wiederum auf sensible Daten in einem ERP System wie
SAP zugreift. In solchen Fällen ist es erforderlich den Windows Account einem personalisierten
Benutzeraccount am ERP System zuzuordnen, um den Schutz der Daten im ERP System zu
gewährleisten.

Business Activity Monitoring
BizTalk ermöglicht es, Geschäftsprozesse durch die Verbindung von mehreren Systemen zu
implementieren. Die Benutzer dieser Geschäftsprozesse haben das Bedürfnis sich über den
Status von Geschäftsprozessen informieren zu können. Um den Benutzern ein möglichst
genaues Bild des momentanen Zustandes von einem oder auch einer Gruppe von Prozessen
Andreas Winterer
Page xi
geben zu können, sammelt das Business Activity Monitoring permanent Daten aus den
ablaufenden Prozessen und kumuliert diese in einer Datenbank. Für den Anwender steht das
BAM Portal, eine Web-Anwendung, zur Verfügung, welche es erlaubt, vorgefertigte
Auswertungen abzurufen und auch ad hoc Abfragen zu machen.

Business Rules Engine
Während die Ablauflogik eines Geschäftsprozesses zumeist relativ statisch ist und nur selten
grundlegend abgeändert wird, sind die Regeln, welche den Prozess steuern, unter Umständen
sehr kurzen Änderungszyklen unterworfen. Die Business Rules Engine (BRE) ermöglicht die
Trennung von Ablauflogik (= Orchestration) und Steuerung der Ablauflogik (= BRE) in eigene
Einheiten.

EDI Services
Die EDI Funktionalitäten des BizTalk Servers 2009 stellen eine komplett neue Implementierung
einer an sich ‚alten‘ Technologie dar. Die Anfänge von EDI bzw. EDIFACT gehen in die 1970er
Jahre zurück, damals haben Unternehmen begonnen elektronische Dokumente auszutauschen.
Um diesen Dokumentenaustausch zu vereinheitlichen wurde der UN/EDIFACT (United Nations
Electronic Data Interchange For Administration, Commerce and Transport) Standard geschaffen.
Da viele, vor allem größere Unternehmen, in EDIFACT zum Teile erhebliche Investitionen
getätigt haben, ist die Hemmschwelle diese EDI Implementierungen durch neue auf XML
aufbauende Lösungen zu ersetzen sehr hoch. BizTalk verfügt über eine robuste EDI
Komplettlösung die sehr gut in die Gesamtarchitektur integriert ist.

Entwicklungswerkzeuge
Die Entwicklungswerkzeuge des BizTalk Servers sind in das Visual Studio von Microsoft integriert
und umfassen folgende Einzelwerkzeuge:




Orchestration Designer (Ablauflogik)
Schema Editor (Erstellung von Schemas für alle Datenformate inkl. EDIFACT und ‘FlatFiles’)
Pipeline Designer (Prüfung und Bearbeitung von Nachrichten z.B. prüfen von
Signaturen)
Mapping (Umformen von Dokumenten von einem Quellformat in ein beliebiges Zielformat
z.B. EDIFACT  XML)
Mit diesen Werkzeugen lassen sich alle Aufgaben im Bereich der Systemintegration und der
Abbildung von Geschäftsprozessen lösen.

Werkzeuge für Power User
Die Werkzeuge zum Erstellen von Business Rules für die Business Rules Engine sowie die
Designer des Business Activity Monitorings sind nicht im Visual Studio integriert, da sich diese
Werkzeuge nicht nur an Softwareentwickler wenden sondern auch von „Power-Usern“
eingesetzt werden. Das Werkzeug zum Erstellen von Business Rules der Rules Designer ist ein
‚standalone Tool‘, welches unabhängig von anderen Werkzeugen des BizTalk Servers installiert
und verwendet werden kann. Die Designwerkzeuge des Business Activity Monitorings sind in
Visio bzw. Excel integriert.
Andreas Winterer
Page xii
4.1 Messaging und Orchestration
Zur Abbildung von Geschäftsprozessen, die mehrere Applikationen umfassen bzw. verbinden, werden
im Wesentlichen zwei Funktionalitäten des BizTalk Servers verwendet: die Orchestration zum Abbilden
des eigentlichen Prozesses und das Messaging, welches den Transport der Daten von/zu den
angebundenen Systemen übernimmt.
Wie im Bild zu sehen ist, werden eingehende Nachrichten (Messages) durch einen Receive Adapter
entgegengenommen. Verschiedene Adapter implementieren unterschiedliche Transportprotokolle
wie z.B. FTP, SOAP oder den Zugriff auf eine Datenbank. Die Nachricht wird dann in einer Receive
Pipeline verarbeitet. Eine Pipeline kann verschiedene Komponenten enthalten, welche zum Beispiel
eine Nachricht von ihrem Ausgangsformat (z.B. CSV) in XML umwandeln, die Struktur der Nachricht
überprüfen, eine digitale Signatur prüfen und vieles andere mehr. Die Kombination aus Receive
Adapter und Receive Pipeline wird als Receive Location bezeichnet. Die Nachricht wird danach in einer
SQL Server Datenbank - der MessageBox - gespeichert. Die MessageBox stellt die
Transaktionssicherheit bzw. Konsistenz der Zustände zwischen den angebundenen Systemen her, da
die Kommunikation mit den angebundenen Systemen über Transaktionen abgesichert wird.
Ein Geschäftsprozess wird in der Form von einer oder mehreren Orchestrations dargestellt, welche aus
einem ausführbarem Code bestehen. Diese Orchestrations werden jedoch nicht durch das Schreiben
von Code in einer Sprache wie C# erstellt, sondern mit Hilfe eines grafischen Werkzeuges, das es
ermöglichet, vordefinierte Bausteine zu einer Prozessablauflogik zusammenzusetzen. Einzelne
Bausteine implementieren Funktionen wie Schleifen, Entscheidungen (if/then/else) oder
Transaktionen.
Andreas Winterer
Page xiii
Jede Orchestration meldet sich bei der MessageBox an und gibt bekannt, welche Messages an diese
Orchestration übermittelt werden sollen. Dieser Mechanismus wird als das Erzeugen einer
Subscription bezeichnet. Wenn nun eine entprechende Message in der MessageBox einlangt, wird
diese den Orchestrations zugestellt, die eine Subscription für die entsprechende Nachricht erstellt
haben. Die Orchestration wird in diesem Fall als Subscriber bezeichnet. Die Kriterien, nach denen Filter
für eine Subscription gesetzt werden können, reichen von der Nachrichtenart über Eigenschaften der
Nachricht, wie zum Beispiel dem Absender der Nachricht, bis hin zu Inhalten der Nachricht.
Das Ergebnis der Verarbeitung in der Orchestration wird typischerweise wieder in Form einer neuen
Nachricht in der MessageBox abgelegt. Als nächstes wird diese Nachricht einer Send Pipeline
übermittelt. Eine Send Pipeline stellt das Gegenstück zu einer Receive Pipeline dar und übernimmt
Aufgaben wie das Umwandeln der Nachricht von XML in ein applikationsspezifisches Format oder das
Hinzufügen einer digitalen Signatur. Die Nachricht wird dann von einem Send Adapter an die
Zielapplikation übermittelt. Send Adapter implementieren so wie Receive Adapter ein spezifisches
Transportprotokoll.
Konfiguration einer Receive Location die den WCF-WSHttp Adapter verwendet.
Andreas Winterer
Page xiv
4.2 Debugging von Geschäftsprozessen
Der BizTalk Server verfügt über einen grafischen Debugger, der zwei Betriebsarten aufweist. In der
ersten Betriebsart „Live-Modus“ können Geschäftsprozesse (Orchestrations) Schritt für Schritt
ausgeführt werden. Dieser Modus ist vergleichbar mit einem normalen Code Debugger nur, dass hier
keine Codezeilen einzeln ausgeführt werden sondern Orchestrations Prozess-Schritt für Prozess-Schritt
untersucht werden können. In der zweiten Betriebsart „Reporting Modus“ können bereits beendete
Orchestrations unter die Lupe genommen werden. Dies ist möglich, weil die Runtime des BizTalk
Servers in der Tracking-Datenbank jeden Prozessschritt genau protokolliert. Dieser Modus kann zum
Beispiel dazu verwendet werden, laufzeitintensive Prozessschritte zu identifizieren, da die
Protokollierung den Beginn und das Ende jedes Prozessschrittes auf Millisekunden genau aufzeichnet.
Debugger Live-Modus
Andreas Winterer
Page xv
Debugger Reporting Modus
4.3 Messaging Only Szenarien
Die Kombination aus Send Pipeline und Send Adapter wird in der Konfiguration des BizTalk Servers als
Send Port bezeichnet. Ein Send Port kann genau so wie eine Orchestration Subscriptions erzeugen.
Daher ist es ist nicht zwingend erforderlich, dass eine Verarbeitung auf dem BizTalk Server immer eine
Orchestration enthält.
Andreas Winterer
Page xvi
Receive Locations werden in Receive Ports gruppiert. Pro Receive Port kann ein Inbound Mapping
konfiguriert werden, welches es ermöglicht, die eingehende Nachricht zu konvertieren. Analog zum
Inbound Mapping gibt es auch ein Outbound Mapping, welches im Send Port konfiguriert werden
kann. Send Ports können in Send Port Gruppen zusammengefasst werden.
Das von einem Send Port verwendete Protokoll kann entweder bei der Definition des Ports durch den
Administrator bzw. Entwickler festgelegt werden, oder aber auch zur Laufzeit dynamisch bestimmt
werden. Neben diesen so genannten Dynamic Ports bietet der BizTalk Server noch weitere Features,
welche in Kombination eine sehr mächtige „Routing Engine“ bilden.
4.4 BizTalk Server Laufzeitumgebung
Eine BizTalk Applikation besteht aus verschiedenen Artefakten, wie z.B. Mappings, Schemas, Policies
und Orchestrations. Ein weiterer Bestandteil von BizTalk Applikationen sind Send- und Receive-Ports
sowie Receive-Locations. Die Laufzeitumgebung des BizTalk Servers muss Betriebssystemprozesse für
die Ausführung („für das Hosting“) von folgenden Komponenten zur Verfügung stellen:
-
Orchestrations
Receive-Locations
Send-Ports
Die anderen Artefakte werden als Teil der drei vorher genannten Artefakte ausgeführt, ein Mapping
zum Beispiel kann in einer Orchestration, in einem Send-Port oder auch als Teil eines Receive-Ports
ausgeführt werden.
Andreas Winterer
Page xvii
Um in Mulitserverumgebungen keine Affinität zwischen einem physischen Server bzw. einem
Betriebssystemprozess, der als Host dient, und einer bestimmten Orchestration, einem Send-Port oder
einer Receive-Location zu schaffen, wird zwischen dem logischen Host und den zugehörigen
Hostinstanzen unterschieden. Das folgende Bild soll dieses Konzept veranschaulichen.
Über die Konfiguration einer BizTalk Applikation werden Zuordnungen von Orchestrations, ReceiveLocations und Send-Ports zu Hosts getroffen. Die Ausführung der zugeordneten Artefakte wird jedoch
von den Hostinstanzen (= OS Prozesse) übernommen, welche auf verschiedenen Servern ausgeführt
werden. Eine Orchestration zum Beispiel muss also nicht ‚wissen‘ welche Server es gibt, sondern die
BizTalk Server Runtime führt ein Load Balancing durch und sorgt dafür, dass die Orchestration auf einer
der Hostinstanzen des entsprechenden Hosts ausgeführt wird.
4.4.1 Weitere Funktionen der BizTalk Laufzeitumgebung
4.4.1.1 Persistenz
Da Geschäftsprozesse unter Umständen Stunden, Tage, Wochen oder sogar Monate vom Zeitpunkt
der Initiierung bis zum Beenden „am Leben“ bleiben, muss die Laufzeitumgebung eines BPM Servers
entsprechende Funktionen zum Konservieren von Zuständen anbieten. Auf dem BizTalk Server
übernimmt die MessageBox diese Aufgabe. Alle Nachrichten, die in Bearbeitung sind und noch nicht
erfolgreich an ein Zielsystem übermittelt wurden, sind in der MessageBox zwischengespeichert.
Orchestrations werden jedesmal wenn ein konsistenter Zustand erreicht wird, in der MessageBox
persistiert. Orchestrations, die inaktiv sind, werden von der Laufzeitumgebung des BizTalk Servers aus
dem Speicher genommen, da der Zustand von dem die Geschäftsprozesse wieder weiter ausgeführt
werden können zuvor automatisch in der MessageBox konserviert wurde.
Andreas Winterer
Page xviii
4.4.1.2 Fehlertoleranz
Systemübergreifende
Geschäftsprozesse bergen
ein großes Potential für
Fehler, die während der
Ausführung
auftreten
können. Unterbrochene
Netzwerkverbindungen,
Programmfehler
auf
Systemen, die an den
Geschäftsprozess
angebunden sind, und aus
Wartungsgründen
abgeschaltete
Systeme
sind nur einige wenige
Beispiele für mögliche
Ausnahmesituationen.
Das Messaging des BizTalk
Retry Mechanismus (Adapterunabhängig)
Servers
implementiert
zahlreiche Funktionen, um im laufenden Betrieb mit diesen Fehlerquellen umzugehen. Zum Beispiel
ist ein für alle Adapter verfügbarer automatischer „Retry Mechanismus“ vorhanden, der abgebrochene
oder aus anderen Gründen nicht erfolgreiche Datenübertragungen zu einem Zielsystem wiederholt.
Für jeden Send Port kann auch ein Backup Transport eingerichtet werden, der im Falle von
wiederholten Übertragungsproblemen automatisch verwendet wird.
4.4.1.3 Tracking
Konfiguration des Trackings
Andreas Winterer
Ein weiterer wichtiger Aspekt
ist die Nach-vollziehbarkeit
aller Vorgänge auf dem
Integrationsserver. In B2BI
Szenarien
ist
es
unumgänglich, eine Kopie von
jedem Dokument das an einen
Geschäfts-partner übermittelt
wurde
inklusive
der
Zeitstempel zu archivieren. Zu
diesem Zweck steht auf dem
BizTalk Server das Tracking zur
Verfügung. Es ermöglicht alle
Vorgänge bis zu einem sehr
hohen Detailierungs-grad in
der Trackingdatenbank zu
verewigen.
Page xix
4.5 Enterprise Single Sign On
Bei der Integration von heterogenen Systemen ist es notwendig, beim Zugriff auf diese Systeme die
entsprechenden Authentisierungsmechanismen zu nutzen. Das Modul Enterprise Single Sign On des
BizTalk Servers, im folgenden kurz SSO bezeichnet, stellt folgende Funktion zur Verfügung:


Verschlüsselte Speicherung von
o Port Konfigurationen für das Messaging
o Anmeldeinformationen für „affiliate applications *)“
Mapping von Windows User Accounts auf affiliate application accounts
*) als affiliate application wird jene Applikation bezeichnet, auf die ein Geschäftsprozess zugreifen soll
z.B. ein Host oder SAP R/3
Die in der SSO Datenbank abgelegten Informationen werden verschlüsselt, d. h. die Datenbank selbst
kann von Benutzern mit den entsprechenden Rechten normal benutzt werden. Jedoch sind die in den
Tabellen enthaltenen Daten nur durch das SSO System, mit dem bei der Installation generierten
Schlüssel, lesbar. Jedes BizTalk Server System benötigt einen SSO Master Secret Server, dieser ist im
Besitz des Master Secret (dieser Schlüssel ist in der Registry des SSO Master Secret Servers abgelegt).
Alle adapterspezifischen Konfigurationsparameter werden in der SSO Datenbank abgelegt und müssen
zur Laufzeit durch das SSO System gelesen und entschlüsselt werden, daher ist es nicht möglich eine
BizTalk Server Umgebung ohne Enterprise Single Sign On zu betreiben.
Die Speicherung von adapterspezifischen Konfigurationsdaten (diese beinhalten ggf. auch
Benutzernamen und Passwörter) stellt das Basisszenario für die Verwendung des SSO Systems dar. Das
SSO System kann aber auch für Windows Initiated Single Sign On Szenarien eingesetzt werden. Unter
Windows Initiated Single Sign On versteht man Szenarien, bei denen ein Windows Benutzer einen
Geschäftsprozess auf dem BizTalk Server initiiert, in dessen Verlauf auf ein oder mehrere Systeme
zugegriffen wird, die keine Active Directory Integration haben.
Das folgende Bild zeigt einen Prozess, bei dem eine Nachricht von einem Windows Benutzer an den
BizTalk Server gesendet wird. Die Nachricht wird von einer Orchestration verarbeitet und dann an eine
Applikation gesendet, welche auf einem IBM Mainframe läuft. Die Aufgabe des SSO Systems ist es,
gemeinsam mit der Nachricht die richtigen Anmeldeinformationen an den Host zu übergeben.
Andreas Winterer
Page xx
Affiliate Application on
Non-Windows System
Credential
3) Get user X’s credentials
for affiliate application
Single Sign-On
Server A
Incoming
Message
1) Get SSO ticket
for user X
5) Send
message
with user X’s
credentials
for affiliate
application
Single Sign-On
Server B
2) Redeem
SSO ticket
4) Return user X’s
credentials for
affiliate application
Outgoing
Message
Orchestration
Receive
Adapter
Receive
Pipeline
Send
Pipeline
Send
Adapter
MessageBox
Für Nachrichten, die über einen Adapter der Single Sign On unterstützt empfangen werden, kann der
Adapter vom SSO System ein Ticket anfordern. Das verschlüsselte Ticket enthält die Information,
welches Windows Benutzerkonto den Vorgang ausgelöst hat, weiters ist jedes Ticket nur eine
bestimmte Zeit lang gültig. (Es handelt sich dabei NICHT um ein Kerberos Ticket!) Das Ticket wird der
Nachricht hinzugefügt. Anschließend nimmt die Nachricht ihren Weg durch den BizTalk Server, in
diesem Fall die Verarbeitung durch eine Orchestration. Erzeugt die Orchestration eine ausgehende
Nachricht, so enthält diese ebenfalls das Ticket der eingehenden Nachricht.
Die ausgehende Nachricht ist in diesem Fall für einen IBM Mainframe gedacht und muss mit den
entsprechenden Benutzerinformationen an das Zielsystem bzw. die Zielapplikation übergeben
werden. Der Send Adapter fordert nun mit Hilfe des Tickets die Benutzerinformationen für das
Zielsystem vom SSO Server an. Der SSO Server überprüft das Ticket auf seine Gültigkeit und liefert die
Zugangsdaten für den Host zurück, die dem Windows Benutzerkonto zugeordnet sind. Der Send
Adapter benutzt nun diese Daten, um auf den Host zuzugreifen.
4.6 Business Rules Engine
Die BizTalk Rules Engine (im Folgenden kurz BRE) ermöglicht es, Policies zu erstellen, welche sich aus
einzelnen Rules (= Regeln) zusammensetzen. Die BRE kann Dokumente aufgrund der definierten
Regeln überprüfen und die in den Regeln definierten Aktionen auf das Dokument anwenden. Die
Policies können aus Orchestrations heraus aufgerufen werden. Policies können aber auch von jeder
beliebigen Applikation verwendet werden, da die BRE ein entsprechendes Programmierinterface (API)
zur Verfügung stellt.
Andreas Winterer
Page xxi
Erstellen von Rules und Policies
Das Erstellen von Regeln erfolgt über den Business Rules Composer. Die Policies werden bei deren
Erstellung bzw. Pflege automatisch inkrementell versioniert. Sobald eine Policy einmal zur Ausführung
freigegeben (= deployed) wurde kann sie nicht mehr verändert werden, es ist dann nur mehr möglich
eine neue Version der Policy zu erstellen.
Die zur Erstellung von Regeln nötigen Fakten (facts) können aus XML Schemas, .NET Klassen oder
Datenbanken stammen. Die Felder aus diesen Datenquellen können mit sprechenden
(fachbereichsspezifischen) Namen versehen und in so genannten Vocabularies zusammengefasst
werden. Dies ermöglicht es, dass technisch weniger versierte Benutzer des Business Rules Composers
die für die Erstellung einer Regel notwendigen Daten leichter auffinden können und kein Wissen über
die tatsächliche Struktur bzw. den Ursprung der Daten benötigen.
Durch die Verwendung von .NET Assemblies als Facts können praktisch beliebige Datenquellen (z.B.
Oracle, Hostdaten, WebServices, etc.) eingebunden werden.
Andreas Winterer
Page xxii
4.7 Business Activity Monitoring
Das Business Activity Monitoring kurz als „BAM“ bezeichnet, dokumentiert praktisch in Echtzeit den
Ablauf von Prozessen, indem das Erreichen von Milestones protokolliert wird und zugleich KPI’s erfasst
werden. Die Funktionalität von BAM lässt sich am besten folgendermaßen zusammenfassen:
Business Activity Monitoring ist „Echtzeit Business Intelligence“ mit einem Geschäftsprozess-Kontext.
BAM sammelt aber nicht nur Daten aus jenen Prozessteilen, die am BizTalk Server selbst ablaufen,
sondern kann auch über sogenannte ‚Interceptoren‘, welche zum Beispiel in Applikationen die WF
(Workflow Foundation) oder WCF (Windows Communication Foundation) verwenden, eingebunden
werden.
Erstellen von BAM Lösungen
Die Erstellung von BAM Lösungen ist keine typische Aufgabe für einen Softwareentwickler. Daher sind
die entsprechenden Werkzeuge auch nicht im Visual Studio integriert, sondern finden sich als AddOn’s in Visio und Excel.
Die Überwachung der BizTalk Lösung mittels BAM kann entweder direkt über Excel erfolgen oder
über das BAM Portal (siehe folgendes Bild).
Business Activty Monitoring Portal
Andreas Winterer
Page xxiii
4.8 Entwicklungswerkzeuge
BizTalk Lösungen bestehen im Wesentlichen aus XSD-Schemas, XSLT-Mappings, Pipelines und
Orchestrations. Die Werkzeuge zur Erstellung dieser Artefakte sind in Visual Studio 2008 im BizTalk
Projekt-Template eingebettet.
4.8.1 Schema Editor
Mit dem Schema Editor
werden XSD-Schemas für
XML Dokumente und auch für
alle anderen Dokumettypen
wie Flat-Files (z.B. CSV),
EDIFACT, SWIFT, SAP Idoc,
etc. erstellt und bearbeitet.
Um die „nicht XML Formate“
abbilden
zu
können,
verwendet der BizTalk Server
Erweiterungen in den XSD
Definitionen,
welche
konform zu den W3C
Standards sind.
Erstellung von Schemas für „Flat-Files“
Für die Erstellung von
beliebigen Flat-File-Schemas
gibt es einen Wizard der
aufgrund eines Beispielfiles
die Erstellung eines Schemas
sehr komfortabel werden
lässt. Im Normalfall ist ein
Flat-File-Schema mit der
Hilfe des Wizards in wenigen
Minuten erstellt.
Andreas Winterer
Page xxiv
4.8.2 Mapping Werkzeug
Eine der häufigsten Aufgaben bei Integrationsprojekten ist die Umformung von Datenstrukturen, wie
zum Beispiel das Mapping von einem SAP Idoc in ein EDIFACT Format oder die Transformation von
einem XML-Format in ein anderes. Das BizTalk Mapping Werkzeug ist ein grafisches Werkzeug, welches
dem Entwickler ermöglicht auf intuitive Weise Mappings zu erstellen.
BizTalk Mapper
Der Mapper stellt auch eine Toolbox mit 80 sogenannten „Functoids“ zur Verfügung. Mit dem
„Scripting Functoid“ kann unter anderem auch C# Code in ein Mapping eingebettet werden.
Andreas Winterer
Page xxv
Beispiele für Functoids
4.8.3 Pipeline Designer
Ein wesentlicher Bestandteil des BizTalk Messagings sind Receive- und
Send-Pipelines. Pipelines haben folgende Aufgaben:
Receive Pipeline:
-
Prüfen von Signaturen
Entschlüsseln von Nachrichten
Validierung von Dokumenten
Aufsplitten von Batches
Parsen von Flat-Files, EDIFACT, SWIFT, etc. (Umwandlung aus
dem Native-Format in XML)
Ausführung von Custom Pipeline Components
Send Pipeline:
-
Verschlüsseln/Signieren von Nachrichten
Serialisieren von Nachrichten (Umwandlung von XML in Flat-File,
EDIFACT, etc.)
Ausführung von Custom Pipeline Components
Die oben erwähnten Funktionen sind nur ein Überblick über jene
Funktionen, die eine Send- oder Receive-Pipeline „Out of the Box“
beherrscht. Mit Custom Pipeline Components lassen sich beliebige
Funktionen, wie zum Beispiel Dekomprimieren und Komprimieren von
Daten implementieren. Custom Pipeline Components können in jeder
beliebigen .NET Sprache implementiert werden.
Andreas Winterer
Page xxvi
Beispiel:
Eine CSV Datei welche mit ZIP Komprimiert wurde soll am BizTalk Server Verarbeitet werden.
4.8.4 Orchestration Designer
Ein Geschäftsprozess kann natürlich einfach in Code (z.B. als C# Programm) abgebildet werden.
Komplexe Abläufe, die in konventionellen Programmiersprachen erstellt und gewartet werden,
können jedoch eine nicht unwesentliche Herausforderung darstellen. Mit dem Orchestration Designer
wird die Ablauflogik eines Geschäftsprozesses mit einem grafischen Werkzeug modelliert. Die
Erstellung der Ablauflogik ist so weniger zeitintensiv und das Ergebnis ist einfacher zu verstehen und
zu warten. Für das Modellieren stehen verschiedene Shapes zur Verfügung, die mit „Drag & Drop“zu
einem Gesamtprozess kombiniert werden. Umfangreiche Prozesse können in (wiederverwendbare)
Teilprozesse aufgeteilt und aus einem Hauptprozess heraus synchron oder asynchron aufgerufen
werden.
Orchestration Designer
Andreas Winterer
Page xxvii
4.9 BizTalk Administrationsoberfläche
Alle Aufgaben, die bei der Installation, Konfiguration und beim Betrieb von BizTalk Anwendungen
auszuführen sind, werden über die BizTalk Administrationskonsole erledigt. Dieses
Administrationswerkzeug kann über benutzerdefinierte Abfragen an die individuellen Bedürfnisse bei
der Verwaltung einer Applikation angepasst werden.
Andreas Winterer
Page xxviii
5 ABGRENZUNG DES BIZTALK SERVERS ZU ANDEREN
PRODUKTEN VON MICROSOFT
Der BizTalk Server ist nicht das einzige Produkt von Microsoft, welches im weitesten Sinne zur
Integration verschiedener Systeme und zum Implementieren von Geschäftsprozessen bzw.
„Workflows“ einsetzbar ist. Mit Produkten und Technologien wie SQL Server Integration Services (SSIS)
oder MSMQ, eröffnen sich für ein anstehendes Integrationsprojekt immer gleich mehrere Optionen
bei der Wahl des Werkzeuges. Mit der Workflow Foundation (WF), Windows Communication
Foundation (WCF) und Windows Server AppFabric gibt es auch im Bereich von Workflows und
WebServices Technologien auf der Microsoft Plattform, die ähnliche oder teilweise sogar mit dem
BizTalk Server überlappende Funktionalitäten anbieten. Die folgenden Abschnitte sollen eine Richtlinie
für die Auswahl des „richtigen“ Werkzeuges geben und auch die Möglichkeiten aufzeigen, die BizTalk
im Zusammenspiel mit WF, WCF und Windows Server AppFabric bietet.
5.1 Abgrenzung des BizTalk Servers zu ETL Werkzeugen
ETL (Extract Transform Load) Werkzeuge kommen vor allem, aber nicht nur, bei Datawarehouse (DWH)
Aufgabenstellungen zum Einsatz. Das ETL Werkzeug von Microsoft heißt SQL Server Integration
Services (SSIS) und deckt neben den klassischen Aufgaben im ETL Bereich auch weitere Bereiche wie
zum Beispiel die Erstellung von einfachen „Workflows“ und die Automatisierung von SQL Server
Wartungsaufgaben ab.
Betrachtet man nun Integrationsaufgaben in Bezug auf die Beschaffenheit der zu übertragenden
Daten, so lassen sich diese Aufgaben grob in zwei Kategorien einteilen: nachrichtenbasierende und
datenzentrierte Integrationen.
Nachrichten basierend (Messaging)
Daten-Integration
Übertragung und Umformung von Nachrichten um
Vorgänge auszulösen
Kopieren und Umformen von Daten
Senden, Empfangen und Verarbeiten
„Bewegen“ von Daten
Konzeptionell „kleine Häppchen“
Konzeptionell „große Brocken“
Applikationsabhängig
Applikationsunabhängig
AKTIV
PASSIV
Heterogene Systeme/Plattformen
Heterogene Schemas (Strukturen)
Andreas Winterer
Page xxix
Die erste Kategorie wird auch als „Messaging“ bezeichnet. Der BizTalk Server eignet sich für
Aufgabenstellungen, die vorwiegend Eigenschaften aus der Nachrichten basierenden Kategorie
aufweisen, während SSIS ein Vertreter der reinen Datenintegrationskategorie ist.
Die folgende Tabelle ordnet Microsoft Produkte bzw. Technologien den beiden Kategorien zu:
Produkte/Technologien
Nachrichten basierend (Messaging)
Daten-Integration
MSMQ (Microsoft Message Queuing)
SSIS (SQL Server Integration Services)
WCF (Windows Communication Foundation)
SQL Replication
BizTalk Server
SQL Service Broker
5.2 Abgrenzung des BizTalk Servers zu Windows Server AppFabric
5.2.1 Einführung in Windows Server AppFabric Hosting
Im Kapitel „Gesamtarchitektur und Module des BizTalk Servers“ dieses Dokuments wird unter anderem
die Laufzeitumgebung des BizTalk Servers dargestellt. Diese Laufzeitumgebung ist eine äußerst robuste
und mit vielen Features (Tracking, Persistenz, Monitoring, etc.) ausgestatte Hosting Umgebung für
BizTalk Lösungen. Sollen jedoch auf Basis von WF (Workflow Fondation) und/oder WCF (Windows
Communication Foundation) Lösungen entwickelt werden, fehlte bislang diese Hosting Umgebung.
Diese Lücke wird durch Windows Server AppFabric Hosting geschlossen. Bei Windows Server
AppFabric Hosting handelt es sich um Infrastrukturkomponenten, die den Windows Server 2008R2
ergänzen und auf die Internet Information Services und SQL Server aufbauen.
Andreas Winterer
Page xxx
5.2.2 Komponenten von Windows Server AppFabric Hosting
AppFabric Extensions
Die Management Konsole des IIS wird durch die AppFabric Extensions um WCF Konfigurationsoptionen erweitert. Bisher mussten WCF Konfigurationen mit dem WCF Service Configuration Editor
gemacht werden, was weder für Administratoren noch für Entwickler wirklich komfortabel war.
AppFabric Dashboard
Um im laufenden Betrieb einen schnellen Überblick über alle laufenden Prozesse und deren Status zu
bekommen, wurde das AppFabric Dashbord geschaffen.
Andreas Winterer
Page xxxi
Persistence Store
Eine Workflow Instanz kann unter Umständen einen sehr langen Lebenszyklus haben. An dieser Stelle
wird oft das Beispiel des WebShops genannt, wo der Einkaufsprozess samt zugehörigem Warenkorb
als Workflow in WF implementiert ist. Wenn der Anwender seinen Einkauf im WebShop unterbricht
und zum Beispiel erst am nächsten Tag zum WebShop zurückkehrt, ist es mit dem Persistence Store
möglich, eine skalierbare Applikation zu entwickeln, da der Einkaufskorb und der Zustand des
Workflows nicht die ganze Zeit im Speicher des Servers gehalten werden muss (abgesehen von der
Tatsache, dass im Falle einer sehr langen Unterbrechung wie im vorliegenden Beispiel ein Halten des
State im Hauptspeicher wohl kaum praktikabel wäre). Prinzipiell war es schon immer möglich einen
Persistence Store für WF einzurichten. Mit Windows Server AppFabric wird jedoch sowohl das
Einrichten als auch die Verwaltung des Persistence Stores wesentlich vereinfacht.
Monitoring Database
Die Monitoring Datenbank stellt die Datenbasis für das AppFabric Dashbord dar. Da jedoch das
detaillierte Aufzeichnen von Events während der Ausführung von Services einen gewissen
Performance Overhead darstellt, bleibt es dem Administrator überlassen, mit welcher Granularität
(Level) Events in der Monitoring Datenbank aufgezeichnet werden.
Levels für das Monitoring:
-
Troubleshooting (für die Diagnose von Problemen und zum „Debugging“)
End-to-End Monitoring
Healh Monitoring (Default für den Normalbetrieb)
Errors only (Service Events sind nicht im Dashbord sichtbar)
Off
Andreas Winterer
Page xxxii
5.2.3 BizTalk oder Windows Server AppFabric?
Vergleicht man nun die Funktionalitäten von BizTalk und Windows Server AppFabric, ergeben sich
einige Parallelen und es stellt sich die Frage, ob nun der kostenpflichtige BizTalk Server oder doch das
„kostenlose“ AppFabric zum Einsatz kommen sollen.
Die folgende Tabelle stellt die Features beider Lösungsoptionen gegenüber:
Feature
BizTalk Server
Windows Server AppFabric
Workflow Engine/Orchestration


Business Rules Engine

Business Activity Monitoring

EAI & B2B Design Tools (EDIFACT, X12, SWIFT,
etc.)

Monitoring Database


Failover Infrastructure


Mapping Tools

Adapter für LOB Systeme (SAP, Dynamics)

Adapter für Hostsysteme

Puplish and Subscribe Architektur

BPM Tools

Conclusio
Wenn es darum geht, Workflows innerhalb einer Applikation abzubilden, die Kommunikation der
Applikation mit anderen Applikationen rein über WebServices (SOAP, WCF) erfolgt und eine komplexe
regelbasierte Steuerung des Prozesses nicht erforderlich ist, dann ist die Implementierung mit WF,
WCF und das Hosting in Windows Server AppFabric sicher eine gute Option. Wenn die Lösung jedoch
eine oder mehrere der folgenden Anforderungen erfüllen soll, dann ist der BizTalk Server trotz der
einzukalkulierenden Lizenzkosten zumeist die günstigere Alternative. Anforderungen die den Einsatz
von BizTalk indizieren:
-
B2B Applikationen
Datenformate wie EDIFACT, X12, FlatFiles, SWIFT, HL7
Integration von LOB Applikationen wie z.B. SAP R/3
Integration von Hosts
Steuerung der Applikation über komplexe Regeln
5.3 Zusammenspiel von BizTalk und Windows Server AppFabric
In manchen Fällen wird durch die Breite der Anforderungen an eine Applikation die Frage „AppFabric
oder BizTalk?“ sich jedoch gar nicht stellen. In diesem Fall lassen sich die beiden Technologien sehr gut
kombinieren.
Andreas Winterer
Page xxxiii
5.3.1 BizTalk Server 2013 AppFabric Connect
Das mit BizTalk Server 2013 eingeführte Feature „AppFabric Connect“ ermöglicht es zwei Lücken in
WF und WCF zu schließen:
-
Fehlende LOB Adapter
Fehlendes Mapping Werkzeug
AppFabric Connect erlaubt es, den BizTalk Mapper sowie alle Adapter aus dem BizTalk Adapter Pack
in WF Applikationen zu nutzen.
Andreas Winterer
Page xxxiv
6 INTEGRATION IM CLOUD-COMPUTING ZEITALTER
Durch die immer stärkere Verbreitung von Cloud basierenden Lösungen entstehen neue
Herausforderungen im Bereich der Integration von On-Premises und in der Cloud gehosteten
Applikationen. Das folgende Bild zeigt ein typisches Szenario.
Ein Unternehmen plant die Bereitstellung einer neuen Web-Applikation, welche in Windows Azure
gehostet werden soll. Die Web-Applikation konsumiert „Composite Services“, welche sich aus SAP R/3
Funktionalitäten und den Services einer SQL Server basierenden Applikation zusammensetzen.
Zusätzlich soll es Partnern des Unternehmens ermöglicht werden, ebenfalls die Composite Services zu
konsumieren.
Folgende Aufgabenstellungen und Herausforderungen sind zu lösen:
-
Konfigurationsänderungen an den Firewalls
Management der Endpoints
Erstellen der Composite Services
o Zugriff auf die SAP R/3 Daten und Prozesse
Mit folgenden Produkten und Technologien von Microsoft lässt sich eine Lösung für das Szenario
aufbauen:
-
BizTalk Server
Windows Server AppFabric
AppFabric Connect
AppFabric Connect for Azure
Windows Azure AppFabric Service Bus
Andreas Winterer
Page xxxv
Das folgende Bild zeigt die Lösungsarchitektur im Überblick.
Composite Services
Die Composite Services werden mit BizTalk Server, der in diesem Fall als Enterprise Service Bus zum
Einsatz kommt, implementiert.
Endpoints
Die Endpoints der Composite Services werden in Windows Server AppFabric gehostet und bauen die
Verbindung zum Azure AppFabric Service Bus auf. Da die Verbindung von den On Premises gehosteten
Endpoints zum Azure AppFabric Service Bus von innen nach außen (Outbound) erfolgen, sind keine
Änderungen an der Firewall notwendig.
Clients
Die Clients welche die Services konsumieren, verbinden sich zum Azure AppFabric Service Bus und
benötigen somit keine direkte Verbindung in das Netzwerk des eigentlichen „Service Providers“.
Andreas Winterer
Page xxxvi
7 ZUSAMMENFASSUNG
BizTalk Server 2013 ist ein Produkt, welches Unternehmen dabei unterstützt Geschäftsprozesse zu
automatisieren, die über verschiedene Applikationen und Plattformen hinaus abgebildet werden
müssen. Neben den Kernmodulen Messaging und Orchestration bringt das Produkt noch eine sehr
mächtige Business Rules Engine mit und verfügt mit Business Activity Monitoring über ein Modul das
Anwendern Einblick in laufende Prozesse gibt. Die Unterstützung für EDIFACT, das RFID Modul und
Enterprise Single Sign On runden die Fähigkeiten des Produktes ab. Ausgehend von seinen Wurzeln in
den Bereichen EAI und B2BI hat sich der BizTalk Server in seiner aktuellen Version zu einer
umfassenden BPM und SOA Plattform entwickelt, welche auch Lösungen für aktuelle
Herausforderungen bietet, die sich im Zuge der immer stärkeren Bedeutung von Cloud Computing
ergeben.
Über den Autor
Andreas Winterer ist Gründer und Geschäftsführer der AURIS-CONSULT Enterprise
Solutions GmbH und beschäftigt sich seit dem Jahr 2001 schwerpunktmäßig mit dem
Thema Business Process Management auf der Microsoft Plattform. Als Senior
Consultant bei Microsoft Consulting Services hatte er die Gelegenheit bei vielen
Projekten Erfahrung mit dem Design, dem Performancetuning sowie der
Hochverfügbarkeit von BizTalk Implementierungen zu sammeln. Vor dem Wechsel zu
Microsoft hat Andreas Winterer sieben Jahre als Consultant im SAP Bereich gearbeitet. Er gibt sein
Wissen als Trainer weiter und hält regelmäßig Vorträge bei verschiedenen IT-Konferenzen wie zum
Beispiel der BASTA! (www.basta.net) und bei Veranstaltungen von Microsoft.
Andreas Winterer
Page xxxvii
Herunterladen