Web Services Choreography Description Language (WS-CDL)

April 19, 2012

WS-CDL, stands for Web Services Choreography Description Language, which is an XML-based language that describes peer-to-peer collaborations. WS-CDL is a language for specifying peer-to-peer protocols where no party is master over the other and each party will remain autonomous. Each party (peer) sends messages and WS-CDL choreographs how the Web Services are consumed, making use of their functionality to accomplish a common business goal. Standards for service composition cover three different, although overlapping, viewpoints: Choreography, Behavioral Interface, and Orchestration. This blog will focus on choreography. One major difference I would like to point out about orchestration is that orchestration focuses on the behavior of a single participation.

Choreography is concerned with global, multi-party, peer-to-pear collaborations interoperable between any type of application components, regardless of the supporting platform or programming model used, being distributed within or across an organization’s trusted domain. Choreography does not depend on a centralized controller. It was initially designed by Oracle and then submitted into the W3C Choreography in September 2003.

In real-world scenarios, corporate entities often do not allow control of their business processes to their integration partners. Choreography is a way by which the rules of participation with a collaboration can be clearly defined and agreed to. Each entity may then implement its portion of the choreography as determined by the common or global view. It is the intent of WS-CDL is to make each common view expressed easy to determine.

The figure below demonstrates a possible usage of WS-CDL

In Figure above, Company A and Company B wish to integrate their Web Services based applications. The respective business analysts at both companies agree upon the services involved in the collaboration, their interactions, and their common ordering and constraint rules under which the interactions occur. They then generate a WS-CDL based representation. In this example, a choreography specifies the interactions between services across business entities ensuring interoperability, while leaving actual implementation decisions in the hands of each individual company:

  • Company "A" relies on a WS-BPEL [WSBPEL] solution to implement its own part of the choreography
  • Company "B", having greater legacy driven integration needs, relies on a J2EE [J2EE] solution incorporating Java and Enterprise Java Bean Components or a .NET [C#S] solution incorporating C# to implement its own part of the choreography

Similarly, a choreography can specify the interoperability and interactions between services within one business entity.1

The goals of the WS-CDL specification are to permit:

1. Reusability

2. Cooperation

3. Multi-Party Collaboration

4. Semantics

5. Composability

6. Modularity

7. Information Driven Collaboration

8. Information Alignment

9. Exception Handling

10. Transactionality

11. Specification Composability

The specification of WS-CDL does depend on some specifications of other languages, a couple in particular are XML 1.0 and support for including and referencing service definitions given in WSDL 2.0 is a normative part of the WS-CDL specification. WS-CDL is not an “executable business process description language” or an implementation language.

Choreography combines actions with common behavioral characteristics, forming a collaboration unit of work. The WS-CDL model allows scalable modeling by: building smaller choreographies first, combines them together to form a larger choreography, then do participant projections to get a participant’s viewpoint.

The benefits of Web Services Choreography includes:

1. Promoting a common understanding between WS participants

2. Automatically guarantee conformance

3. Ensure interoperability.

4. Increase robustness

5. Generate code skeletons

6. More robust Web Services to be constructed

7. Enable more effective interoperability of Web Services through behavioral multi-party contracts

Which are choreography descriptions

8. Reduce the cost of implementing Web Services by ensuring conformance to expected behavior

9. Increase the utility of Web Services, as they will be able to be shown to meet contractual behavior.

-Larry Robinson (EGR644, Spring 2012)


1. http://www.w3.org/TR/ws-cdl-10/#Purpose-of-WS-CDL

2. http://www.rimtengg.com/coit2007/proceedings/pdfs/49.pdf

3. http://www.bptrends.com/publicationfiles/03-05%20WP%20WS-CDL%20Barros%20et%20al.pdf

4. http://lists.w3.org/Archives/Public/www-archive/2004Jun/att-0008/WS-CDL-April2004.pdf


One Response to “Web Services Choreography Description Language (WS-CDL)”

  1. Cedric Matthews said

    Thank you for providing this blog and the details about WS-CDL. It is certainly worth being knowledgeable about this capability to efficiently utilize web services for one’s business. Ensuring your businesses interoperability across web services is the key to success these days.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s