W3C home > Mailing lists > Public > public-ws-chor@w3.org > April 2003

Re: Progressive Concreteness of Choreography binding

From: Assaf Arkin <arkin@intalio.com>
Date: Thu, 03 Apr 2003 10:34:26 -0800
Message-ID: <3E8C7EB2.4000204@intalio.com>
To: "Burdett, David" <david.burdett@commerceone.com>
CC: "WS Choreography (E-mail)" <public-ws-chor@w3.org>

Burdett, David wrote:

>I'm thought I'd repond to several emails in this thread at the same time
>rather than individually ...
>Ricky's email at
>Instead of:
>	Partner declaration {
>		purchaser;
>		creditCheckProvider;
>... use ...
>	Role declaration {
>		purchaser;
>		creditCheckProvider;
>The reason is that the entity you are talking to may be your own internal

>There are three separate concepts here which I don't think we should
>1. A Message. This is what physically gets sent over the wire
>2. A Message Type. These are message that all have the same *physical*
>structure, e.g. a UBL Order inside the a SOAP Body.
>3. A Message Family or Abstract Message. A Message Family (or Abstract
>Message) groups together Messages Types that server the same purpose. For
>  - a UBL Order inside a SOAP Body; 
>  - an EDI Order inside ebXML; and 
>  - a RosettaNet Order as the second MIME part in a SOAP with Attachments
>style message; 
>... would ALL be in the same Message Family. 
What about the possibility of having an abstract message type, 
independent of particular protocol or encoding, and then a message 
family as a set of message types that are specific to given 
protocol/encoding and are all expressions of the abstract message type?

>Choreographies MUST be based on Message Families if they are to be reusable.

>This example shows just one side so it's an orchestration rather than a
>choreography that identifies all the roles ... but then this is covered in a
>later email.
I think it's useful to have partial definitions in example because it's 
easier to focus on the point we want to discuss.

So in this case Ricky ommitted the message definition, the operation 
definition and also the definition of the other partners. We can guess 
what they look like, but writing them down is not helpful to discuss the 
point he was raising. I don't see it as an orchestration, I see it as 
part of the full choreography specification, but only the part that is 
important to write down for this specific discussion.

>Ricky's email at
>Tying a role to single port will not always work, as a role's implementation
>of a process may involve multiple services where each service
>accepts/generates a subset of the messages in the choreography.
Absolutely true, but helpful for making a simple example.

However, there is indeed an issue here. When you communicate 
participants you need to communicate more than just one end-point since 
a participant (role) may elect to use multiple services. My preference 
is for sending WSDL service definitions (not the abstract part) around 
since they can define multiple services, but something that constrains 
WSDL to just service definitions and even extends them would be even 
better. (For example, WS-Addressing and WS-Callback would be a good 
place to start)

Received on Thursday, 3 April 2003 13:35:50 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:30:00 UTC