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 00:00:19 -0800
Message-ID: <3E8BEA13.6050800@intalio.com>
To: Ricky Ho <riho@cisco.com>
CC: public-ws-chor@w3.org

Ricky Ho wrote:

> Assaf,
> I agree with your principle.  But I just don't see how "abstract" WSDL 
> can be.  Let me give an example.
> Lets say I define a choreography to handle PurchaseOrder message.  I 
> don't want to constraint the message structure of this message as long 
> as it fulfill the following ...
> 1) Somewhere in this "PurchaseOrder" message will contain a 
> "shippingAddress" which can be mapped to complex type "Address".
> - But I don't want to constraint the element name of this 
> "shippingAddress", (e.g. the element name can be "shipAddr", "shipTo", 
> "sendTo" ... etc.)
> - I also don't want to constraint such an "shippingAddress" element to 
> have the exact complex type "Address".  The type can be anything as 
> long as it can be transformed (via XSL/T) into type "Address" 

Are we talking abstract or over-the-wire?

If we're talking abstract I don't see what it brings to the table. Find 
some common name to use, agree on that name and use it. If you're 
looking for interoperating then you have to agree on using the same 
name. Whether you call it shipAddress or shipTo, you have to figure out 
some name to distinguish from billAddress or billTo.

If we're talking about over-the-wire, use whatever you want. Because you 
can always XSLT transform. Let's say the abstract message uses the name 
shippingAddress. You can XSLT transform to/from an over-the-wire message 
that uses shipTo, sendTo, etc and places that element anywhere else in 
the document.

So you do get:

a) a declaration of what is in the message using some name everyone can 
b) abstraction to use any number of different over-the-wire messages
c) and you can use XSTL to transform from one to the other

> 2) Somewhere in this "PurchaseOrder" message will contain a 
> "totalAmount" which is type "float"
> - Again, I don't want to constraint the element name of this 
> "totalAmount".
> - In fact, it doesn't even have to be an element.  It can be an 
> attribute. 

Or something you can calculate e.g. by multiplying quantity by price and 
then summing it up.

> Can you show me how the abstract "PurchaseOrder" described above will 
> look like in WSDL ?

PurchaseOrder of type xsd:anyType

Essentially you want to create a situation where the seller may put some 
value in shipTo and the buyer may expect to find that value under 
shipAddr. xsd:anyType gives you that form of abstraction. Of course, it 
doesn't give you any interoperability because buyers and sellers can't 
really decide where to put what information. Or alternatively, you have 
to create too many transformations so you can't just pick a buyer/seller 
and use their service, you have to first decide on a transformation to use.

So xsd:anyType is a possibilty if you want the ultimate abstraction. You 
got that. But it also points to the limitation of ultimate abstraction 
as a means to hinder interoperability or increase integration 
complexity, whichever way you want to look at it.



> Best regards,
> Ricky
>> Conceptually I don't see why this problem would exist. You can define 
>> abstract messages with WSDL, and you can define abstract types with 
>> XSDL and then extend them in various ways (derivation, any content, 
>> substitution, etc).  So my gut instict is that it's going to be a 
>> wild goose chase to work out a solution to a problem that does not 
>> exist. I would be more interested to see a specific use case which 
>> cannot be solved using these technologies and then try to tackle, 
>> rather then spend much time trying to work out a problem that can't 
>> be identified.
>> I'm not saying WSDL and XSDL are perfect. We know there are a lot of 
>> issues with WSDL 1.1 particularly in relation to abstraction (e.g. 
>> inheritence is something that needs to be solved). The question is: 
>> are these issues that cannot possibly solved in the framework of WSDL 
>> and XSDL? Or are these things that can be solved. In the later case, 
>> should every specification that depends on WSDL/XSDL work around 
>> these limitations at the risk of further complication, or can we ask 
>> these working group to tackle specific problems we have identified.
>> My personal opinion is that there is no conceptual issue that 
>> prevents WSDL from solving these problems, and further, that these 
>> problems are not specific to choreography. Abstraction is not 
>> something you care about only because you are doing choreography. 
>> Abstraction is important in a variety of other cases. So that's 
>> something the WSD working group need to address, and if we can 
>> identify a real use case we can give tham that information as an input.
>> Otherwise, we're just spinning a lot of wheels and not getting any 
>> work done.
>> arkin
>>> Rgds, Ricky

"Those who can, do; those who can't, make screenshots"

Assaf Arkin                                          arkin@intalio.com
Intalio Inc.                                           www.intalio.com
The Business Process Management Company                 (650) 577 4700

This message is intended only for the use of the Addressee and
may contain information that is PRIVILEGED and CONFIDENTIAL.
If you are not the intended recipient, dissemination of this
communication is prohibited. If you have received this communication
in error, please erase all copies of the message and its attachments
and notify us immediately.
Received on Thursday, 3 April 2003 03:01:34 UTC

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