W3C home > Mailing lists > Public > www-ws-arch@w3.org > May 2002

Re: Web Service Architecture Usage Scenarios editors copy available

From: Mark Baker <distobj@acm.org>
Date: Thu, 2 May 2002 13:29:50 -0400
To: David Orchard <dorchard@bea.com>
Cc: www-ws-arch@w3.org, www-ws-desc@w3.org
Message-ID: <20020502132950.C25482@www.markbaker.ca>
[redirects set to www-ws-arch]

Wow, thanks for this David and editors.  Very high quality.

It's good to see lots of example SOAP message there, because it makes
it easier for me to point out examples that are inconsistent with Web
architecture.  I know I won't be the most popular guy around for doing
this, but IMO, there's no better time than the present for addressing
this key part of our charter.

I'll go through them individually, and correct them where I can.

2.1.2; this is Web architecture unfriendly, because "StockPriceUpdate"
is a function, rather than a resource representation or data object, and
therefore violates the semantics of any transfer protocol over which
that message is carried (not just HTTP).

A Web architecture friendly example would be;

<?xml version="1.0" ?>
<env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope">
  <env:Body>        
    <r:StockPrice xmlns:r="http://example.org/2001/06/quotes">
      <r:Price>34.5</r:Price>
    </r:StockPrice>
  </env:Body>
</env:Envelope>

the notion of "Update" would be reflected, in the case of the use of
HTTP, by using the PUT method.  Of course, this would require a SOAP PUT
binding.  Also, the company symbol would be removed from the body and
reflected in the URI that the PUT was invoked upon, for example;

  http://example.org/stockquotes/BigCo/

2.4.*; these are RPC examples, which are necessarily inconsistent with
Web architecture.  I suggest removing them.

2.10.2; as for 2.1.2, these examples violate Web architecture by
specifying a function in the SOAP body.  As this method is a retrieval
method, presumably without side effect, they should be using HTTP GET.
We could either remove them, or if we want to identify the need for a
SOAP GET binding, we could defer to it for what the example would
look like.

2.15.2; even though the details of these messages are not important to
the example, I believe that all examples should be Web architecture
friendly.  Perhaps replace it with my corrected example from 2.1.2
above.

2.25.2; as for the other examples, "StockNotificationSubscription" is
a function name, and therefore not Web architecture friendly.  There
are at least two possible ways to implement this functionality in a Web
architecture friendly manner; if you're interested, I can let you know.

The other examples are great.  Many include no body, only headers, and
those appear fine to me.  I did check them to make sure that they
weren't stateful; none appeared to be.

Thanks again.

MB
-- 
Mark Baker, Chief Science Officer, Planetfred, Inc.
Ottawa, Ontario, CANADA.      mbaker@planetfred.com
http://www.markbaker.ca   http://www.planetfred.com
Received on Thursday, 2 May 2002 13:22:44 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 3 July 2007 12:24:59 GMT