- Choreography
-
Dienstkomposition (engl.: service composition) ist ein Begriff aus der Informatik und beschreibt die Art und Weise wie Dienste miteinander verknüpft sind. Da der Begriff meistens im Bereich der Serviceorientierten Architektur verwendet wird, ist er auch unter Web Service Composition geläufig. Es werden zwei Arten der Kompositionen unterschieden: Orchestrierung und Choreographie. Eine Dienstkomposition kann aus einer oder beiden Arten bestehen.
Inhaltsverzeichnis
Orchestrierung
Orchestrierung (engl.: orchestration) beschreibt einen ausführbaren Geschäftsprozess; dabei können sowohl unternehmensinterne als auch unternehmensexterne Dienste orchestriert werden. Der Prozessfluss wird durch einen Teilnehmer kontrolliert. Jeder Dienst hat dabei einen eingeschränkten Sichtbereich (engl. Scope) und kann für Prozesse nur innerhalb seines Sichtbereichs entscheiden. Aktivitäten hinter einem direkten Kommunikationspartner bleiben verborgen. WS-BPEL ist ein Beispiel für eine Sprache zur Orchestrierung von Web Services.
Choreographie
Bei der Choreographie (engl.: choreography) beschreibt jeder Dienst seine eigene Aufgabe in der gesamten Komposition. Es gibt keinen zentralen Punkt, der die Korrektheit und Aufgabenerfüllung kontrolliert. Der Fokus liegt auf dem Nachrichtenaustausch zwischen den Diensten. WS-CDL ist ein Beispiel für eine Choreographiesprache.
Abgrenzung Orchestrierung und Choreographie
Die Orchestrierung enthält eine Beschreibung der Services, ihre Bedingungen zum Aufruf sowie Abhängigkeiten und Alternativen. Dabei ist der Prozess aus der Perspektive eines der "Beteiligten" gesehen, d.h. dieser ruft andere Prozesse auf.
Im Gegensatz dazu beschreibt Choreographie, wie die einzelnen Prozesse untereinander agieren. Entsprechend dem Bild rechts ist die Orchestrierung die lokale Beschreibung eines (Geschäfts-)Prozesses (im Bild blau), wohingegen die Choreographie die Interaktion mehrerer Prozesse umfasst (im Bild rot).
Beispiele
Als Beispiel für eine Orchestrierungssprache wäre WS-BPEL zu nennen. Im Gegensatz dazu wäre WS-CDL ein Beispiel für eine Choreographiesprache.
Wikimedia Foundation.