W3C has issued a second published Working Draft of Web Services Choreography Description Language Version 1.0, produced by the Web Services Choreography Working Group as part of the W3C Web Services Activity. This release is expected to be the last version before Last Call Working Draft.
The Web Services Choreography Description Language (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 Choreography specification is motivated by a recognition that "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 Services Choreography 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.
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.
A WS-CDL document as defined in the Web Services Choreography Description Language specification is "simply a set of definitions: each definition is a named construct that can be referenced; there is a package element at the root, and the individual Choreography type definitions inside. A WS-CDL Choreography Package aggregates a set of Choreography type definitions, provides a namespace for the definitions and through the use of XInclude, syntactically includes Choreography type definitions that are defined in other Choreography Packages."
Bibliographic Information
Web Services Choreography Description Language Version 1.0. Edited by Nickolas Kavantzas (Oracle), David Burdett (Commerce One), Gregory Ritzinger (Novell), and Yves Lafon (W3C). W3C Working Draft. 12-October-2004. Version URL: http://www.w3.org/TR/2004/WD-ws-cdl-10-20041012/. Latest version URL: http://www.w3.org/TR/ws-cdl-10/. Previous version URL: http://www.w3.org/TR/2004/WD-ws-cdl-10-20040427/.
Introduction to Web Services Choreography Description Language
"For many years, organizations have being developing solutions for automating their peer-to-peer collaborations, within or across their trusted domain, in an effort to improve productivity and reduce operating costs.
The past few years have seen the Extensible Markup Language (XML) and the Web Services framework developing as the de-facto choices for describing interoperable data and platform neutral business interfaces, enabling more open business transactions to be developed.
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 protocol 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
UDDI: 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
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 peer-to-peer 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 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..." [from the W3C Working Draft 12-October-2004]
WS-CDL Among BPM Interchange Formats
"A Comparison of XML Interchange Formats for Business Process Modelling." By Jan Mendling and Gustaf Neumann (Vienna University of Economics and BA, Wien, Austria); Markus Nüttgens (Hamburg University of Economics and Politics, Germany). Paper presented at EMISA 2004, "Information Systems in E-Business and E-Government", Workshop organized by the special interest group "EMISA - GI - Development Methods for Information Systems and their Application", Centre de Recherche Public - Gabriel Lippmann, Luxembourg, October 6-8, 2004.
This paper addresses heterogeneity of business process metamodels and related interchange formats. The different approaches towards interchange format design and effects of interchange format specification are presented first. In particular completeness is identified as an important design criterion for interchange formats. Afterwards the superset of metamodel concepts is extracted from fifteen (15) currently available XML-based specifications for business process modelling. Furthermore, these concepts are used as a framework for comparing the completeness of the fifteen specifications (BPDM, BPEL4WS, BPML, BPMN, BPSS, EPML, OWL-S, PNML, UML Activity Diagram, WS-CDL, WSCI, WSCL, WSFL, XLANG, XPD). Thirteen metamodel concepts used in the analysis included Task I/O, Task Address, Protocol, Control Flow, Data Handling, Instance Identity, Roles, Quality Attributes, Events, Exceptions, Transactions, Graphic Position, and Statistical Data. The thirteen metamodel concepts were taken as a benchmark to compare the completeness of the 15 business process modelling interchange format proposals. The interchange formats are used in at least four different areas of application: (1) Composition: Composition refers to the definition of the internal implementation of executable business processes; Web Service composition defines executable business processes that are built from a set of Web Services; (2) Choreography: Choreography defines externally observable behavior of a business process; eb Service choreography refers to the correct content and order of messages that two parties exchange in a business process; (3) Business Analysis: Business analysis refers to the presentation of business processes to managers; it builds on visualization of processes and annotation with statistics; (4) Formal Analysis: This application refers to the verification of different formal quality criteria; these include e.g., soundness... With our work we aim to contribute to a better comparison of heterogenous approaches towards BPM which may finally result in a BPM reference metamodel and a related general interchange format for BPM. Yet, the high-level metamodel concepts identified in this paper need further in-depth analysis similar to the workflow pattern analysis reported in van der Aalst et al., 'Workflow Patterns', Distributed and Parallel Databases 14/1, July 2003, pages 5-51. Such analysis will be subject to future research..." [cache]
Principal references:
- Web Services Choreography Description Language Version 1.0. W3C Working Draft. 12-October-2004. Section 9 presents the WS-CDL XSD Schemas.
- Diff-marked version.
- W3C Web Services Choreography Working Group
- Web Services Choreography Working Group Charter
- Working Group Participants
- Summary of IPR and patent-related information
- Discussion list archives for public mailing list 'public-ws-chor@w3.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 public-ws-chor-comments@w3.org, a publicly archived list.
- W3C contact: Philippe Le Hégaret (W3C Architecture Domain Leader).
- "Web Services Choreography Requirements." W3C Working Draft. 11-March-2004.
- "WS Choreography Model Overview." W3C Working Draft 24-March-2004.
- "W3C Publishes Web Services Choreography Description Language (WS-CDL)." News story 2004-04-27.
- "Web Services Architecture." W3C Working Group Note. 11-February -2004.
- "Architecture of the World Wide Web, First Edition." W3C Working Draft. 9-December-2003.
- W3C Web Services Activity
- W3C Web Services Activity Statement
- W3C Web Services Description Working Group
- W3C Web Services Description WG Charter
- Related:
- 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
- Other:
- "Standards for Business Process Modeling, Collaboration, and Choreography" - Main reference page.
- "Messaging and Transaction Coordination" - Main reference page.