- From: Paul Prescod <paul@prescod.net>
- Date: Mon, 21 Oct 2002 11:19:22 -0700
- To: Assaf Arkin <arkin@intalio.com>
- CC: www-ws-arch@w3.org
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