- 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
[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:43 UTC