I don’t really subscribe to the distinction between orchestration and choreography. For me the distinction is purely academic and provides little value in the practical world. Stefan Tikov’s blog entry on Choreography vs. Orchestration is a good entry point into the subject.

The two terms have concise and distinct meaning in the English language but they are used very loosely in computer science (particularly in respect to web services and BPMS). In fact there is so much overlap in our definition of orchestration and choreography that it only serves to confuse the market.

There are four specifications, namely BPEL, BPML,. WS-CDL and WSCI, which potentially fall into the orchestration and choreography bucket. From this group of specification I have noted the following, not so interesting point. The Web Services Choreography Description Language specification makes no mention of orchestration but makes extensive use of choreography. The Business Process Execution Language specification mentions neither orchestration or choreography. Finally, the Business Process Modeling Language specification makes a single reference to choreography (via a link to the WSCI specification).

There is so much overlap between the specification that we could merge them all into a single specification, dispense with one of the terms or come up with a complete new term like choreostration, without disrupting the market. In the vendor space no one is currently supporting WS-CDL or WSCI and there are only a handful supporting either BPEL or BPML (actually only one that I know off supports BPML).

In the customer space who is going to purchase an orchestration engine without so called choreography capabilities or visa versa. Maybe those that will buy a workflow system without BPMS capabilities.