Anwendungsintegration über XML

Mit dem Biztalk Server drängt Microsoft ins EAI-Geschäft

28.07.2000
MÜNCHEN (ws) - Die ersten Ankündigungen für den "Biztalk Server" erweckten den Eindruck, als beschränke sich dieser auf den Austausch von Geschäftsdokumenten, die den Vorgaben der Biztalk-Initiative folgen. Wenige Monate vor seiner Freigabe entpuppt er sich nun als Microsofts wichtigstes Produkt für die Anwendungsintegration.

Microsoft verfolgt zur Festlegung von Standards für den Austausch von XML-Geschäftsdokumenten drei Hauptaktivitäten: die Biztalk Community, das Biztalk Framework und die Implementierung der dazu passenden Software in Form des Biztalk Server (BTS). Bekanntheit hat vor allem die von Microsoft als Community bezeichnete Biztalk.org erlangt. In erster Linie handelt es sich dabei aber um ein öffentlich zugängliches Repository für XML-Schemata. Unternehmen können dort für ihre Branche oder bestimmte Wertschöpfungsketten Vokabulare definieren, auf deren Grundlage dann Dokumente erstellt werden. Beispielsweise legen Firmen in solchen Vorschlägen fest, wie Elemente eines Business-Dokuments ausgezeichnet werden müssen, damit sie für Computerprogramme als Kundennummer, Lieferantenanschrift oder Artikelbeschreibung erkennbar sind. Microsoft verfolgt mit der Biztalk-Schema-Bibliothek das ehrgeizige Ziel, für den firmenübergreifenden Informationsaustausch möglichst viele solcher Definitionen anzubieten, die dann in der Praxis die meistgenutzten sein sollen. In diesem Vorhaben rivalisiert Biztalk.org mit anderen Initiativen, beispielsweise mit der vom Herstellerkonsortium Oasis und der UNO unterstützten ebXML.

Den Wettlauf um Standards für den B-to-B-Datenaustausch versucht Microsoft zusätzlich durch die Definition des Biztalk Framework und die Verbreitung des gleichnamigen Servers zu seinen Gunsten zu beeinflussen. Während offene Initiativen mit vielen Teilnehmern zuerst um Spezifikationen ringen, auf deren Basis dann Software entstehen kann, werden Microsofts Alleingänge nicht durch langwierige Abstimmungsverfahren gebremst. Häufig sind Spezifikationen der Gates-Company deshalb das Ergebnis einer schon weit fortgeschrittenen Softwareentwicklung.

Prinzipiell können Programme für den XML-Datenaustausch alle Dokumente verarbeiten, egal auf wessen Schema sie passieren. Eine Anwendung muss nur in der Lage sein, anhand des Schemas festzustellen, ob die eingehenden Daten den Regeln des Schemas gehorchen (Validierung). Anschließend kann sie auf die Daten wie auf jedes wohlgeformte XML-Dokument über Standard-APIs wie das Simple XML API (SAX) oder das Document Object Model (DOM) zugreifen und sie nach allen Regeln der Kunst manipulieren. Allerdings gelangen derartige Business-Dokumente über unterschiedliche Transportmechanismen an eine Applikation und sollen dort nach Möglichkeit automatisch weiterverarbeitet werden.

Deshalb müssen sie ähnlich wie E-Mails mit zusätzlichen Beschreibungen versehen werden. Das Format solcher Metainformationen legt im Rahmen der Biztalk-Initiative das Biztalk Framework fest, ebXML spezifiziert für diesen Zweck eigene Regeln. Dazu zählen Routing-Informationen, die Aufschluss darüber geben, wer der Absender des Dokuments ist oder wer der Empfänger sein soll. Zusätzlich soll daraus hervorgehen, um welche Art von Dokument es sich handelt, beispielsweise um eine Bestellung oder eine Rechnung. Ferner sieht das Framework Mechanismen für die verlässliche Zustellung von Informationen vor, so dass beispielsweise ein Auftraggeber informiert wird, wenn seine Order eingegangen ist, oder dass er den gleichen Vorgang nicht versehentlich zweimal auslösen kann.

Soap ersetzt bisheriges NachrichtenformatZu den weiteren Definitionen des Frameworks gehören unter anderem, wie beim Austausch von Biztalk-Dokumenten Verschlüsselung zum Einsatz kommt. In den Entwurf der Version 2.0 wurde das Simple Object Access Protocol (Soap) explizit als Transportmedium aufgenommen, das zudem das bisherige Nachrichtenformat weitgehend ersetzen soll. Die Spezifikation des Biztalk Framework ist unter http://msdn.microsoft.com/xml/articles/biztalk/biztalkfwv2draft.asp einsehbar.

