Re: Minority objection to requiring unique GEDs or required feature to distinguish operations

I think I've now figured out the root of the WG's contention disagreement 
about this.  Although I don't agree with all the specific assertions that 
Gudge makes below, I now think he and Amy are correct in concluding that 
the operation name mapping requirement that we adopted does not make sense 
as a MUST requirement.  I think we should change it from a MUST to a 
SHOULD, in addition to providing further guidance on its use.

I think the root of the problem is that the proposal that we adopted was 
ambiguous.  In particular, it did not make clear whether the operation name 
mapping requirement is ALWAYS applicable, or whether it is ONLY applicable 
if the service requires the message sender to support a particular dispatch 
mechanism.  The difference is crucial.

If the operation name mapping requirement is ALWAYS applicable, then it is 
certainly testable.  However, there are cases when the operation name is 
irrelevant to the service (for example, when some other mechanism is used 
to indicate what action should happen).  In those cases, the requirement is 
pointless.

On the other hand, if the operation name requirement is ONLY applicable 
when the message sender needs to do something in particular to enable the 
recipient to determine the operation name, (i.e., when the message sender 
is required to SUPPORT a particular mechanism that the message receiver 
uses), then the requirement is untestable, because it is impossible 
distinguish between a WSD that forgot to mention the operation name 
mechanism and one that does not require one.

More comments in line below.

At 08:07 AM 7/29/2004 -0700, Martin Gudgin wrote:

>The WSDL 2.0 Part 1 Last Call Working Draft[1] (will) REQUIRE that if
>operations within an interface do not reference unique global element
>declarations then a WSDL Feature component MUST be used to indicate how
>operations are distinguished 'on-the-wire'. IBM Corp., Microsoft Corp.
>and TIBCO Software, Inc. object to this design for several reasons;
>
>1.      It reduces the expressive power of the language.

Can you elaborate?  I don't see how this can be true.  The requirement is 
solely to document *how* the dispatch must be enabled.  It does not 
*restrict* the way the dispatch can be done.

>2.      It forces services to disclose how they distinguish between
>operations which leads to tighter coupling between the service and its
>consumers than is necessary for interop.

I don't think anyone intended this to force the service to disclose 
internal details that the consumer does NOT need.  I'm pretty sure the 
intent is only to require this disclosure when the consumer DOES need to 
know about it -- i.e., when it is required for interop, i.e., as loosely 
coupled as possible for interop.

>3.      For WSDL authors that want to distinguish between operations
>'on-the-wire' then using unique global element declarations for each
>message is sufficient.

They could, but that misses the point of the interop issue illustrated by 
Scenario X[3], which describes a situation in which a toolkit generates a 
WSD.  Thus far, the WG has not wanted to require unique GEDs.

>4.      The mechanism can be trivially circumvented, by defining a
>'null' feature that claims to satisfy the requirement but in fact
>provides no details on how operations are distinguished. Indeed, someone
>has proposed this[2] as a way of 'testing' this particular part of the
>specification.

Yes.  However, just because it can be circumvented does not render it 
entirely useless.  But it *does* suggest that WSD authors should be given 
more guidance on its use.  And it *does* suggest that we should change it 
from a MUST to a SHOULD.

>5.      This restriction makes WSDL 2.0 unable to describe a class of
>message exchanges allowed by WS-Addressing.

Again, I don't see how this can be true.  Can you give an example of a 
message exchange that would be prohibited by the operation name mapping 
requirement?


Additional References
3. Scenario X: 
http://lists.w3.org/Archives/Public/www-ws-desc/2004Jun/0300.html
4. http://lists.w3.org/Archives/Public/www-ws-desc/2004Jul/0355.html


>Please note that IBM Corp., Microsoft Corp. and TIBCO Software, Inc. do
>NOT object to WSDL authors being able to write WSDL in such a way that
>distinguishing operations is 'obvious', for example by using unique
>global element declarations. The objection is to the specification
>requiring that WSDL be written in such a way.
>
>Regards
>
>Martin Gudgin, Microsoft Corp.
>Amelia A. Lewis, Tibco Software, Inc.
>Sanjiva Weerawarana, IBM Corp.
>
>[1] http://www.w3.org/2002/ws/desc/wsdl20
>[2] http://lists.w3.org/Archives/Public/www-ws-desc/2004Jul/0336.html

-- 
David Booth
W3C Fellow / Hewlett-Packard
Telephone: +1.617.253.1273

Received on Monday, 9 August 2004 21:27:55 UTC