Web-Service-Orchestrierung bezeichnet einen Ansatz zur Komposition von Web-Services zur Realisierung ausführbarer Geschäftsprozesse. Die Geschäftsprozesslogik, d.h. die Reihenfolge und Ausführungsbedingungen der Aufrufe firmeneigener und externer Web-Services, wird auf der Nachrichtenebene aus der Sicht und unter der Kontrolle eines Unternehmens beschrieben.
Komposition von Web-Services durch Orchestrierung
Geschäftsprozesse sind ein zentrales Thema in der Unternehmens-IT. Workflow-Management-Systeme (WMS) dienen dazu, modellierte Prozesse ausführbar zu machen. Das Problem klassischer WMS ist, dass sie eine homogene IT-Landschaft voraussetzen, und zur Integration heterogener Systeme spezielle Einzellösungen entwickelt werden müssen. Der Einsatz von Web-Service-Technologien verspricht hier eine Entschärfung dieses Problems durch den standardisierten, plattformunabhängigen Zugriff auf Systemfunktionalität.
Web-Services reichen dabei von einfachen Diensten bis zu komplexen prozessorientierten betrieblichen Anwendungen, die selbst wieder mehrere Web-Service-Aufrufe beinhalten können. Um system-, abteilungs- und unternehmensübergreifende Geschäftsprozesse mit Hilfe von Web-Services zu realisieren, benötigt man Methoden zur Komposition, d.h. zum Zusammenfügen mehrerer Web-Services zu einer Geschäftsanwendung bzw. einem Geschäftsprozess. Hierfür gilt es, neben der Beschreibung und Implementierung der einzelnen Anwendungsfunktionen (den eigentlichen Web-Services), die getrennt zu betrachtende Geschäftsprozesslogik (Kontroll- und Datenfluss, transaktionales Verhalten etc.) festzulegen.
Entsprechend der Definition des Begriffs Orchestrierung der Web Services Architecture Working Group des W3C bezeichnet Orchestrierung einen Ansatz zur Komposition von Web-Services zur Realisierung ausführbarer Geschäftsprozesse [Haas, Brown 2004]. Dabei stellt der Geschäftsprozess als Ganzes wiederum einen Web-Service bzw. eine Web-Service-Operation dar und kann ebenso wie einfache Web-Services über WSDL beschrieben und über SOAP aufgerufen werden (rekursive Komposition). Orchestrierung definiert – auf der Nachrichtenebene – die ausführbare Geschäftsprozesslogik, d.h. die Reihenfolge und Ausführungsbedingungen der Aufrufe firmeneigener und externer Web-Services aus der Sicht eines Unternehmens. Zu diesem Zweck muss für jeden zu unterstützenden Prozesstyp eine Prozess-Beschreibung generiert und im Laufzeitsystem hinterlegt werden. Sie legt fest, welche Web-Services (bzw. Web-Service-Operationen) in welcher Reihenfolge und unter welchen Bedingungen ausgeführt werden sollen. Die Koordinierung der Interaktionen mit beteiligten Web-Services wird von einer zentralen Steuerungseinheit (engl. orchestration engine) übernommen.
Choreographie, Orchestrierung und abstrakte Prozesse
Choreographie, Orchestrierung und abstrakte Prozesse (engl. behavioral interfaces) bezeichnen Ansätze zur Komposition von Web-Services zu aggregierten Diensten bzw. Prozessen. Die Abgrenzung und das Zusammenspiel der genannten Ansätze ist im Stichwort Web-Service-Choreographie dargestellt.
WS-BPEL und Werkzeugunterstützung
Die Web-Services Business Process Execution Language (WS-BPEL) ist eine weitverbreitete Sprache zur Beschreibung von Geschäftsprozessen, deren einzelne Aktivitäten durch Web-Services implementiert sind. Die im Jahr 2002 von IBM, BEA Systems und Microsoft eingeführte XML-basierte Sprache wurde 2004 von der OASIS als Spezifikation WS-BPEL freigegeben [OASIS 2007]. WS-BPEL erlaubt die Festlegung komplexer Ablaufsteuerungen, die Verwendung von Variablen, Fehlerbehandlungsroutinen, Transaktionskontrolle, oder die Reaktion auf bestimmte Sprachkonstrukte vergleichbar mit höheren Programmiersprachen. WS-BPEL-Skripte können auf einen Orchestrierungs-Server (WS-BPEL engine) geladen und dort zur Ausführung gebracht werden (engl. deployment).
Zur Unterstützung bei der Erstellung von WS-BPEL-Skripten existieren sogenannte BPEL-Designer. Dies sind Modellierungswerkzeuge um das Erstellen von Geschäftsprozessen so transparent wie möglich zu machen. Der Prozessmodellierer stellt dabei mit einem grafischen Editor die einzelnen Abläufe dar. Des Weiteren unterstützen moderne Entwicklungsumgebungen auch zu einem hohen Grad den Export von in anderen Modellierungssprachen wie EPK, BPML, oder Petri-Netzwerken formulierten Prozessdefinitionen in WS-BPEL (und umgekehrt).
Literatur
Haas, Hugo; Brown, Allen: W3C Web Services Glossary (2004). http://www.w3.org/TR/2004/NOTE-ws-gloss-20040211 (Abruf 3.8.2008).
OASIS WSBPEL TC: Web Services Business Process Execution Language Version 2 Specification (2007). http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel (Abruf 2.8.2008).