Friday, April 06, 2007

Choreography vs. Orchestration

These two words are interchangeably used in Business Process Modeling/Management (BPM) related articles. But they are different in fact. In choreography, the services/business components are interconnected and programmed in such a way that they participate in a pre-planned business flow. Whereas in Orchestration, there will be a dedicated orchestrator who controls and decides who should work on what time and condition in the flow. This orchestrator will also be there in the runtime environment to coordinate activities of services (fine grained) and business components, but no one as choreographer in other case. BPEL Engine (Business Process Execution Language) is an orchestrator which uses BPEL in XML format as running script.