Lernprogramm 1: Integration von Unternehmensanwendungen, Enterprise Application Integration

Microsoft BizTalk Server bietet eine Entwicklungs- und Laufzeitumgebung für Anwendungsintegration und Geschäftsprozessverwaltung (Business Process Management, BPM). In diesem Tutorial wird eine umfassende Übung zum Einrichten und Bereitstellen einer EAI-Lösung (Enterprise Application Integration) mithilfe von BizTalk Server vorgestellt.

Geschäftsszenario

Contoso ist ein Onlineshop, der Computerhardware und -software verkauft. Das Unternehmen hat vor kurzer Zeit ein ERP-System (Enterprise Resource Planning) zum Verwalten seiner Ressourcen erworben. In diesem Lernprogramm entwickeln Sie mithilfe von BizTalk Server eine EAI-Lösung (Enterprise Application Integration, Integration von Unternehmensanwendungen), um ein vorhandenes Lagersystem in das ERP-System zu integrieren und den Lageranforderungsvorgang zu automatisieren.

Diese Integrationslösung beinhaltet einige Herausforderungen:

  • Nachrichtentransport. Das Lagersystem kann sich auf einer anderen Plattform als das ERP-System befinden und andere Transportprotokolle zum Senden und Empfangen von Nachrichten verwenden. Diese Lösung muss in der Lage sein, die Nachrichten mithilfe der Protokolle zu empfangen, die vom sendenden System unterstützt werden, und die Nachrichten mithilfe der Protokolle weiterzuleiten, die vom empfangenden System unterstützt werden. BizTalk Server verwendet Adapter für den Transport von Nachrichten. Es stehen zahlreiche systemeigene Adapter zur Verfügung, die mit BizTalk Server und dem BizTalk Adapter Pack installiert werden. Wenn Sie weitere Adapter benötigen, können Sie diese von Herstellern erwerben oder eigene Adapter mithilfe des Adapterframeworks entwickeln, das von BizTalk Server bereitgestellt wird. Weitere Informationen zu Adaptern finden Sie unter Adapter in BizTalk Server.

  • Nachrichtenkonvertierung. Es sind zahlreiche Nachrichtentypen verfügbar, z. B. XML (eXtended Markup Language), EDI (Electronic Data Interchange), Trennzeichendateien usw. BizTalk Server verwendet XML. In den meisten Fällen konvertieren Sie eingehende Nachrichten zuerst in XML. Dieser Prozess wird als Analyse bezeichnet. Auf der ausgehenden Seite können Sie Nachrichten aus XML in andere Typen konvertieren. Dieser Prozess wird als Serialisierung bezeichnet.

  • Geschäftsprozessverwaltung. Die meisten EAI-Szenarien gehen über die einfache Weiterleitung von Nachrichten von einem System an ein anderes System hinaus. Normalerweise umfassen sie mehrere Systeme und komplexe Workflows. In diesem Szenario sendet das Lager eine Nachricht, die eine Bestandsauffüllung anfordert. Ihre Lösung empfängt die Nachricht und überprüft dann die Gesamtsumme der Anforderung. Wenn die Gesamtsumme einen bestimmten Betrag überschreitet, weist die Lösung die Anforderung automatisch zurück und sendet eine Ablehnungsnachricht. Andernfalls leitet die Lösung die Anforderung an das ERP-System weiter.

    Die folgende Abbildung veranschaulicht den Geschäftsvorgang:

    Tut1_msg_flow des Nachrichtenflusses in Tutorial 1

    In diesem Tutorial verwenden Sie BizTalk Server Entwicklungstools, um den Geschäftsprozess zu entwerfen und bereitzustellen.

Vorbereitung

Sie müssen einige grundlegende Informationen erfassen, bevor Sie eine BizTalk Server-Integrationslösung erstellen können:

  • Wie viele Anwendungen/Systeme muss die BizTalk Server-Lösung integrieren? In diesem Szenario gibt es zwei Systeme: ERP und Warehouse.

  • Welche Transportprotokolle werden von jeder der Anwendungen unterstützt? Zum Vereinfachen der Lösung wird angenommen, dass beide Anwendungen Dateien verwenden. Das Lagersystem legt die Anforderung als Datei in einem Dateiordner ab. Die BizTalk Server-Lösung ruft die Datei aus dem Ordner ab, verarbeitet sie und legt dann die Anforderung in einem anderen Ordner ab, der vom ERP-System überwacht wird.

  • Welche Nachrichtentypen werden von den Anwendungen verwendet? Zum Vereinfachen der Lösung wird angenommen, dass beide Anwendungen den XML-Typ verwenden. BizTalk-Schemas sind Dokumente, die die Struktur der XML-Daten in BizTalk-Nachrichten definieren. Sie dienen zum Erstellen von Vorlagen zum Verarbeiten und Überprüfen von XML-Nachrichten. In BizTalk Server ist ein BizTalk-Editor zum Erstellen von BizTalk-Schemas enthalten.

  • Welcher Geschäftsvorgang liegt vor? Der Vorgang wurde weiter oben in diesem Thema erläutert.

BizTalk Server-Architektur

Es ist hilfreich zu verstehen, wie BizTalk Server die Lösung ausführt. Die folgende Abbildung zeigt den Datenfluss durch BizTalk Server.

Tutorial 1: Szenariodatenfluss

  • (Das Lagersystem legt eine Anforderung in einem Dateiordner ab.)

  • Ein BizTalk Server-Empfangsspeicherort ist mit dem Dateiadapter und einer XML-Übertragungspipeline konfiguriert. Der Dateiadapter überwacht die Datei im Dateiordner regelmäßig. Sobald eine Nachricht empfangen wird, übermittelt die BizTalk Server-Messaging-Engine die Nachricht über eine Pipeline. Da die Anforderungsnachricht im XML-Format vorliegt, wird in diesem Fall die XML-Übertragungspipeline verwendet. Die XML-Übertragungspipeline stellt sicher, dass es sich bei der Nachricht um eine wohlgeformte XML-Datei handelt. Die Nachricht wird dann in der MessageBox-Datenbank gespeichert.

  • Wenn die Orchestrierungs-Engine feststellt, dass eine Nachricht für die Verarbeitung durch eine Orchestrierung bereit ist, wird eine Instanz der Orchestrierung instanziiert. Abhängig von der Gesamtsumme der Nachricht speichert die Orchestrierungs-Engine eine Anforderungsnachricht oder eine Anforderungsablehnungsnachricht in der MessageBox-Datenbank.

  • Abhängig von der Anforderungsnachricht oder der Anforderungsablehnungsnachricht verwendet die Messaging-Engine dann einen der Sendeports, um die Nachricht zu verarbeiten. Die Messaging-Engine übermittelt die Nachricht zuerst mittels Push über eine XML-Übertragungspipeline und verwendet dann den Dateiadapter, um die Datei basierend auf den Sendeportkonfigurationen an verschiedene Dateiordner zu senden.

  • (Das Lager- und das ERP-System überwachen beide reservierte Ordner, um Nachrichten abzurufen.)

In diesem Abschnitt