- From: Andrew Berry <andyb@whyanbeel.net>
- Date: Wed, 23 Jul 2003 00:07:37 +1000
- To: Assaf Arkin <arkin@intalio.com>
- Cc: Francis McCabe <fgm@fla.fujitsu.com>, public-ws-chor@w3.org
On Tuesday, July 22, 2003, at 05:57 AM, Assaf Arkin wrote: > Andrew Berry wrote: > >> >> This approach has many advantages. In particular, when speaking of a >> set of autonomous participants in a choreography, the behaviour of >> each participant will be based entirely on what they are able to >> observe from their locality. This protects their interests and >> ensures their autonomy. The choreography should respect their >> autonomy and explicitly specify the behaviour of participants based >> on what they are able to observe locally. The causal relationships >> defined by the choreography then specify the expectations of other >> participants resulting from local behaviour of a participant. > > +1 > >> Explicitly separating the local behaviour from causal relationships >> also has considerable advantages for composition. Consider Arkin's >> example in >> http://lists.w3.org/Archives/Public/public-ws-chor/2003Jul/0134.html: >> we want to re-use the "message" interaction in many choreographies. >> If a message is specified from a senders perspective as a send >> followed by an acknowledgement, we can use this sender behaviour in a >> number of different scenarios, including a simple message, a >> delegated message or even a multicast message (e.g. for high >> availability). If we "bind" the sender's message semantics to a >> particular interaction model then we significantly reduce the >> possible compositions of this behaviour. > > I am less in agreement on this point. While I perfectly understand the > premise and agree with it from one specific perspective, it is not > clear why there would be a constrast since causality can both occur > inside a locality, and can depend on things that may be true > regardless of autonomy or locality. > > For example, if we know that a service receives X and replies with Y, > as a requestor of that service, without violating my autonomy and > regardless of my location, if I send X I expect to receive Y. I am > fully autonomous in every respect, and my locality can change, but > that causality is something I expect to happen, hence define an > interaction around it. The fact that the service user explicitly identifies a single service as receiving the X and replying with the Y restricts your options with respect to composition. Extending your example, let us say that 'X' is a request for a flight, car, and accomodation and the 'Y' response is booking references for each of them. Distinguishing between the local behaviour (requesting X and receiving Y) and the way it is bound to one or more service providers allows us to satisfy the request for X using a choreography involving distinct airline, car hire and accomodation providers without changing the behaviour of the requestor. We only have to change the way that behaviour is bound to one or more providers. In other words, local behaviour defines your service expectations, and the interaction behaviour defines how those expectations are met by a particular choreography of service providers. Note that the service providers themselves have a similar view of the interactions, meaning they are also able to participate in different choreographies. For example, it would be possible for the airline identified above to sell airline tickets with an adventure holiday package using the same service interface as that used above. Ciao, AndyB > > arkin
Received on Tuesday, 22 July 2003 10:05:56 UTC