Es liegt auf der Hand, dass die Festlegungen im Biztalk Framework eine engere Verbindung mit der Software herstellen als die im Repository hinterlegten Schemata. Sie muss die im Framework festgelegten Transportmechanismen unterstützen, verschlüsselte Nachrichten codieren und decodieren können sowie in der Lage sein, aus den eingehenden Nachrichten die eigentlichen Business-Informationen zu extrahieren beziehungsweise diese für den Versand wieder entsprechend zu verpacken.

Tatsächlich repräsentiert die Messaging-Schicht eine der Hauptkomponenten des BTS. Sie implementiert die Stacks für die Protokolle wie HTTP oder SMTP selbst und greift nicht wie "Exchange 2000" auf die entsprechenden Funktionen des "Internet Information Server" zurück. Die Features dieses Subsystems setzen die im Framework definierten Anforderungen um. Aufträge lassen sich an den Server interaktiv über HTML-Seiten, beispielsweise über den IIS und Active Server Pages, via E-Mail oder aus Applikationen automatisch über Soap und natürlich DCOM versenden. Zusätzlich kann er das Dateisystem regelmäßig nach eingehenden Nachrichten überprüfen (polling) oder sie aus einer Queue von MSMQ entgegennehmen. Anschließend werden Messages - falls nötig - entschlüsselt, daraus die eigentlichen Business-Dokumente extrahiert und die Routing-Informationen entnommen. Im Rahmen von so genannten Agreements legen Anwender fest, welche Dokumenttypen von welchen Empfängern verarbeitet werden, ob und wie diese zu verschlüsseln sind und über welchen Transportmechanismus sie eintreffen sollen. Zusätzlich ist auch auf der ausgehenden Seite ein korrespondierendes Agreement erforderlich, das die Parameter für den Weiterversand bestimmt. Dabei kann es sich zum Beispiel um den Export eines Business-Dokuments über das Internet handeln oder um die Übergabe der Daten an eine hausinterne Anwendung via MS MQ.

Die Architektur des BTS darf man sich in Form von konzentrischen Ringen vorstellen, wobei die Messaging-Schicht die äußere Hülle repräsentiert. Deshalb stehen alle Mechanismen zum Empfang von Informationen auch wieder für deren Versand zur Verfügung. Erst nachdem Ein- und Ausgang von Nachrichten für bestimmte Geschäftsabläufe feststehen, können die Verarbeitungsschritte im BTS-Inneren definiert werden. Diese Kernfunktionen bewirbt Microsoft als Fundament für die Enterprise Application Integration (EAI).

Doch bevor eingegangene Nachrichten durch die dort angesiedelten Geschäftsprozeduren geschleust werden, ist meist noch ein Zwischenschritt erforderlich. Der BTS kann nämlich nicht nur XML-Dokumente entgegennehmen, sondern auch mit Datenformaten umgehen, die sich für EDI schon länger etabliert haben. Dazu zählen Edifact, X12, Swift und diverse Flat-File-Formate. Alle in solcher Form eingehenden Informationen wandelt der BTS für die interne Verarbeitung in XML um, dies ist sein natives Format. Auf der ausgehenden Seite spielt sich diese Konvertierung umgekehrt ab, wobei die Business-Daten unabhängig vom Eingangsformat in irgendeinem der unterstützten Formate das System verlassen können.

Unterschiede zwischen den ein- und ausgehenden Informationen können nicht nur das Datenformat, sondern auch die Art ihrer Beschreibung betreffen. Faktisch liegt dieser Fall immer dann vor, wenn Input und Output auf verschiedenen Schemata beruhen. Soll beispielsweise ein eintreffender Auftrag automatisch eine Bestellung bei einem Lieferanten nach sich ziehen, dann könnte es vorkommen, dass die georderte Ware vom Kunden mit dem Elementnamen <Artikel> gekennzeichnet wurde, der Lieferant in seinem System aber <Product> erwartet. Für diese Art der Umsetzung greift Microsoft durchgängig auf die als XML-Co-Standard vorgesehene Technik XSL Transformation (XSLT) zurück, da der BTS intern XML-Repräsentationen für alle Business-Informationen nutzt.

Zur Erstellung solcher Transformations-Stylesheets umfasst der BTS ein visuelles Mapping-Tool, das Eingangs- und Ausgangsschema nebeneinander darstellt und die Zuordnung von Elementen per Drag and Drop mit der Maus erlaubt. Bei diesem Verfahren können auch Elemente eines Dokumenttyps in Attribute des anderen konvertiert werden und umgekehrt. Allerdings sind in vielen Fällen derartig einfache Umformungen nicht ausreichend, sondern komplexe Transformationen mit Umgruppierungen, Summenbildungen oder Sortierungen erforderlich. XSLT ist für solch aufwendige Operationen ausgelegt, aber Microsoft kann bei derartigen Anforderungen nicht von seiner schlechten Gewohnheit lassen, Standards proprietär zu verbiegen. Für die Iteration über Child-Knoten oder Berechnungen kommen so genannte "Functoids" zum Einsatz. Es handelt sich dabei um VB-Scripts, mit denen das generierte Stylesheet angereichert wird. Da die großen Schema-Repositories zukünftig auch Transformations-Scripts für gängige Umwandlungen hinterlegen werden, könnten sich diese XSLT/VB-Mixturen dort wiederfinden. Standardkonforme XSLT-Prozessoren können diese freilich nicht verarbeiten. Neben dem Mapping-Tool gehört zum Lieferumfang des BTS auch ein Schema-Editor, mit dem Unternehmen eigene Dokumenttypen definieren oder Schemata aus Beispieldokumenten generieren können.

