Choreography and Orchestration

Many BPM commentators distinguish between the “orchestration” and “choreography” of web services. Both concepts imply coordination or control—the act of making individuals web services work together to form some coherent overall process. Orchestration, by convention, refers to coordination at the level of a single participant’s process, whereas choreography refers to the global view, spanning multiple participants.

The distinction at first glance seems arbitrary. After all, are not the English words nearly synonymous? How is the direction of dancers fundamentally different from the arrangement of instruments? The terminology is suspect. Better terms, perhaps, are “subjective” and “objective,” or “local” and “global.” But regardless of the words used, the need for a distinction is crucial.

If modern BPM is about communicating business processes, then understanding the overall communication spanning all the processes is as important as understanding the behavior of any one process. Most BPM languages—such as BPEL, BPML, BPMN, and XPDL—focus on one process and its interactions. In purchasing, for example, the exchange of messages among buyer, seller, inventory, and credit card company is complex, but BPEL characteristically isolates one of the participants and documents its internal processes and interaction touchpoints. The BPEL approach is fundamentally subjective: if I am a seller, here is my process, and along the way, I talk to the buyer, inventory, ...

Get Essential Business Process Modeling now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.