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

Re: Internal processes and/or external choreographies (was RE: Ev ents and States ...

From: Assaf Arkin <arkin@intalio.com>
Date: Fri, 11 Apr 2003 09:49:28 -0700
Message-ID: <3E96F218.7090609@intalio.com>
To: steve@enigmatec.net
CC: "'Cummins, Fred A'" <fred.cummins@eds.com>, "'Burdett, David'" <david.burdett@commerceone.com>, jdart@tibco.com, public-ws-chor@w3.org

Steve Ross-Talbot wrote:

>I'd like to echo Fred's comments. I think external is the way to go and
>if we can provide "compatibility" as a minimum and "verifiablity" as a
>nice to have we would have done a great job.
>The notion of "observable behaviour" and the associated "bi-simulation"
>are in essence how we should approach the issue of verfiability. We want
>to ensure that "contracually" the external behaviour defined (allowable
>message patterns over given states) is the observably equivalent to any
>implementation. It doesn't matter if the implemetation is done over
>BPML, Java, BPEL or even by people. If we can observe it as equivalent
>then we can say it bi-simulates the externally defined behaviour and so
>meets the contract.
>One issue I am less sure on is the issue of time. If observable
>behaviour is allowable message patterns over given states, what role
>does time play in all of this? Does it have a role? Thoughts .....
The basic premise is that you treat everything as events and you find a 
way to agree on the occurrence of events. This also ties the 
choreography to other models the express everything in terms of events 
(e.g. various distributed and consensus algoritms).

There are two ways you can agree on an event occuring. By communicating 
the event itself or by communicating the condition that leads to that 
event. And there are two ways you can communicate that stuff: by sending 
messages (events) or by agreeing to use a particular choreography (a 
form of communication in itself).

An event like 'order completed' is explicitly communicated from seller 
to buyer. An event like 'order completed notificiation time-out' is 
fired internally by each service, but the fact that this event will 
occur at the same time for both buyer and seller is communicated, e.g. 
as part of the purchase order message, or by agreeing to participate in 
the same choreography. By agreeing in one way or the other when the 
time-out would occur, both buyer and seller are synchronized with each 
other, even if they don't exchange messages to signify the event.

This is much like the real world. In the real world I can call you and 
say "your order has completed" (possibly leaving you a voice mail) and 
we both know the order has completed. Or I can call you and say "if you 
don't reply by 5pm, the order is canccelled". If it's after 5pm and you 
didn't call me, we can both conclude the order has been cancelled. 
There's no need for a second confirmation.


>Steve T
Received on Friday, 11 April 2003 12:50:57 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:00:58 UTC