Web Service Choreography
Web Service Choreography (WS-Choreography) is a specification by the W3C defining an XML-based business process modeling language that describes collaboration protocols of cooperating Web Service participants, in which services act as peers, and interactions may be long-lived and stateful. (Orchestration is another term with a very similar, but still different meaning.)
The main effort to get a choreography, The W3C Web Services Choreography Working Group, was closed on 10 July 2009 leaving WS-CDL as a Candidate Recommendation.
Service choreography is a form of service composition in which the interaction protocol between several partner services is defined from a global perspective. The intuition underlying the notion of service choreography can be summarised as follows:
“Dancers dance following a global scenario without a single point of control"
That is, at run-time each participant in a service choreography executes its part of it (i.e. its role) according to the behavior of the other participants. A choreography's role specifies the expected messaging behavior of the participants that will play it in terms of the sequencing and timing of the messages that they can consume and produce.
"Many presentations at the W3C Workshop on Web services of 11–12 April 2001 pointed to the need for a common interface and composition language to help address choreography. The Web Services Architecture Requirements Working Draft created by the Web Services Architecture Working Group also lists the idea of Web service choreography capabilities as a Critical Success Factor, in support of several different top-level goals for the nascent Web services architecture".
The problem of choreography was (and still is) of great interest to the industry during that time efforts such as WSCL (Web Service Conversation Language) and WSCI (Web Service Choreography Interface) were submitted to W3C and were published as Technical Notes. Moreover complementary efforts were launched :
"In June 2002, Intalio, Sun, BEA and SAP released a joint specification named Web Services Choreography Interface (WSCI). This specification was also submitted to W3C as a note in August 2002. W3C has since formed a new Working Group called Web Services Choreography Working Group within the Web services Activity. The WSCI specification is one of the primary inputs into the Web Services Choreography Working Group which published a Candidate Recommendation on WS-CDL version 1.0 on November 9th, 2005". "XLang, WSFL and WSCI are no longer being supported by any standard organization or companies. BPEL replaced Xlang and WSFL WSCI was superseded by WS-CDL".
The upcoming Business Process Modeling Notation version 2.0 will introduce diagrams for specifying service choreographies. The academic field has put forward other service choreography languages, for example Let's Dance, BPEL4Chor and MAP.
- BPEL - OASIS standard
- A Theoretical Basis of Communication-Centred Concurrent Programming
- Towards the Theoretical Foundation of Choreography
- Exploring Into the Essence of Choreography
- Web Services Choreography Working Group at W3
- S-Cube Knowledge Model: Service Choreography
- Chris Peltz: Web Services Orchestration and Choreography. IEEE Computer (COMPUTER) 36(10):46-52 (2003)
- Zongyan Qiu, Xiangpeng Zhao, Chao Cai, Hongli Yang: Towards the theoretical foundation of choreography. WWW 2007:973-982
- Jack Vaughan: BPMN 2.0 adds notation to handle BPM choreography. SearchSOA.com
- Johannes Maria Zaha, Alistair P. Barros, Marlon Dumas, Arthur H. M. ter Hofstede: Let's Dance: A Language for Service Behavior Modeling. OTM Conferences 2006:145-162
- Gero Decker, Oliver Kopp, Frank Leymann, Mathias Weske: BPEL4Chor: Extending BPEL for Modeling Choreographies. ICWS 2007:296-303
- Adam Barker, Christopher D. Walton, David Robertson: Choreographing Web Services. IEEE Transactions on Services Computing, volume 2, number 2, pages 152-166, IEEE Computer Society, April–June 2009
- Web Service Choreography Description Language - W3C specification for WS-Choreography
- Web Service Choreography Description Language: Primer -
- Web Service Choreography Interface (WSCI) 1.0 - specification by Intalio, Sun, BEA and SAP; input into WS-Choreography
- Large-scale Choreographies for the Future Internet - European Commission FP7 Research Project
- Web services choreography in practice - Motivation and description of WSCI
- Service Choreographies - Site promoting the concept of service choreography as a basis for service-oriented systems design. The site also describes a language for modeling choreographies on top of WSCI, namely Let's Dance.