Talking about choreography and orchestration in Web Services

In this paper we are going to become familiar with basic concepts of Web Services' cooperation to achieve a specific goal.


Choreography and orchestration define business processes that interact with external entities through Web Services operations using an XML based language, even though they are not synonyms.

Orchestration.

Orchestration defines a business process that is a logical and chronological sequence of actions part of process to achieve a goal. This orchestration can be given to a business process engine to coordinate the activities related to the process with links to external components such as Web Services. It is from the viewpoint of one participant for example a peer to peer model. In orchestration, there is someone - the conductor - who tells everybody in the orchestra what to do and makes sure they all play in sync. Business Process Execution Language (BPEL) is the dominant process orchestration language.

Choreography.

The principal motivation behind choreography is to ensure interoperability between a set of peer services. In choreography, we have several services and the need to cooperate to achieve a goal, but we don't want to take any partner's perspective (buyer's perspective, or the seller's perspective or the shipper's perspective). We define the business process from a high level global viewpoint. Choreography describes the sequence of interactions for Web service messages - it defines the conditions under which a particular web service operation can be invoked. Web Services Choreography Description Language (WS-CDL) is the leading choreography language.

 

WS-CDL and BPEL differences.

 

Any real business transaction isn't just one function call, it's a sequence of function calls and it may be lots of things in parallel between different services that occur. BPEL is about how to construct Web Services out of existing Web services and the execution is done by a Business Process Management engine. It follows the concepts of programming in the large distinguished in the writing type of long-running asynchronous processes that are typically in business process.

Choreography is completely complementary to that. WS-CDL is an unambiguous way of describing the relationships between the services in a peer-to-peer collaboration without necessitating any orchestration at all. That's very important because if my business and your business are talking together, I can guarantee you that neither of us would accept orchestrating the other's services.