Reconciling various drafts of the Choreography text

Pursuant to my action item, here is choreography text that reconciles what
Frank put in the document with the feedback I got on the proposed language
that (partially) inspired it.

Basically, Frank already fixed most of the problems that David Burdett and
Martin Chapman found with my proposed text.  The remaining quibbles I have
are a) I don't think we want to talk about "goals" in this section, and b)
let's remove references to "composite" services or "composition" -- that's
seriously bogging down the Choreography WG and I suggest we not follow them
into the mire.  Martin has suggested "linkage" as a nice neutral term if we
need to talk about multiple services at once.

My annotations are delimited with "[" and "]" below.

2.3.2.3 Choreography
2.3.2.3.1 Definition
A Choreography defines the sequence and conditions under which [multiple MC:
"at least two"] cooperating independent web services exchange information in
order to achieve some useful function.

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

[A choreography has a goal.  MC -- Do we really want to say this?]



2.3.2.3.3 Explanation
A choreography is model of the 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.

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

MC: "composite" implies "composition" which is a trout pond.  How about "In
essence, a choreography defines the linkages among a set of services that
must work together in order to fufill some useful funciton."  Or maybe just
remove this sentence.]



A choreography is not to be confused with orchestration. An orchestration
defines the sequence and conditions in which one web service invokes other
web services in order to realize some useful function. I.e., an
orchestration is the pattern of interactions that a Web service agent must
follow in order to achieve its goal.


[MC: Frank wisely removed my wording about "determinism" and the role of pi
calculus / event calculus in differentiating between choreography and
orchestration]


2.3.2.4 Choreography Description Language
2.3.2.4.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.  MC: Trout pond, let's remove].

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



2.3.2.4.3 Explanation
A Choreography description language is focussed on enabling the description
of how to interact with services at a larger scale than the individual
message exchange pattern. 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.
A Choreography description language is a formal, machine-processable
language for defining specific choreograpies. It permits the description of
how Web services can be used to acheive goals, how roles and associations in
Web services can be established, and how the state, if any, of composed
services is to be managed.

[MC: Frank wisely removed references to specific choreography and
orchestrations languages]

Received on Thursday, 24 July 2003 14:57:11 UTC