- From: Champion, Mike <Mike.Champion@SoftwareAG-USA.com>
- Date: Thu, 10 Jul 2003 08:57:15 -0600
- 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 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 10:57:23 UTC