Viele Unternehmen benötigen heute die Unterstützung durch eine Informationstechnik (IT), mit der Geschäftsfunktionalität flexibel (wieder)verwendet werden kann. Sie stehen in einem dynamischen und von ständigem Wandel geprägten Umfeld und müssen deshalb schnell auf Veränderungen reagieren und Veränderungen selbst flexibel initiieren können.
Die Service-orientierte Architektur (SOA) ist ein vielversprechender Ansatz die Flexibilität der IT zu erhöhen.
Der Enterprise Service Bus ist die Middleware, die eine SOA unterstützt. Allgemein gesprochen ermöglicht ein Service Bus die standardbasierte, lose gekoppelte Kommunikation zwischen entfernten Diensten. Die Dienste sind durch abstrakte Endpunkte (z.B. als Adapter implementiert) an den Bus angeschlossen.
In einer auf Web Services und den Austausch von Nachrichten basierenden SOA definieren Message Exchange Patterns (MEPs) wiederverwendbare Abmachungen über den Ablauf des Nachrichtenaustauschs während eines „Dienstaufrufs“ und schaffen so ein einheitliches Verständnis der Teilnehmer über den Nachrichtenfluss.
MEPs beschreiben die Anforderungen eines Teilnehmers an die Kommunikation mit einem oder mehr Partnern. WSDL 2.0 hat ein MEP-Template zum Beschreiben des Kommunikationsverhaltens von Operationen eingeführt. Das Template kann mit einer Orchestrierungssprache verglichen werden, die den Nachrichtenfluss innerhalb einer Operation aus der Sicht des Dienstes beschreibt. Eine Operation kann so beispielsweise eine ganze Preisanfrage aus der Sicht des „Kunden“ mit mehreren Anbietern umfassen.
Diese Arbeit entwickelt einen Enterprise Service Bus, der komplexe MEPs nativ unterstützt. Die MEPs werden durch BPELlight (einem IDL-unabhängigen Dialekt von BPEL) formalisiert und der ESB prüft zur Laufzeit, ob die ausgetauschten Nachrichten den MEPs entsprechen.
Der Umfang erstreckt sich über den konzeptionellen Entwurf und die Umsetzung einer prototypischen Implementierung. Dazu gehört auch die Entwicklung einer Strategie, um abstrakte MEPs auf konkrete Transportprotokolle abzubilden. Dies stellt eine Herausforderung dar, da die vorhandenen Spezifikation zum Binden von WSDL auf Transportprotokolle nicht oder nur sehr am Rande auf komplexe MEPs eingehen.
Diese Arbeit zeigt, inwieweit sich ein ESB, der komplexe MEPs unterstützt, von einem herkömmlichen Bus unterscheidet. Dabei stellt sie heraus, wo neue Möglichkeiten und Herausforderungen entstehen.
|