Designwerkzeug für Business OrchestrationDas eigentliche Herzstück von Microsofts EAI-Angebot im Rahmen von Biztalk repräsentiert die mit dem Marketing-Terminus "Business Orchestration" geschmückte Komponente. Dort findet die Verarbeitung der über Business-Dokumente eingegangenen Informationen statt, sie ist auch für die Einbindung bestehender Anwendungen in die notwendigen Geschäftsprozeduren zuständig. Microsoft erhebt den Anspruch, damit Abläufe nicht nur unternehmensintern (A-to-A), sondern auch firmenübergreifend (B-to-B) abbilden zu können. Die Business Orchestration umfasst ein visuelles Design-Tool und eine Laufzeitkomponente.

Das Designwerkzeug beruht auf dem von Microsoft zugekauften Flowchart-Programm "Visio". Das Tool ist darauf ausgelegt, dass Geschäftsprozesse in der linken Fensterhälfte modelliert werden und Softwareentwickler anschließend die dort dargestellten Abläufe mit COM-Objekten auf der rechten Seite in Verbindung bringen. Dabei lässt sich jeder Zwischenschritt einer Geschäftsabwicklung mit Methodenaufrufen assoziieren. Beispielsweise könnte ein Bestellvorgang gleich zu Beginn ein Genehmigungsverfahren in einer Workflow-Anwendung anstoßen, von dessen Ausgang eine Weiterverarbeitung abhängig gemacht wird. Die von Microsoft beworbene Integrationsfähigkeit des BTS bedarf oft der Hilfe von Adaptern für kaufmännische Standardsoftware (R/3, Baan, Peoplesoft etc.) oder von Back-Office-Servern wie dem "Host Integration Server" (HIS). Zu dessen Lieferumfang gehören der COM Transaction Integrator (COM TI) und eine Brücke von MSMQ zu IBMs "MQ Series". Ersterer erlaubt Windows-Programmen den synchronen Aufruf von Host-Prozeduren, zweitere kann Transaktionen auf Mainframes asynchron veranlassen. Ein weiteres Produkt aus Microsofts Server-Angebot findet sich garantiert an der Seite des BTS wieder: Alle eingehenden Business-Dokumente sowie die Protokolle der getätigten Verarbeitungsschritte speichert er im "SQL Server".

Das Modellierwerkzeug exportiert die visuell gestalteten Geschäftsabläufe und die Assoziationen zu Programmen in Form eines XML-Dokuments. Für diesen Zweck hat Microsoft eine eigene XML-Anwendung namens "XLANG" definiert. Die in dieser Form vorliegenden Informationen steuern die Business Automation Engine, die Laufzeitkomponente der Business Orchestration. Auch wenn XLANG kein offener Standard ist, könnte sich Software anderer Hersteller in firmenübergreifende Vorgänge einklinken, die auf Basis des BTS entworfen wurden - und zwar wegen der einfachen Zugänglichkeit des XML-Formats. Dass Microsoft daran interessiert sein könnte, dafür sprechen auch Pläne, das Design-Tool mit der nächsten Version von "Visual Studio" auszuliefern.

Insgesamt hat sich die Gates-Company mit dem Biztalk-Server ein ehrgeiziges Ziel gesteckt, das über den XML-basierten Datenaustausch anderer Hersteller hinausgeht. Allerdings bleibt trotz der Nutzung offener Standards für die Kommunikation nach außen eine enge Bindung an die Windows-Plattform und an die von Microsoft ins Leben gerufene Biztalk.org. Die notorischen Abweichungen Microsofts bei der Umsetzung von Standards könnte sich als ein weiteres Hindernis für firmenübergreifende Geschäftsabläufe erweisen. Immerhin beteuern Firmenverantwortliche, dass der BTS auch XML-Nachrichten verarbeiten kann, die den Vorgaben anderer Initiativen folgen. Was solche Versprechungen wert sind, wird sich spätestens nach der Verabschiedung von ebXML erweisen.

Abb: Die von Microsoft als Business Orchestration benannte BTS-Komponente bietet vielfältige Möglichkeiten zur Anwendungsintegration. Quelle: Microsoft