W3C home > Mailing lists > Public > www-ws-arch@w3.org > July 2003

resend: Updated Choreography concept/relationship proposal

From: Champion, Mike <Mike.Champion@SoftwareAG-USA.com>
Date: Thu, 10 Jul 2003 08:57:15 -0600
Message-ID: <9A4FC925410C024792B85198DF1E97E4060FF2A3@usmsg03.sagus.com>
To: www-ws-arch@w3.org
Cc: "Champion, Mike" <Mike.Champion@SoftwareAG-USA.com>

XXX Choreography
XXX.1 Definition
A Web Services Choreography is a formal model of the pattern of possible web
service invocations among a set of service providers and consumers.  The
choreography must specify the set of messages that may be sent, the set of
publicly observable states that each participant in the choreography may be
in, and the transitions from one state to another to be expected upon
receipt of the defined messages.  There is no requirement that the parties
literally implement the shared state machine described by the formal model,
only that the choreography provides an abstract description of the sequence
of legal interactions and their consequences.

XXX.2  Relationships to other elements

A choreography defines the pattern of possible interactions between a set of

The primitive interactions in a choreography are MESSAGE EXCHANGE PATTERNS

A choreography may be expressed in a CHOREOGRAPHY DESCRIPTION LANGUAGE.

XXX.3 Discussion

SOAP and WSDL by themselves can describe only very simple Web services
consisting of a single interaction between a consumer and provider pair.
The SOAP Recommendation formally specifies only two MEPs, "Request-Response"
and "SOAP Response."  Web Services Choreography is the subject area
describing web services interactions involving more than two parties and/or
more than one operation. 

A choreography is model of the sequence of operations, states, and
conditions which govern  composite web service. Successfully following the
pattern of interaction prescribed by a choreography should result in the
completion of some useful function, for example: the placement of an order,
information about its delivery and eventual payment, or putting the system
into a well-defined error state. 

A choreography is not to be confused with "orchestration". Orchestration is
the defintion a series of web service invocations from a single single
party's point of view (the "conductor", and is generally deterministic;
whereas a choreography is the global view of the interactions among
autonomous parties and is generally non-deterministic. The most appropriate
formalism for an orchestration appears to be the pi calculus, whereas the
most appropriate formalism for a choreography appears to be the event

YYY Choreography Description Language
YYY.1 Definition
A Choreography Description Language is a notation for describing a
choreography.  It may also permit the specification of a composite service
in terms of component services.

YYY.2 Relationships to other elements

A choreography Description Language describes the pattern of allowable
interactions between a set of services

A choreography Description Language describes the conversations possible
between service requesters and service providers.

A choreography description language much be minimally capable of formally
describing the interactions in known Message Exchange Patterns.

YYY.3 Discussion
A Choreography description language is a formal, machine-processable
definition of a specific choreograpy.  A choreography descripion language
formally defines the message exchange pattern(s) used by a web service.  It
permits the description of how Web services can be composed, how roles and
associations in Web services can be established, and how the state, if any,
of composed services is to be managed.

WSBPEL is an "orchestration" language in WSA terminology whereas BPSS is a
"choreography" language.
Received on Thursday, 10 July 2003 10:57:23 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:41:08 UTC