The difference between orchestration and choreography boils down to *perspective*. This is best illustrated by the diagram below, which depicts three participants collaborating in a business process (i.e. purchase and ship a book).

Choreography is concerned with all the message exchanges between all the participants engaged in the process. It’s a birds-eye perspective of the process. Orchestration, on the other hand is only interested with the message changes from the perspective of a single participant. Therefore in the diagram below, we have the yellow circle which represents the birds-eye perspective and the red ovals, which represent each participant’s perspective.

choreo-orch.JPG

In the specification space WS-CDL could be used to specify the choreography and WS-BPEL the orchestration. In fact once we have a WS-CDL document of the process we should be able to generate the skeleton WS-BPEL documents for each participant.