[resend] Proposed text for Choreography concepts

[Duh, yet another attempt ... sent it to the admin list by mistake!]
 
[sorry, I mistyped the address in the first attempt, and Outlook perpetuated
the typo in some of the headers after I re-sent.  Please reply to this
version or yours will bounce.  Sigh.  Also, look out for David Burdett's
response, it's very useful!]
---------------------------------------------------------------------------

Compare with http://www.w3.org/TR/2003/WD-ws-arch-20030514/#choreography

Summary of changes: wordsmithed the draft text a bit to be more in line with
recent discussions in the Choreography WG relating "choreography" to a
shared global state machine rather than an execution language.
Cross-checked language and issues here against the Choreography WG charter
and various email-threads, notably:
http://lists.w3.org/Archives/Public/www-ws-arch/2002Aug/0101.html
http://lists.w3.org/Archives/Public/www-ws-arch/2002Aug/0191.html
http://lists.w3.org/Archives/Public/www-ws-arch/2002Aug/0193.html
http://lists.w3.org/Archives/Public/www-ws-arch/2002Oct/0205.html
http://lists.w3.org/Archives/Public/www-ws-arch/2002Oct/0369.html
http://lists.w3.org/Archives/Public/www-ws-arch/2003May/0033.html

Issues:

- Is the "shared state machine" definition too idiosyncratic and specific to
the W3C WS-Chor WG? 

- Doe we want to wade into the swamp of defining "orchestration" or should
we follow Martin's lead and simply ban the term :-)  If so, does it mean
"choreography implementation" or "sortof like choreography, but from a
particular actor's point of view?  See
http://lists.w3.org/Archives/Public/www-ws-arch/2003May/0034.html

- What's the relationship between Choreography and MEP?  There was a
sentiment at the WS-Chor F2F last week that a Choreography language should
be able to model any MEP.

--------------------------------------------------------------------------


XXX Choreography

XXX.1 Definition

A Choreography defines a shared state machine that describes interactions
involving multiple web service invocations.

XXX.2  Relationships to other elements
A choreography is
the pattern of possible interactions between a set of services

A choreography may be expressed in
a choreography description language



XXX.3 Description
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 th sequence of operations, states, and conditions
which control how the interactions occur. 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. 
[ not sure about this: Defining the possible patterns of interactions
between services does not itself construe a composite service; however, a
composite service requires a definition in terms of the choreography of a
set of services.]
A choreography is not to be confused with orchestration. Orchestration is
[option A: a technique for implementing a series of web service invocations
described by a  choreography, but is not the only such method.] [option B:
defintion a series of web service invocations from a single single party's
point of view (the conductor).]


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 may describe
the life cycle of a service invocation

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



YYY.3 Description
A Choreography description language is a formal, machine-processable
definition of a specific choreograpy. [Not sure about this: 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.

Received on Thursday, 26 June 2003 10:15:11 UTC