25.01.06

Workflows orchestrieren oder choreographieren

Posted in Projektmanagement at 16:07:35

In einer idealen Welt würde die komplette IT nur als Services bestehen welche offene Schnittstellen besitzen.

Leute, die erstmalig mit der Idee einer SOA konfrontiert werden, stellen folgende Frage: Wo liegt eigentlich das Wissen über den Geschäftsprozess? Kennen die einzelnen Services ihn selber (sprich, man ruft einen (Wrapper-)Service auf und der weiß, was zu tun ist)? Oder gibt es eine übergeordnete Instanz welche den Workflow kennt und die einzelnen Services sind sozusagen prozessblind?

Die Antwort: Kann man beides machen. In manchen Veröffentlichungen werden dafür folgende Begriffe benutzt: Choreographieren und Orchestieren.
Orchestieren: Eine zentrale Workflow-Engine besitzt das Prozesswissen. Die Services kennen keine Prozesse und rufen sich nicht gegenseitig auf. Angenommen, es gibt die Services “Kunde-Anlegen”, “Adresse-Prüfen” und “Bonität-Prüfen”. So wird ein zentrale Workflow zuerst “Kunde-Anlegen” und dann “Adresse-Prüfen” aufrufen. Anschließend gibt es eine Regel in der WF-Engine die besagt, wenn Bestellwert>1000 dann “Bonität-Prüfen” aufrufen.
Choreographieren: Die Services sind so mächtig, dass sie wissen, was zu tun ist. Der Service “Kunde-Anlegen” aus dem oben genannten Beispiel würde also von sich aus den Service “Adresse-Prüfen” aufrufen und das Ergebnis verarbeiten.

Dummerweise verwechsel ich die Begriffe immer wieder und google ist gerade auch keine Hilfe. Argh …

RSS feed for comments on this post · TrackBack URL

Leave a Comment