Verbinden von Systemen
Für die Integration ist ein effektive Austausch von Nachrichten mit unterschiedlichen Programmen auf unterschiedlichen Computern zwingend erforderlich. Angesichts der Vielfalt der Kommunikationsstile, die vorhanden sind, müssen BizTalk Server eine Vielzahl von Protokollen und Nachrichtenformaten unterstützen. Wie im Folgenden beschrieben, befasst sich ein erheblicher Teil der Engine dediziert damit, die ordnungsgemäße Funktion dieser Kommunikation zu gewährleisten. Eine wichtige Tatsache, die es zu berücksichtigen gilt, ist jedoch, dass die Engine intern nur mit XML-Dokumenten arbeitet. Ganz gleich, in welchem Format eine Nachricht eingeht, sie muss nach dem Empfang in ein XML-Dokument konvertiert werden. Ebenso konvertiert die Engine ein Dokument in ein vom Empfänger akzeptiertes Format, wenn dieser XML-Dokumente nicht verarbeiten kann.
Senden und Empfangen von Nachrichten: Adapter
Da BizTalk Server mit einer Vielzahl anderer Software kommunizieren muss, ist es auf Adapter angewiesen, um dies zu ermöglichen. Ein Adapter ist eine Implementierung eines Kommunikationsmechanismus wie eines speziellen Protokolls. Welcher Adapter in einer gegebenen Situation verwendet wird, entscheidet der Entwickler. Sie können einen der integrierten Adapter auswählen, die BizTalk Server bietet, oder einen Adapter verwenden, der für ein beliebtes Produkt wie Windows SharePoint Services erstellt wurde, oder sogar einen benutzerdefinierten Adapter erstellen. In jedem dieser Fälle setzt der Adapter auf eine Standardbasis mit Namen Adapterframework auf. Dieses Framework stellt eine allgemein übliche Methode zum Erstellen und Ausführen von Adaptern bereit und unterstützt zudem die gleichen Tools, die zum Verwalten der Adaptertypen verwendet werden.
Microsoft BizTalk Server enthält die folgenden nativen Adapter:
Dateiadapter: Unterstützt das Lesen und Schreiben in Dateien im Windows-Dateisystem. Da die in einen Geschäftsprozess involvierten Anwendungen häufig Zugriff auf das gleiche Dateisystem haben (entweder lokal oder über ein Netzwerk), kann der Austausch von Nachrichten über Dateien eine bequeme Möglichkeit darstellen.
FTP-Adapter: Unterstützt das Senden und Empfangen von Informationen zwischen einem FTP-Server (File Transport Protocol) und BizTalk Server.
HTTP-Adapter: Unterstützt das Senden und Empfangen von Informationen mithilfe von HTTP. BizTalk Server macht eine oder mehrere URLs verfügbar, damit andere Anwendungen Daten an sie senden können, und es kann diesen Adapter verwenden, um Daten an andere URLs zu senden.
MSMQ-Adapter: Unterstützt das Senden und Empfangen von Nachrichten mithilfe von Microsoft Message Queuing (MSMQ).
WebSphere MQ-Adapter: Unterstützt das Senden und Empfangen von Nachrichten mithilfe von IBM WebSphere MQ (früher bekannt als MQSeries).
POP3-Adapter: Unterstützt den Empfang von E-Mail-Nachrichten und deren Anlagen unter Verwendung von Version 3 des Post Office-Protokolls (POP3).
SMTP-Adapter: Unterstützt das Senden von Nachrichten mithilfe von SMTP. Zum Identifizieren der Parteien werden Standard-E-Mail-Adressen verwendet.
SOAP-Adapter: Unterstützt das Senden und Empfangen von Webdienstanforderungen, damit BizTalk Server eine Verbindung mit Webdiensten herstellen können.
WCF-Adapter: Unterstützt das Senden und Empfangen von Informationen mithilfe von Windows Communication Foundation.
Windows SharePoint Services-Adapter (WSS): Unterstützt den Zugriff auf und die Veröffentlichung von Dokumenten, die in Microsoft Windows SharePoint-Dokumentbibliotheken gespeichert sind.
Von Microsoft sind auch Adapter für häufig verwendete Unternehmensanwendungen erhältlich. Hierzu gehören die Folgenden:
Microsoft BizTalk-Adapter für JD Edwards OneWorld
Microsoft BizTalk-Adapter für JD Edwards EnterpriseOne
Microsoft BizTalk-Adapter für PeopleSoft Enterprise
Microsoft BizTalk-Adapter für TIBCO Rendezvous
Microsoft BizTalk-Adapter für TIBCO Enterprise Message Service
Weitere Informationen zu diesen Adaptern finden Sie unter Adapter in BizTalk Server.
Ganz gleich, welcher Adapter zum Datenempfang verwendet wird, die empfangenen Nachrichten müssen in der Regel verarbeitet werden, bevor mit einer Orchestrierung darauf zugegriffen werden kann. Ebenso müssen ausgehende Nachrichten, die von einer Orchestrierung erstellt wurden, häufig verarbeitet werden, bevor sie von einem Adapter gesendet werden können.
Verarbeiten von Nachrichten: Pipelines
Die einem Geschäftsprozess zugrunde liegenden Anwendungen kommunizieren, indem verschiedene Arten von Dokumenten ausgetauscht werden: z. B. Bestellungen und Rechnungen. Damit eine BizTalk Server Anwendung einen Geschäftsprozess ausführen kann, muss sie in der Lage sein, die Nachrichten, die diese Dokumente enthalten, ordnungsgemäß zu behandeln. Diese Verarbeitung kann mehrere Schritte umfassen und wird daher von einer Nachrichtenpipeline ausgeführt. Eingehende Nachrichten werden in einer Empfangspipeline und ausgehende Nachrichten in einer Sendepipeline verarbeitet.
Ein Beispiel: Obwohl bereits zahlreiche Anwendungen für die Verarbeitung von XML-Dokumenten ausgelegt sind, ist das auch heute noch nicht unbedingt die Regel, sondern wahrscheinlich sogar für die Mehrheit unzutreffend. Da BizTalk Server intern nur mit XML-Dokumenten funktioniert, muss es eine Möglichkeit bieten, andere Formate in und aus XML zu konvertieren. Möglicherweise sind auch andere Dienste wie das Authentifizieren des Senders einer Nachricht erforderlich. Damit diese und andere Aufgaben in einer modularen und dennoch anpassbaren Weise erledigt werden können, wird eine aus einigen Stufen bestehende Pipeline erstellt, wobei jede der Stufen eine oder mehrere .NET-fähige oder COM-Komponenten (Component Object Model) enthält. Jede Komponente ist für einen bestimmten Teil der Nachrichtenverarbeitung zuständig. BizTalk Server bietet mehrere Standardkomponenten, die die häufigsten Fälle behandeln. Wenn diese Komponenten nicht ausreichen, kann der Entwickler auch benutzerdefinierte Komponenten für die Empfangs- und Sendepipelines erstellen.
Die vorstehende Abbildung zeigt die Stufen in einer Empfangspipeline sowie die Standardkomponenten, die für jede Stufe bereitgestellt wurden. Bei diesen Stufen und den zugehörigen Komponenten handelt es sich um folgende:
Decodieren: BizTalk Server stellt eine Standardkomponente für diese Phase bereit, den MIME/SMIME-Decoder. Diese Komponente kann Nachrichten und alle hierin enthaltenen Anlagen im MIME- oder Secure MIME-Format (S/MIME) verarbeiten. Die Komponente konvertiert beide Nachrichtentypen in XML und kann auch S/MIME-Nachrichten entschlüsseln und deren digitale Signaturen überprüfen.
Disassemblieren: Drei Standardkomponenten werden bereitgestellt. Die Komponente „Flatfile-Disassembler“ wandelt Flatfiles in XML-Dokumente um. Diese Dateien können Datensätze enthalten, deren Felder eine feste Breite und Struktur aufweisen, oder in den Dateien kann ein bestimmtes Zeichen als Trennzeichen zwischen den einzelnen Datensätzen enthalten sein. Die zweite Standardkomponente, der XML-Disassembler, analysiert eingehende Nachrichten, die bereits in XML vorliegen. Die dritte Standardkomponente, die heute allerdings nicht allzu häufig verwendet wird, ist der BizTalk Framework-Disassembler. Diese Komponente akzeptiert Nachrichten, die mit dem von BizTalk Framework definierten Reliable Messaging-Mechanismus gesendet wurden. BizTalk Framework wurde mit BizTalk Server 2000 eingeführt.
Überprüfen: BizTalk Server stellt eine XML-Validierungskomponente für diese Phase bereit. Diese Komponente überprüft ein auf der Disassemblierungsstufe erstelltes XML-Dokument anhand eines angegebenen Schemas oder einer Schemagruppe und gibt eine Fehlermeldung zurück, wenn das Dokument nicht einem dieser Schemas entspricht.
Resolve Party: Die einzige Standardkomponente für diese Phase, Party Resolution, versucht, eine Identität für den Absender dieser Nachricht zu ermitteln. Wenn die Nachricht digital signiert wurde, wird die Signatur verwendet, um eine Windows-Identität in der Verwaltungsdatenbank in BizTalk Server zu suchen. (Wie weiter unten beschrieben, wird diese Datenbank auch von den Verwaltungstools von BizTalk Server verwendet.) Wenn die Nachricht den authentifizierten Sicherheitsbezeichner (SID) eines Windows-Benutzers enthält, wird diese Identität verwendet. Wenn keiner der Mechanismen erfolgreich abgeschlossen werden kann, wird dem Sender der Nachricht eine standardmäßige anonyme Identität zugewiesen.
Ausgehende Nachrichten können ebenfalls mehrere Stufen durchlaufen, die von der verwendeten Sendepipeline definiert werden. Die vorstehende Abbildung zeigt die Stufen und Standardkomponenten einer Sendepipeline. Sie lauten wie folgt:
Vormontage: Es werden keine Standardkomponenten bereitgestellt. Stattdessen können hier je nach Bedarf benutzerdefinierte Komponenten eingefügt werden.
Assemble: Parallel zur Disassemble-Phase in einer Empfangspipeline enthält diese Phase auch drei Standardkomponenten. Der Flatfile-Assembler konvertiert eine XML-Nachricht in eine Flatfile (mit Datensätzen fester Breite oder mit per Trennzeichen getrennten Datensätzen), und der XML-Assembler unterstützt das Hinzufügen eines Umschlags und das Vornehmen weiterer Änderungen an einer ausgehenden XML-Nachricht. Die dritte Option, der BizTalk Framework-Assembler, erstellt Nachrichtenpakete für die zuverlässige Übertragung mit der BizTalk Framework-Messagingtechnologie.
Codieren: BizTalk Server definiert nur eine Standardkomponente für diese Phase, den MIME/SMIME-Encoder. Diese Komponente erstellt aus den ausgehende Nachrichten Pakete im MIME- oder S/MIME-Format. Wenn S/MIME verwendet wird, kann die Nachricht auch digital signiert und/oder verschlüsselt werden.
BizTalk Server definiert einige Standardpipelines, einschließlich eines einfachen Empfangs-/Sendepaars, das für die Behandlung von Nachrichten verwendet werden kann, die bereits in XML ausgedrückt werden. Mit dem Pipeline-Designer kann der Entwickler auch benutzerdefinierte Pipelines erstellen. Dieses Tool, das in Visual Studio ausgeführt wird, bietet eine grafische Benutzeroberfläche, die es dem Entwickler ermöglicht, Komponenten per Drag & Drop zu ziehen, um Pipelines mit dem erforderlichen Verhalten zu erstellen.
Auswählen von Nachrichten: Abonnements
Nachdem eine Nachricht einen Adapter und eine Empfangspipeline passiert hat, besteht der nächste Schritt in der Ermittlung, wohin sie weitergeleitet werden soll. Eine Nachricht ist häufig auf eine Orchestrierung ausgerichtet, aber es ist auch möglich, dass eine Nachricht direkt an eine Sendepipeline gesendet wird, sodass BizTalk Server als reines Messagingsystem verwendet werden kann. In jedem Fall erfolgt der Abgleich von Nachricht und Ziel mithilfe von Abonnements.
Wenn eine Nachricht von einer Empfangspipeline verarbeitet wird, wird ein Nachrichtenkontext erstellt, der verschiedene Eigenschaften der Nachricht enthält. Eine Orchestrierung oder eine Sendepipeline können Nachrichten basierend auf den Werten dieser Eigenschaften abonnieren. So kann eine Orchestrierung beispielsweise ein Abonnement erstellen, dass allen Nachrichten vom Typ „Rechnung“ oder allen Nachrichten vom Typ „Rechnung“ von der QwickBank AG oder allen Nachrichten vom Typ „Rechnung“ von der QwickBank AG mit einem Rechnungsbetrag von mehr als 10.000 Euro entspricht. Es ist jedoch festgelegt, dass ein Abonnement nur die Nachrichten an den Abonnenten zurückgibt, die den im Abonnement definierten Kriterien entsprechen. Von einer empfangenen Nachricht kann ein Geschäftsprozess ausgelöst werden, indem eine Orchestrierung instanziiert wird, oder es kann ein anderer Schritt in einem bereits laufenden Geschäftsprozess aktiviert werden. Ebenso wird eine von einer Orchestrierung gesendete Nachricht basierend auf einem für die Pipeline eingerichteten Abonnement mit einer Sendepipeline abgeglichen.
- In BizTalk Server ist es auch möglich, bestimmte Fehlerbedingungen zu abonnieren. Eine Fehlermeldung kann auf eine bestimmte Weise verarbeitet oder an ein bestimmtes Ziel wie einen Windows SharePoint Services-Ordner weitergeleitet werden.
Weitere Informationen
Die BizTalk Server-Messaging-Engine
Architektur zum Veröffentlichen und Abonnieren
Adapter
Pipelines