Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing...

35
© Copyright 2018 Winterer GmbH alle Rechte Vorbehalten Microsoft BizTalk im Überblick Jänner 2018 | Version 5.0 Andreas Winterer MELTIQ GmbH Wienerstraße 99, A-3390 Melk FN 314552b, Landesgericht St. Pölten, UID: AT U64367045 www.meltiq.at

Transcript of Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing...

Page 1: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

© Copyright 2018 Winterer GmbH alle Rechte Vorbehalten

Microsoft BizTalk im Überblick

Jänner 2018 | Version 5.0

Andreas Winterer

MELTIQ GmbH

Wienerstraße 99, A-3390 Melk FN 314552b, Landesgericht St. Pölten, UID: AT U64367045

www.meltiq.at

Page 2: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

Andreas Winterer Page i

Inhalt

1 Einleitung ........................................................................................................................................ 2

1.1 Was kann ich von Microsoft BizTalk Server erwarten? ............................................................ 2

1.2 BizTalk in a Nutshell.................................................................................................................. 3

2 Anforderungen an eine EAI/BPM Plattform ................................................................................. 4

3 Einsatzszenarien ............................................................................................................................ 6

3.1 Automatisierung von unternehmensinternen Prozessen .......................................................... 6

3.2 Business to Business Integration (B2BI) .................................................................................. 7

3.3 Umfassendes Business Process Management ........................................................................ 8

4 Gesamtarchitektur und Module des BizTalk Servers ............................................................... 10

4.1 Messaging und Orchestration ................................................................................................. 12

4.2 Debugging von Geschäftsprozessen ...................................................................................... 14

4.3 Messaging Only Szenarien ..................................................................................................... 15

4.4 BizTalk Server Laufzeitumgebung .......................................................................................... 16

4.4.1 Weitere Funktionen der BizTalk Laufzeitumgebung ........................................................ 17

4.5 Enterprise Single Sign On ....................................................................................................... 19

4.6 Business Rules Engine ........................................................................................................... 20

4.7 Business Activity Monitoring ................................................................................................... 22

4.8 Entwicklungswerkzeuge .......................................................................................................... 23

4.8.1 Schema Editor ................................................................................................................. 23

4.8.2 Mapping Werkzeug .......................................................................................................... 24

4.8.3 Pipeline Designer ............................................................................................................. 25

4.8.4 Orchestration Designer .................................................................................................... 26

4.9 BizTalk Administrationsoberfläche .......................................................................................... 27

5 Abgrenzung des BizTalk Servers zu anderen Produkten von Microsoft ............................... 28

5.1 Abgrenzung des BizTalk Servers zu ETL Werkzeugen .......................................................... 28

5.2 Abgrenzung des BizTalk Servers zu Windows Server AppFabric .......................................... 29

5.2.1 Einführung in Windows Server AppFabric Hosting .......................................................... 29

5.2.2 Komponenten von Windows Server AppFabric Hosting ................................................. 30

5.2.3 BizTalk oder Windows Server AppFabric? ...................................................................... 32

5.3 Zusammenspiel von BizTalk und Windows Server AppFabric ............................................... 32

6 Integration im Cloud-Computing Zeitalter ................................................................................. 33

Page 3: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

Andreas Winterer Page ii

1 EINLEITUNG

1.1 Was kann ich von Microsoft BizTalk Server 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.

Page 4: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

Andreas Winterer Page iii

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. Die

folgenden Ausführungen sollen einen Einstieg in die Thematik ermöglichen.

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.

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.

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 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.

Page 5: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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

Page 6: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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.

Page 7: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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.

Page 8: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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

Page 9: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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

Page 10: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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.

Page 11: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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

Page 12: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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 ‘Flat-

Files’)

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.

Page 13: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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.

Page 14: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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.

Page 15: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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

Page 16: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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.

Page 17: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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.

Page 18: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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, Receive-

Locations 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.

Page 19: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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

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

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.

Retry Mechanismus (Adapterunabhängig)

Konfiguration des Trackings

Page 20: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

Andreas Winterer 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.

Page 21: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

Andreas Winterer Page xx

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.

Receive

Adapter

Send

Adapter

MessageBox

OrchestrationSend

Pipeline

Incoming

Message

Outgoing

Message

Receive

Pipeline

Single Sign-On

Server A

Single Sign-On

Server B

Affiliate Application on

Non-Windows System Credential

1) Get SSO ticket

for user X

2) Redeem

SSO ticket

3) Get user X’s credentials

for affiliate application

4) Return user X’s

credentials for

affiliate application

5) Send

message

with user X’s

credentials

for affiliate

application

Page 22: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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.

Page 23: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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 Add-

On’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

Page 24: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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.

Page 25: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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.

Page 26: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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.

Page 27: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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

Page 28: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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.

Page 29: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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)

Page 30: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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.

Page 31: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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 Konfigurations-

optionen 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.

Page 32: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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

Page 33: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

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.

Page 34: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

Andreas Winterer Page xxxiii

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

Page 35: Microsoft BizTalk - MELTIQ · 2018-01-23 · Andreas Winterer Page iii BizTalk und Cloud Computing Das Thema BizTalk und Cloud Computing wird im Kapitel “Integration im Cloud-Computing

Andreas Winterer Page xxxiv

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“.