- From: <noah_mendelsohn@us.ibm.com>
- Date: Tue, 4 Feb 2003 11:12:41 -0500
- To: "David Orchard" <dorchard@bea.com>
- Cc: "'Jean-Jacques Moreau'" <jean-jacques.moreau@crf.canon.fr>, xml-dist-app@w3.org
No, I think this still misses the distinction. Specifically, the data
that moves from point to point in SOAP is, in general, more than what is
within the scope of the application/soap+xml content type. It includes a
potentially unbounded set of feature-specific data that is represented
outside of that media type. One simple example is the so-called Web
Method (GET/PUT/POST), which the HTTP binding represents in the obvious
http-specific manner, but other bindings (MQSeries, perhaps?) will
represent using some other transport-specific means.
I find the term "SOAP Message" to be about right for the collection of
state >that is modelled by SOAP above the binding-specific layer< and that
moves from one node to another per the SOAP architecture. I think that is
distinct from the envelope, which is indeed the part of the (transmission
unit formerly known as message) that is indeed in media type
application/soap+xml.
Using my terminology, my impression of the options wrt the issue that
Gudge has raised can be explained as:
* Traditional (Noah): The "message" consists of all the SOAP-modeled
data, including not just the envelope but potentially other properties
defined by features. One such feature is the attachment feature, which
defines properties for the parts [1]. The representation of such
properties is at the discretion of the feature and the protocol binding.
For example, DIME provides a concrete implementation of the attachment
feature. In general, parts (other than the envelope itself) are modeled
as being external to the envelope.
* Infoset-based (Gudge): There are two infosets for each message related
by a binding-specific transform (not necessarily an XSLT transform.) By
definition, one of these includes in its XML Infoset some reprsentation of
every piece of data that would have been in the "message", as I have
defined it above. For example, a part which would otherwise be binary
might be modeled in characters using a schema type of hexBinary. This
first infoset provides unity for the processing model, but is often too
verbose for efficient processing in memory or on the wire. The
responsibility of the binding is to transmit this infoset, but it is given
hints about problematic content such as that which is of hexBinary type.
The binding can use such hints to provide optimized representations on the
wire (carrying the binary as true binary). A transform can be used to
create a second SOAP envelope which has the binary information replaced
with pointers to the protocol-specific serialization (this is the second
infoset listed above). The binding can, if desired, transmit this second
infoset in the same manner as a traditional SOAP implementation would
transmit the envelope. Presumably, not just the wire representation but
also the in-memory representations of large binary objects can be
optimized.
Gudge: is this explanation correct? I still have many doubts about this
proposal, but I think it's always healthy if one person can explain
another's proposal. Thanks.
[1] http://www.w3.org/TR/2002/WD-soap12-af-20020814/
------------------------------------------------------------------
Noah Mendelsohn Voice: 1-617-693-4036
IBM Corporation Fax: 1-617-693-8676
One Rogers Street
Cambridge, MA 02142
------------------------------------------------------------------
"David Orchard" <dorchard@bea.com>
02/04/2003 10:18 AM
To: "'Jean-Jacques Moreau'" <jean-jacques.moreau@crf.canon.fr>,
<noah_mendelsohn@us.ibm.com>
cc: <xml-dist-app@w3.org>
Subject: RE: What is a SOAP Message
Maybe a good word for the bag of bits that some are calling a message
would
be better served being called a representation? This would show a clean
relationship between the web and web services at the messaging level. The
TAG's work [1] isn't very far along, but it shows a start.
And if we don't a call a "message" a representation, then we probably
ought
to provide some explanation on how a message and a representation relate.
It might be as simple as "A SOAP Message is defined as a representation
that
contains a SOAP envelope, binding specific additional data, and has the
application/soap+xml content type".
Cheers,
Dave
http://www.w3.org/TR/webarch/#representations
> -----Original Message-----
> From: xml-dist-app-request@w3.org
> [mailto:xml-dist-app-request@w3.org]On
> Behalf Of Jean-Jacques Moreau
> Sent: Tuesday, February 04, 2003 12:30 AM
> To: noah_mendelsohn@us.ibm.com
> Cc: xml-dist-app@w3.org
> Subject: Re: What is a SOAP Message
>
>
>
> I also make the same distinction between messages and envelopes.
> I have seen the confusion made in other groups as well. So,
>
> +1 to your suggested clarification.
>
> Jean-Jacques.
>
> noah_mendelsohn@us.ibm.com wrote:
> > During today's AFTF telcon we got into a discussion as to
> exactly what a
> > SOAP Message is. Gudge pointed out that in several places
> in part 1 it
> > says or strongly implies that a SOAP Message >is< an XML
> Envelope Infoset.
> > I had always assumed we were clear that the "term message"
> refers not just
> > to the envelope, but to a set of information which includes
> at minimum the
> > envelope, but often other information as well (e.g., the destination
> > address, WebMethod, and Action tend to be sent out of band
> in SOAP http).
> > [...]
> >
> > I think it's useful and appropriate to separate the term
> "message" from
> > "envelope". [...] I think we should consider clarifying our
> terminology.
>
Received on Tuesday, 4 February 2003 11:16:03 UTC