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

Re: Multi-Party Binding Scenario

From: Assaf Arkin <arkin@intalio.com>
Date: Tue, 25 Mar 2003 12:44:35 -0800
Message-ID: <3E80BFB3.2080908@intalio.com>
To: "Burdett, David" <david.burdett@commerceone.com>
CC: "'jdart@tibco.com'" <jdart@tibco.com>, "'Ricky Ho'" <riho@cisco.com>, public-ws-chor@w3.org

Burdett, David wrote:

> Jon
>
> What you think is unusual is actually very common and here's the use 
> case ...
>
> The content of an order document, say, will vary depending on such 
> things as: the industry in which the choreography is being used and 
> country in which the order is being placed. For example in the shoe 
> industry you might want sex, shoe size and color as elements in a line 
> item. On the other hand, in the travel industry you would not and 
> might want flight segment information instead. In Europe you need to 
> include VAT tax information (e.g. registered VAT number) but in the US 
> you would not.
>
I have two questions:

1. I understand that the VAT info will be missing in a US PO which has 
different regulations. In an XML Schema I would express that using an 
element with minOccurs="0". In abstract terms this clearly says: 
information may not be there. When you build the choreography you can 
easily determine what information will always be there (I assume billing 
address is available in both US and Europe) and what information is not 
there. So you can build the choreography accordingly.

Remember, this is not an attempt to form all US POs to include VAT 
information. It's an attempt to describe a choreography that can be 
affected by information that is available in all messages.

2.Sending a purchase order is different from ordering a ticket. So does 
the choreography. I don't see much value in trying to create templates 
that are so generic that could be used in any possible industry.

Let's say you can define a template once and use it in every possible 
B2B scenario. Question? Do you need a language for that if the number of 
scenarios you intend to define is very constrained to begin with?

Let's say you decide to define a templace once and use it in every 
possible B2B scenario. But the interaction for ordering some product is 
different from the interaction for purchasing an airline ticket. So will 
we force the airline industry and shoe selling industry to reach a least 
common denominator so we can have one definition for both?

In my opinion the complexity and variety already exists. I don't want to 
ask companies to start doing business in different ways because it makes 
it easier to express these as XML. I am looking for a solution that 
makes it easier to do business the way you already do business.

My motto: Not to avoid the complexity that already exists, but to 
support the complexity that already exists without adding any additional 
level of complexity.

So everytime we discuss this issue I ask myself the following question:

1. Does this level of complexity already exist and is justified by 
business requirements? If so, I don't mean to change it, it's the 
business needs that drives the requirement.

2. Does the model introduces more complexity? That's a problem we should 
work to eliminate.

3. Does the model capture that complexity? That's a solution in my opinion.

arkin

> If you then work out the number of *necessary* permutations, there 
> will eventually be 1000s of *different* order definitions each with 
> their own namespace. Note however that the UBL initiative [1] has got 
> this problem taped and is developing a practical solution to solving it.
>
> Now, if each Choreography definition is tied, through an XPATH to a 
> specific element in a document with a specific document definition 
> (i.e. namespace), you will end up defining 1000s of choreographies 
> which, from the perspective of message sequence, are identical. This 
> approach simply will not scale.
>
> This is why separating the abstract choreography from its binding to a 
> specific implmentation is *very* important.
>
> David
>
>
> [1] See 
> http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=ubl, or for 
> an article on UBL that covers this problem see 
> http://www.eaijournal.com/Article.asp?ArticleID=633
>
>
> -----Original Message-----
> From: Jon Dart [mailto:jdart@tibco.com]
> Sent: Tuesday, March 25, 2003 12:19 PM
> To: Assaf Arkin
> Cc: Burdett David; 'Ricky Ho'; public-ws-chor@w3.org
> Subject: Re: Multi-Party Binding Scenario
>
>
>
> I can't really see splitting out all the Xpath expressions into a
> separate binding - if I define a flow that's intended for order
> processing, then I probably care what the format of an order is, and IMO
> it is ok for me to rely on that format even in the "external" view of
> the choreography.
>
> I guess one case where you'd want to do something like this would be a
> system that wanted to be able to say something like "I take purchase
> orders, and you can use ebXML format or SOAP format". So you could use
> the same flow with multiple data formats. I think this is a possible use
> case but IMO it is a bit unusual.
>
> OTOH, Assaf's point is interesting - if you do have expressions based on
> message contents, they shouldn't really operate on "raw" message data,
> but data that has been normalized -- otherwise you tie your choreography
> definition too closely a particular protocol. This might make sense, but
> there are limits to this approach. E.g. what about EDI? Or even SOAP
> with Attachments? If you want to able to handle truly arbitrary message
> content, then you can't rely on XML, or XPath.
>
> (I don't have an answer to this. I think assuming XML data is fine in a
> lot of cases. If it's not fine then you might have to define a "black
> box" for content-based routing, so that the external process knows you
> might take one or another path, but the logic isn't specified publicly.
> I think there was some discussion of this kind of model at the F2F).
>
> -Jon
>
>
> Assaf Arkin wrote:
> >
> >>
> >>
> >>
> >> If you include a specific XPATH expression in a choreography, then the
> >> choreography definition is no longer abstract and therefore cannot be
> >> reused
> >> which means it does not scale. I think the binding implied by the 
> XPATH
> >> expression should be recorded in a Choreography Binding document that
> >> binds
> >> an abstract Choreography Definition to the specific, services, 
> messages,
> >> documents, used by a specific implementation.
> >>
> >
> > I disagree. The choreography should talk about an abstract message.
> > Content without specific headers. No protocol binings. Not a "SOAP
> > message" but an abstract message without enveloping.
> >
>


-- 
"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 Tuesday, 25 March 2003 15:45:51 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 18 December 2010 01:00:07 GMT