Re: Abstract messages [Was: Multi-Party Binding Scenario]

Given Tony's rationale, this also sounds reasonable and bounds us to an
achievable scope.


Thanks.

Monica J. Martin
Sun Microsystems

"Fletcher, Tony" wrote:

> Thank you to Jon and the others in this group for doing this work and
> compiling this summary and returning it to the main group.
>
> As we are all aware I am sure, there are many different groups that are
> doing message design - UN/CEFACT Forum trade groups, OASIS UBL, OAG,
> OTA, RosettaNet and UCC to name but a few (and there are many others,
> particularly more industry specific ones).  Therefore I think we should
> take it as given that this WS-Choreography group should not get into
> message design (a requirement on what we should not do, if you like).
>
> Although XML is very popular at the moment, there are other syntaxes
> such as the various flavours of EDI and ASN.1 plus the various
> constrained forms such as XHTML and WML - and I am sure there will be
> others in the future.  To me this argues for defining a choreography
> dependent only on message type / purpose rather than detailed content as
> far as possible (may be a 'best practice') and expressing any dependence
> on data in terms of the abstract data content (/meaning).  Then have a
> separate binding to actual messages, specific WSDL, transport details
> and so on.  This should allow the generation of re-usable 'prototype'
> choreographies that can be particularised to specific circumstances
> (parties requirements) with a specific binding.
>
> So my personal inclination at present (not a considered company
> position!) is to say:
>
> 1.   Yes
>
> 2.   Yes
>
> 3.   No (not for the Choreography itself, but have a binding to WSDL and
> XML message schema)
>
> Best Regards     Tony
> A M Fletcher
>
> Cohesions 1.0 (TM)
>
> Business transaction management software for application coordination
>
> Choreology Ltd., 13 Austin Friars, London EC2N 2JX     UK
> Tel: +44 (0) 20 76701787   Fax: +44 (0) 20 7670 1785  Mobile: +44 (0)
> 7801 948219
> tony.fletcher@choreology.com     (Home: amfletcher@iee.org)
>
> -----Original Message-----
> From: public-ws-chor-request@w3.org
> [mailto:public-ws-chor-request@w3.org] On Behalf Of Jon Dart
> Sent: 01 April 2003 19:48
> To: public-ws-chor@w3.org
> Subject: RE: Abstract messages [Was: Multi-Party Binding Scenario]
>
> As David Burdett suggested, we've taken some discussion of the WSDL
> dependency issue discussed in the "Abstract messages" thread off-line.
> Participants in this off-line discussion included David, myself, Assaf
> Arkin, William Eidson, Ricky Ho, and Patil Sanjaykumar.
>
> I'd like to summarize this discussion, which concluded with a conference
> call yesterday.
>
> The original issue was whether it is a requirement or not to decouple
> the public (aka external) view of the choreography from WSDL.
>
> The motiviation for decoupling the choreography from WSDL was to be able
> to support general choreography definitions that can work with a variety
> of message formats (representing, for example, standards that are
> specific to certain industries). There was some discussion of how real a
> use case this is, but David's input is that at least for Commerce One,
> it is a common case (Assaf concurs).
>
> This raises a difficulty in cases where the choreography flow depends on
> the message contents. In those cases, you need to be able to extract the
> relevant parts of the message in order to make a test. The logic behind
> the test could be opaque (i.e. not specified in the external
> definition), but if it is not opaque, then it does need to reference
> message contents somehow and therefore (it seems) must assume something
> about the schema.
>
> David's original proposed solution was to separate the input and output
> schemas of the messages in the choreography from the choreography
> definition itself, and also to have the requirement that decision points
> based on message contents could be abstractly specified, and later bound
> to a particular schema. E.g. suppose we are testing the contents of an
> address, but it might be in a "USAddress" element or "UKAddress"
> element. In that case we may want to not specify the test (e.g. XPath
> expression) in the choreography, but instead put it in an external
> binding.
>
> Bill pointed out that WSDL definitions can vary in degree of
> abstractness. We could say it is necesary to specify a schema for the
> messages, but that schema could specify very little about the message
> structure, could define variant structures, and could leave places where
> extensions can be made. This being the case, it is possible that a
> single schema could express a range of possible message types. Also this
> allows tests to be be made on those portions of the message that are
> specified, without requiring that the message schema be made totally
> specific in the choreography.
>
> Finally, the issue was discussed, whether it is ever necessary to
> specify message definitions in such an abstract form that they may not
> even be XML, i.e. do we want to eliminate not only dependence on WSDL,
> but also dependence on XML Schema? Or, on the contrary, can we assume
> that at least at the point where the choreography is evaluating the
> message contents, that they are XML?
>
> IMO we could at this point just say that there's a requirement to
> support use of the same choreography definition with varying message
> schemas, and let it go at that. This is after all the requirements
> phase.
>
> However, at a lower level of detail (and closer to implementation) we
> have these questions:
>
> 1. Do we need, or want, to support external binding of the message
> schemas to the choreography definition, so that you can distinguish
> between the abstract operation you are performing as written
> in the choregraphy, and the actual service with which you communicate?
> (Thanks to Assaf for helping phrase this clearly. N.b. BPEL4WS does
> this, through the concepts of partners, roles, and serviceLinkTypes).
>
> 2. Do we need to allow external binding of decision points (based on
> message content) to specific decision logic, or it is sufficient to
> encode decisions in the choreography, given that they can be based on a
> partially abstract schema?
>
> 3. (Most fundamental) Should the choreography definition explicitly
> assume that metadata exists in the form of WSDL and XML Schema?
>
> David has an action item to further examine WSDL and XML Schema (esp.
> the latter) to see if its abstraction capabilities could be made use of
> to allow a solution to the message-independence requirement different
> from the one he originally proposed (in particular: Bill's alternative).
>
> IMHO: 1. may be desirable just as a good design principle as it furthers
> re-use; 2. external binding is probably not necessary but we might vote
> to allow it as an optional feature (I don't think it should be
> required); 3. My preference would be to use WSDL + XML Schema, if these
> are sufficiently expressive to meet the use cases (David's further input
> needed here).
>
> --Jon

Received on Wednesday, 2 April 2003 10:07:32 UTC