Re: issue: optional parts in <message>?

Well put.

-------- Original Message --------
Subject: Re: issue: optional parts in <message>?
Resent-Date: Wed, 1 May 2002 22:38:22 -0400 (EDT)
Resent-From: www-ws-desc@w3.org
Date: Thu, 2 May 2002 08:34:44 +0600
From: "Sanjiva Weerawarana" <sanjiva@watson.ibm.com>
To: <www-ws-desc@w3.org>
References:
<2E33960095B58E40A4D3345AB9F65EC106E14D8A@win-msg-01.wingroup.windeploy.ntdev.mi>

I think the question is what the parts represent. Logically, the
parts of a message represent distinct items involved with that
operation.

Shoving them all into a complexType would work, but I think you
have to agree that's not a first class representation of the
logical parts of the message. Also, one cannot obviously use
any old complex type - otherwise there will be another mapping
layer. So one would need to establish rules for the kinds of
complex types that are valid for the message replacement. For
example, if there are two parts, do we want to say that you can
write them in any combination of element/attribute:
    2 elements,
    1st an elem, 2nd an attribute
    1st an attr, 2nd an elem
    2 attr
Most probably not. So we would have to pick one of these
styles and mandate that the complexType of a message must
conform to that style. <message> is basically a first-class
syntax for that style.

Secondly, the parts themselves may be of types that are not XML
Schema types. While XSD can be used for such cases, its again
a second class way to describe those. For example, if the type
is MIME image/gif, then the WSDL 1.1 part mechanism lets you say
that with something like <part name=p1 mimetype=image/gif/>.
That is, it records, in a first class manner, the fact that the
part is a MIME thing of a certain type.

During the F2F Jeff asked a very good question: whether the only
things one ever cares to describe in WSDL are XSD types and MIME
types. I'm still not certain, but it certainly feels like those
are the common cases.

Thirdly, the part/message concept is what made it possible to
unify both RPC style operations and document style operations
into the same abstraction. Doing away with message would mean
that if the operation is RPC style then the stub generator
should unwrap the outermost complexType into the different
arguments of the generated function while in the other case not.
How do you know which style an operation is when looking at
just the portType? You don't .. which means the signature of
a stub is dependent on the style of the operation; which is not
the case now. It basically breaks the unification of document
syle and rpc style operations that WSDL 1.1 achieves.

OK that's enough arguments for now .. gotta save more for
later ;-).

Sanjiva.

----- Original Message -----
From: "Jeffrey Schlimmer" <jeffsch@windows.microsoft.com>
To: <www-ws-desc@w3.org>
Sent: Thursday, May 02, 2002 7:47 AM
Subject: RE: issue: optional parts in <message>?


> WSDL's goal is enable interoperable type descriptions; in the spirit of
> interop, types from 3g languages need to be represented in an
> interoperable format. For representational (data) types, the
> interoperable type system of record is XML Schema. For operational
> types, the interoperable type system of record is WSDL. It seems
> somewhat odd to only embrace one of these (WSDL) and not the other (XML
> Schema).
>
> The good news is that embracing both doesn't require unreasonable
> changes. Just as there will be adaptations you need to make to describe
> the operational types from your 3gl world in WSDL, there are comparable
> adaptations you should be making from the representational types to XML
> Schema. To use the WSDL message construct at a poor man's XML Schema
> language is pretty lame.
>
> --Jeff
>
> -----Original Message-----
> From: Grahame Grieve [mailto:grahame@kestral.com.au]
> Sent: Wednesday, May 01, 2002 5:26 PM
> To: www-ws-desc@w3.org
> Subject: RE: issue: optional parts in <message>?
>
> At 02:17 PM 01/05/2002 -0700, you wrote:
> >XML Schema provides a rich, well-understood language for expressing
> >choices, sequences, optional, repeated, etc. constructs. It does not
> >seem like a good use of the WG time to re-invent such a mechanism.
> >
> >Are there any interesting arguments against removing the message
> element
> >and making the operation within a port type point directly to an XML
> >Schema global element declaration?
>
> One common practice is to use WSDL as a representation of 3gl code
> and to interconvert between the 2. Using schema directly instead of
> the message parts structure in WSDL would encourage the use of data
> models that couldn't be treated this way and lead to calls for
> some mechanism to constrain the data model (such as "message parts")
>
> Of course, this same applies for most languages if the message parts
> acquire a cardinality option other than 0..1 and 1..1
>
> Grahame

Received on Wednesday, 1 May 2002 23:21:16 UTC