- From: Jean-Jacques Moreau <moreau@crf.canon.fr>
- Date: Tue, 01 Oct 2002 15:37:41 +0200
- To: Heather Kreger <kreger@us.ibm.com>
- CC: www-ws-arch@w3.org, Hugo Haas <hugo@w3.org>, "Herve Ruellan" <ruellan@crf.canon.fr>
Heather,
Overall, this[0] looks good. I have some comments regarding the
SOAP description.
Jean-Jacques.
Heather Kreger wrote:
> Here is the words I have for the wire stack. Same caveats as before.
>
> (See attached file: wire.ZIP)
---------------------
"The current industry standard for XML packaging is the Simple
Object Access Protocol (SOAP)[SOAP 00]."
Given that SOAP 1.2 is no longer an acronym (for which
no one has complained) -- and since I think you're really
talking about SOAP 1.1 at this point -- I'd suggest simply
saying: "SOAP 1.1 [SOAP 00]".
"IBM, Microsoft and others submitted SOAP to the W3C"
s/SOAP/SOAP 1.1/
"as the basis of the XML Protocol Working Group [XMLP 00]."
I suggest adding: "The XMLP WG is in the final stages of
developping SOAP 1.2, the next version of SOAP.", which
then provides a good transition to the following
(amended) sentence:
"Once complete, XML Protocol implementations will replace the
existing SOAP implementations as the industry standard XML
messaging protocol."
s/XML Protocol/SOAP 1.2/ (The name of the protocol
is no longer XMLP [nor XP, as it used to be initially].)
"SOAP is a simple and lightweight XML-based mechanism for
creating structured data packages that can exchanged between
network applications. SOAP consists of four fundamental
components: [...]"
This is a description of SOAP 1.1. SOAP 1.2 has many
more components than this (see below). Also, most
components are now optional, so no longer
fundamental.
I'd thus suggest combining the above text with text
derived from SOAP 1.2's abstracts for Part 1 and
Part 2. Here's a suggestion:
"SOAP 1.2 is a lightweight XML-based mechanism for
creating structured data packages that can be exchanged
between network applications. 'Part 1: Messaging
Framework' defines an extensible messaging framework
containing a message construct that can be exchanged
over a variety of underlying protocols.
'Part 2: Adjuncts' defines a set of optional
extensions (adjuncts): a data model for
representing application-defined data structures
and values as a directed, edge-labeled graph;
a set of rules for encoding instances of
data that conform to the data model; a convention
for how to use the data model for representing RPC
calls and responses; a convention for describing
features and bindings; a request-response message
exchange pattern (MEP); a message exchange pattern
supporting non-SOAP requests for SOAP responses; a
feature for controlling the methods used on the
World Wide Web; a binding to HTTP that follows the
rules of the SOAP Protocol Binding Framework.
SOAP 1.2 can be used in combination with a variety of
network protocols; such as HTTP, SMTP, FTP, RMI/IIOP
or MQSeries. A binding to Email [SOAP-EMail] has also
been developped by the XMLP WG."
"SOAP is currently the de facto standard for XML messaging for a
number of reasons. [...]"
You may also wish to list XML as another reason for
SOAP's success.
"As a key part of its envelope message structure, SOAP defines a
mechanism to incorporate orthogonal extensions to the message in
the form of headers and encoding rules."
As of SOAP 1.2, extensions (now called "features")
are either implemented as headers -- in which case
the extension (the combination of the syntax
and the associated processing) is called a
"module" --, or via bindings -- in which case
it is a "binding-supported feature" (no special
name). SOAP 1.2 also introduces Message Exchange
Patterns (MEPs), which are a 3rd type of "feature"
(supported by bindings only).
So, to catter for SOAP 1.2's revised extensibility model,
I suggest the following two replacements (above):
s/SOAP/SOAP 1.2/
s/extensions/extensions (so called features)/
and adding the following sentence:
"SOAP 1.2 also allow features to be expressed via
protocol bindings, when such features are implemented
natively by underlying protocols."
"It is expected that as Web services are adopted and evolved, a
broad collection of such extensions will emerge and be standardized."
It may be worth pointing to the following
existing feature definitions:
the Web-Method feature [1], the Email correlation
feature [2] and the (abstract) Attachment
feature [3].
"the ability to build and/or parse a SOAP message"
According to SOAP's terminology, this should be
instead:
"build and/or process"
"The XML document in the body of the message can be a SOAP RPC
request or a document-centric message as indicated in the service
description."
RPCs are discouraged for safe retrieval (see [4,
Example 12a]. Also, I think there is a growing
feeling in the community (including within
the XMLP and WSD WGs) that document-centric
should be preferred over RPC.
Should this then be indicating by the following changes?
s/SOAP RPC/SOAP RPC (discouraged)/
s/document-centric/document-centric (preferred)/
"The service requestor presents this message together with the
network address of the service provider to the SOAP infrastructure"
SOAP 1.2 would typically do this through
a Message Exchange Context (MEC), which would
contain more information that just the message
address, for example the MEP and features used,
the selected binding, etc.
I suggest adding:
", via a Message Exchange Context (MEC). The
MEC would typically contain the binding, MEP
and feature used."
"The SOAP client runtime interacts with an underlying network
protocol (e.g. HTTP) to send the SOAP message out over the network."
As of SOAP 1.2, the interaction is mediated by
a "SOAP protocol binding". I suggest:
s/HTTP)/HTTP) via a SOAP protocol binding/
"The web service is responsible for processing the request message"
I think there is a missing step of verifying all
mandatory extensions/headers are understood, if
any (as required by SOAP's processing model).
Suggested replacement:
"The web service is responsible for verifying
all mandatory extensions/headers are understood,
and, if so, for processing the request message"
"The response SOAP message is presented to the SOAP runtime with
the service requestor as the destination"
Again, that would typically involve passing
a Message Exchange Context.
I suggest adding:
"The MEC would typically include the list of
features used by the requesting node."
"In the case of synchronous request/response over HTTP, the
underlying request/response nature of the networking protocol is
used to implement the request/response nature of the messaging."
As of SOAP 1.2, the application does not deal directly
with the underlying protocol, but through the
corresponding protocol binding.
I suggest adding:
"For SOAP 1.2, this is handled directly by the
SOAP HTTP protocol binding."
"The response message is then presented to the application."
Suggested addition:
"and processed according to the rules of the SOAP
processing model."
"This example uses the request/response transmission primitive
that is quite common in most distributed computing environments.
The request/response exchange may be synchronous or asynchronous.
Other transmission primitives such as one-way messaging (no
response), notification (push style response), publish/subscribe
are possible using SOAP."
s/primitive/message exchange pattern (MEP)/
I suggest adding at the end:
"The SOAP 1.2 binding to HTTP supports two Message
Exchange Patterns natively: the Request-Response
MEP and the SOAP-Response MEP. The Request-Response
MEP should be used for all request/response style
interactions that modify the state of the service
provider. The SOAP-Response MEP should be used for
all request-response style interactions that do
not modify the state of the service provider. The
actual MEP used depends on the value of the
Web-Method feature."
"Interactions"
Shouldn't there be an entry for Request-Response and
SOAP-Response?
I hope this helps.
Jean-Jacques.
[0] http://lists.w3.org/Archives/Public/www-ws-arch/2002Sep/0296.html
[1]
http://www.w3.org/2000/xp/Group/2/06/LC/soap12-part2.html#WebMethodFeature
[2] http://www.w3.org/TR/2002/NOTE-soap12-email-20020626#correlation
[3]
http://www.w3.org/2000/xp/Group/2/07/SOAP-AF/aftf-soap-af.html#name
[4] http://www.w3.org/TR/2002/WD-soap12-part0-20020626/#L3677
Received on Tuesday, 1 October 2002 09:37:55 UTC