Web Services: Choreography vs. Orchestration

Auf der Suche nach einer schönen Definition des Unterschieds zwischen den Web Service-Begriffen Choreography und Orchestration bin ich auf diese schöne Definition im Blog von Stefan Tilkov gestoßen (übersetzt aus dem Englischen):

Bei der Orchestrierung, gibt es jemanden - den Dirigenten - der den Orchestermitgliedern sagt, was sie zu tun haben und sicherstellt, dass der Takt eingehalten wird. Bei der Choreographie folgen die Tänzer einem definierten Plan - aber jeder unabhängig voneinander.

Die Definition ist gleichzeitig eine gute Gedächtnisstütze, da die Analogie perfekt zu den Begriffen passt. Eine weitere Definition von Paul Downey vergleicht Orchestration mit einer zentral gesteuerten Ampel, bzw. Choreography mit einem Kreisverkehr, wo jeder Teilnehmer Regeln folgt, denen zuvor zugestimmt wurde.

Der Unterschied zwischen den beiden Begriffen ist, und da sind sich die meisten Kommentatoren einig, jedoch eher akademischer Natur. Der Nutzen der Unterscheidung in der Praxis ist eher gering.