The document describes WSCDL (Web Services Choreography Description Language), which provides a standardized way to precisely define the rules and interactions between participants in a business collaboration. WSCDL allows collaborations to be described from a global viewpoint, defining the common observable behaviors and information exchanges. Its goals include supporting reusability, multi-party collaborations, composability, and exception handling. The WSCDL model defines elements such as roles, relationships, information exchange, and activities to describe collaborations using channels of interaction.
1. WSC - Web Services Choreography
Description Language
2. Purpose of WSCDL
Introduction
Business or other activities that involve different organizations or independent processes
are
engaged in a collaborative fashion to achieve a common business goal
i.e. Order Fulfillment.
For the collaboration to work successfully, the rules of engagement between all the
interacting participants must be provided.
Whereas today these rules are frequently written in English, a standardized way for
precisely defining these interactions, leaving unambiguous documentation of the
participants and responsibilities of each, is missing.
3. The WSCDL specification is aimed at being able to precisely describe collaborations
between any type of participant regardless of the supporting platform or programming
model used by the implementation of the hosting environment.
WSCDL specification
4. Using the WSCDL specification, a contract containing 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 participants involved.
Each participant can then use the global definition to build and test solutions that
conform to it.
The global specification is in turn realized by combination of the resulting local
systems, on the basis of appropriate infrastructure support.
WSCDL specification
5. The advantage of a contract based on a global viewpoint as opposed to any one endpoint
is that it separates the overall "global" process being followed by an individual business or
system within a "domain of control" (an endpoint) from the definition of the sequences in
which each business or system exchanges information with others.
This means that, as long as the "observable" sequences do not change, the rules
and logic followed within a domain of control (endpoint) can change at will and
interoperability is therefore guaranteed.
WSCDL specification
6. 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 or global view.
It is the intent of WSCDL that the conformance of each implementation to the
common view expressed therein is easy to determine.
WSCDL specification
7. The figure below demonstrates a possible usage of WSCDL.
WSCDL specification
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 their:
collaboration,
interactions,
common ordering and,
constraint rules
under which the interactions occur and they then generate
a WSCDL based representation.
8. WSCDL specification
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 WSBPEL solution to implement its own part of the choreography.
Company "B", having greater legacy driven integration needs, relies on:
J2EE solution incorporating Java and Enterprise Java Bean Components or,
.NET C#S solution incorporating C#.
9. WSCDL Goals
The primary goal of the WSCDL specification is to specify a declarative, XML based language
that defines from a global viewpoint the common and complementary observable behavior
specifically, the information exchanges that occur and the jointly agreed ordering rules that
need to be satisfied.
10. WSCDL Goals
Reusability choreography definition is usable by different participants operating in different contexts
(industry, locale, etc.) with different software (e.g. application software)
Cooperation Choreographies define the sequence of exchanging messages between two (or more)
independent participants or processes.
MultiParty
Collaboration
Choreographies can be defined involving any number of participants or processes
Semantics Choreographies can include human readable documentation and semantics for all
the components.
Composability Choreographies can be combined to form new choreographies that may be reused in
different contexts
Modularity Choreographies can be defined using an "inclusion" facility.
Information Driven
Collaboration
Choreographies describe how participants make progress within a collaboration, through
the recording of exchanged information and changes to observable information that cause
ordering constraints to be fulfilled and progress to be made
11. WSCDL Goals
Information Alignment Choreographies allow the participants that take part in choreographies to communicate
and synchronize their observable information.
Exception Handling Choreographies can define how exceptional or unusual conditions that occur while the
choreography is performed are handled
Transactionality choreography can work in a "transactional" way with the ability to coordinate the outcome
of the long-lived collaborations, non-observable business rules and goals
Specification
Composability
work alongside and/or complement specifications:
WSReliability [WSRM],
WSComposite Application Framework (WSCAF) [WSCAF],
WSSecurity [WSS],
Business Process Execution Language for WS (WSBPEL) [WSBPEL],
ebXML Business Process Specification Schema [ebBP20],
[BPSS11].
12. WSCDL Model Overview
WSCDL describes interoperable, peer-to-peer collaborations between participants.
In order to facilitate these collaborations, services commit to mutual responsibilities by
establishing formal relationships.
Their collaboration takes place in a jointly agreed set of ordering and constraint rules, whereby
information is exchanged between the participants.
13. WSCDL Model Entities
1. roleType, relationshipType and participantType
2. informationType, variable and token
3. choreography
4. channelType
5. workunit
6. activities and ordering structures
7. interaction activity
8. semantics
14. WSCDL Model Entities
roleType,
relationshipType and
participantType
information is always exchanged between participants within or across trust
boundaries.
All interactions occur between roles being exhibited by participants, and are
constrained by a relationship.
Within WSCDL:
participantType: groups observable behavior that must be implemented by
the same logical entity or abstract organization.
roleType: enumerates potential observable behavior a participantType can
exhibit to interact.
relationshipType: identifies mutual commitments that must be made for
successful collaborations.
15. WSCDL Model Entities
informationType,
variable and
token
A variable contains information about commonly observable objects in a
collaboration.
.i.e. information exchanged or the observable information of the roleTypes
involved.
A token is an alias that can be used to reference parts of a variable.
Information exchange variables, state capturing variables and tokens have
informationTypes that define the type of information the variable contains or the
token references.
16. WSCDL Model Entities
choreography defines collaborations between interacting participantTypes.
choreography lifeline expresses the progression of a collaboration.
- Initially, collaboration is established between participants, then work is
performed within it and finally it completes either normally or abnormally.
choreography exception blocks specifies what additional actions should
occur when behaves in (an abnormal way).
choreography finalizer blocks specifies additional actions that should occur
to modify the effect of an earlier successfully completed choreography,
i.e. confirm or undo the effect
17. WSCDL Model Entities
channelType realizes a point of collaboration between participantTypes by specifying where
and how information is exchanged.
Within WSCDL, channels are abstractly modeled as channelTypes
Workunit prescribes the constraints that must be fulfilled for making progress (performing
work) within choreography
activities and ordering
structures
activities describe the actions performed within a choreography.
ordering structures combine activities with other structures (nested structure) to
express the ordering rules of actions performed within choreography.
18. WSCDL Model Entities
interaction activity
is the basic building block of a choreography.
It results in an exchange of information between participants and possible
synchronization of their observable information changes
semantics allow the creation of descriptions that can record the semantic definitions of
every component in the model.