RE: Definition of Choreography

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 UTC