W3C has published a Last Call Working Draft for Web Services Choreography Description Language Version 1.0, inviting public comment and discussion through 31-January-2005.
WS-CDL is "an XML-based language that describes peer-to-peer collaborations of parties by defining, from a global viewpoint, their common and complementary observable behavior, where ordered message exchanges result in accomplishing a common business goal. The specification is targeted for composing interoperable, peer-to-peer collaborations between any type of party regardless of the supporting platform or programming model used by the implementation of the hosting environment."
The W3C Web Services Choreography Working Group addressed two issues in connection with the Last Call WD but "does not believe that the resolution will result in a substantive change: (1) no recommendation can now be given for accessing and modifying members of lists and arrays; (2) a proposal for extending choreographies (specifying a choreography by defining how it is based on another choreography) is not yet finalized, but this is not expected to have a major impact on the architecture.
A key notion in the W3C Web Services Choreography specification is that a contract contains a "global definition of the common ordering conditions and constraints under which messages are exchanged is produced that describes from a global viewpoint the common and complementary observable behavior of all the parties involved. Each party can then use the global definition to build and test solutions that conform to it. The global definition approach separates the process being followed by an individual business or system within a 'domain of control' from the definition of the sequence in which each business or system exchanges information with others. This means that, as long as the 'observable' sequence does not change, the rules and logic followed within the domain of control can change at will."
Defining the rules of engagement in global terms is important because in real-world scenarios, "corporate entities are often unwilling to delegate control of their business processes to their integration partners. Choreography offers a means by which the rules of participation within a collaboration can be clearly defined and agreed to, jointly. Each entity may then implement its portion of the Choreography as determined by the common view."
The WS-CDL specification depends upon other W3C Recommendations, including XML 1.0, XML-Namespaces, XML-Schema 1.0, and XPath 1.0. Support for including and referencing service definitions given in WSDL 2.0 is also a normative part of the Web Services Choreography Description Language specification.
Web Services Choreography Description Language as a choreography language is not an executable business process description language nor an implementation language, as a choreography language meeting the W3C model definition does not depend on a specific business process implementation language.
Web Services Choreography Description Language Version 1.0. Edited by Nickolas Kavantzas (Oracle), David Burdett (Commerce One), Gregory Ritzinger (Novell), Tony Fletcher (Choreology), and Yves Lafon (W3C). W3C Working Draft. 17-December-2004. Version URL: http://www.w3.org/TR/2004/WD-ws-cdl-10-20041217/. Latest version URL: http://www.w3.org/TR/ws-cdl-10/. Previous version URL: http://www.w3.org/TR/2004/WD-ws-cdl-10-20041012/.
From the WS-CDL Last Call Working Draft Introduction
"Web Services are a key component of the emerging, loosely coupled, Web-based computing architecture. A Web Service is an autonomous, standards-based component whose public interfaces are defined and described using XML. Other systems may interact with a Web Service in a manner prescribed by its definition, using XML based messages conveyed by Internet protocols.
The Web Services specifications offer a communication bridge between the heterogeneous computational environments used to develop and host applications. The future of E-Business applications requires the ability to perform long-lived, peer-to-peer collaborations between the participating services, within or across the trusted domains of an organization.
The Web Service architecture stack targeted for integrating interacting applications consists of the following components:
- SOAP: defines the basic formatting of a message and the basic delivery options independent of programming language, operating system, or platform. A SOAP compliant Web Service knows how to send and receive SOAP-based messages
- WSDL: describes the static interface of a Web Service. It defines the message set and the message characteristics of end points. Data types are defined by XML Schema specification, which supports rich type definitions and allows expressing any kind of XML type requirement for the application data
- Registry: allows publishing the availability of a Web Service and its discovery from service requesters using sophisticated searching mechanims
- Security layer: ensures that exchanged information are not modified or forged in a verifiable manner and that parties can be authenticated
- Reliable Messaging layer: provides exactly-once and guaranteed delivery of information exchanged between parties
- Context, Coordination and Transaction layer: defines interoperable mechanisms for propagating context of long-lived business transactions and enables parties to meet correctness requirements by following a global agreement protocol
- Business Process Languages layer: describes the execution logic of Web Services based applications by defining their control flows (such as conditional, sequential, parallel and exceptional execution) and prescribing the rules for consistently managing their non-observable data
- Choreography layer: describes collaborations of parties by defining from a global viewpoint their common and complementary observable behavior, where information exchanges occur, when the jointly agreed ordering rules are satisfied
The Web Services Choreography specification is aimed at the composition of interoperable collaborations between any type of party regardless of the supporting platform or programming model used by the implementation of the hosting environment..."
- Web Services Choreography Description Language Version 1.0. W3C Working Draft. 17-December-2004.
- WS-CDL Diff Version. Diff-marked HTML document showing Working Drafts from 12-October-2004 and 17-December-2004.
- Last Call Issues
- W3C news item
- Working Group references:
- W3C Web Services Choreography Working Group
- Web Services Choreography Working Group Charter
- Working Group Participants
- Discussion list archives for public mailing list 'firstname.lastname@example.org'. A mailing list for technical discussions of the Web Services Choreography Working Group.
- Comments: feedback on the WS-CDL document should be sent to email@example.com, a publicly archived list.
- Summary of IPR and patent-related information
- W3C contact: Philippe Le Hégaret (W3C Architecture Domain Leader).
- "Web Services Choreography Requirements." W3C Working Draft. 11-March-2004.
- Earlier references:
- Related references:
- Business Process Execution Language for Web Services (BPEL4WS)
- Business Transaction Protocol (BTP)
- OASIS Asynchronous Service Access Protocol TC
- OASIS Web Services Composite Application Framework (WS-CAF) Technical Committee
- W3C Web Services Choreography Working Group
- Web Service Choreography Interface (WSCI)
- Web Service Composite Applications Framework (WS-CAF)
- Web Services Choreography Description Language (WS-CDL)
- Web Services Conversation Language (WSCL)
- Web Services Transaction Framework
- Web Services Atomic Transaction (WS-AtomicTransaction) [replaces WS-Transaction-V1, Part I]
- Web Services Coordination (WS-Coordination) [Version 2]
- Web Services Business Activity (WS-BusinessActivity) [to replace WS-Transaction-V1, Part II]
- Web Services Transaction (WS-Transaction) [Version 1]
- Web Services Coordination (WS-Coordination) [Version 1]
- WS Choreography
- Business Process Management Initiative Specifications (BPML, BPMN, BPQL)
- Business Process Specification Schema (BPSS), including:
- OMG Business Process Definition
- Workflow Standard XML Process Definition Language (XPDL)
- Web Services Flow Language (WSFL)
- "Standards for Business Process Modeling, Collaboration, and Choreography" - Main reference page.
- "Messaging and Transaction Coordination" - Main reference page.