W3C home > Mailing lists > Public > www-ws-arch@w3.org > October 2002

RE: Definition of Choreography

From: Burdett, David <david.burdett@commerceone.com>
Date: Thu, 17 Oct 2002 13:18:19 -0700
Message-ID: <C1E0143CD365A445A4417083BF6F42CC053D13B2@C1plenaexm07.commerceone.com>
To: "'Champion, Mike'" <Mike.Champion@SoftwareAG-USA.com>, www-ws-arch@w3.org

I don't think we should tie a choreography to the definition of a "composite
web service. For example you could imagine two web services at a buyer and a
seller co-operating so that the buyer can place an order at the seller. The
choreography, could then describe the sequence in which messages are sent,
e.g.:

BUYER                 SELLER
Order ----------------->
<--------------------- OrderResponse
ChangeOrder -----------> (optional)
<--------------------- ChangeOrderResponse
... etc.

I don't see a single web service here?

Another issue to consider is that there are some very common choreographies
that pretty universally applied - the example above is a fragment of one.
This makes me think that it should be possible to define a choreography (or
at least the commonly used ones), independently of the actual web services
that implement it.

Thoughts?

David

-----Original Message-----
From: Champion, Mike [mailto:Mike.Champion@SoftwareAG-USA.com]
Sent: Thursday, October 17, 2002 7:11 AM
To: www-ws-arch@w3.org
Subject: RE: Definition of Choreography





> -----Original Message-----
> From: Mark Baker [mailto:distobj@acm.org]
> Sent: Thursday, October 17, 2002 9:06 AM
> To: Champion, Mike
> Cc: www-ws-arch@w3.org
> Subject: Re: Definition of Choreography
> 
> 

> But David said something that suggested that it was defining 
> the *how*,
> not just the *what*; "specification of ordering of messages".  If it
> were to define the *what*, I would expect it to say something like;
> "The specification of potential state changes".

OK, I guess I'll propose a revision of David's definition:

"Web Services Choreography" is the description of a set of messages that can
be seen as defining a composite web service. The focus is on "what": the
identity of the messages, the state changes implied by various messages, and
the means of maintaining/exchanging state across a collection of nodes, and
not the definition of turing complete logic to determine the actual sequence
of messages. It's practical value is as a formal definition of a "policy"
about the individual services that must be invoked and the state changes
that they must produce in order to produce a composite result.

Still pretty tentative.  I'm not sure whether we need the "from the
perspective of one node or a collection of nodes" bit.  Maybe ...

We should probably also couple it with a definition of "Orchestration"
(and/or some synonym):

"Web Services Orchestration" is a definition of the logic by which a web
services Choreography is executed, in some Turing-complete language."   The
focus is on "how" to determine the precise sequence and content of messages
in a composite web service, under the declarative constraints defined by a
Choreography. Its practical value is as an executable business process /
workflow.

Again, this is just a way of factoring out this stuff that makes sense to
me.  Not sure if people who know what they're talking about agree :-)  

Please critique!
Received on Thursday, 17 October 2002 16:18:11 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 3 July 2007 12:25:09 GMT