Updated Choreography concept/relationship proposal

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
SERVICES

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 calculus.



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 00:58:00 UTC