To continue reading for free, register below or login
To read more you must become a member of SearchSOA.com
');
// -->

The orchestration and choreography are both critical pieces of collaboration layer of service orientation (SOA+BPM). Each of them have a distinct purpose but need to perform together to achieve service orientation. However there seems to be lot of confusion on the use of these two terms. The terms have very close resemblance in meaning to the real world musical which has both Orchestra and Choreography.
OMG refers to orchestration as "the modeling of directed, internal business processes" and choreography as "the specification of interactions between autonomous processes".
Orchestration in business processes is a series of activities in a controlled work flow – typically involving one single swim lane. Where as choreography relates to observable public exchange of messages, rules of interaction and agreements between two or more business process end points and can address the collaboration among multiple swim lanes.
There are several design factors which need to be addressed to achieve orchestration and choreography.
The key design attributes for Orchestration include participant and role definition, variables, properties which enable conversation, fault handlers for exception processing, compensation handlers for error recovery and event handlers to respond to concurrent events with the process itself and set of activities.
For Choreography, message structure, asynchronous communication, message rules, invocation, events and event handling are some of the important design factors.
|