Re: Definition of Choreography

Assaf Arkin wrote:
> Assaf Arkin wrote:
> 
>...
> 
> When you send me a purchase order and I have a condition that decides
> whether to accept or reject it (a switch in WSCI), what I am saying in the
> interface is: either one will happen. I call that 'order approved'
> condition. It doesn't have a concrete meaning. You don't know what logic I
> use to arrive at the condition, that is part of my implementation and can
> change from time to time. But you know that I will send you either one
> message, not both. That's an important aspect of the interface.

WSDL/XML Schema already allows this using a "choice" element. The only 
thing WSCI adds is that it gives a name to the choice condition. But 
that name never seems to be used anywhere except perhaps as a hook into 
implementation ... which doesn't have to be in the public interface.

Plus, WSDL has a notion of "fault".

> ...
> [AA] If you start with a condition-based language but allowed operations to
> be used from multiple port types, you could end up defining an executable
> business. An implementation. By definition any language that can
 > string together two operations could be abused in that way.

Of course, because the stringing together of two operations is 
_implementation_. The customer doesn't care that you do 
"CheckCreditCardNumber" before "CheckClientCode" so that shouldn't be in 
the customer's interface. Similary, the credit card company doesn't care 
what protocol you are using to talk to the customer, so that shouldn't 
be in the interface you use to talk to them.

  Paul Prescod

Received on Monday, 21 October 2002 14:20:16 UTC