- From: Mark Baker <distobj@acm.org>
- Date: Mon, 7 Feb 2005 14:55:23 -0500
- To: public-ws-addressing@w3.org
[sorry if you see this twice - I sent it to -request unintentionally] On Mon, Feb 07, 2005 at 12:27:18PM -0500, Christopher B Ferris wrote: > I was simply pointing out that in terms of deployed software, the theory > that you can use any old URI scheme in an HTTP request is not bourne out > in practice. You don't see anything wrong with your test? Here's something I just tried off the top of my head. I suggest that your hypothesis would be better tested with such an approach; bork% telnet www.kernel.org 80 Trying 204.152.189.116... Connected to zeus-pub.kernel.org. Escape character is '^]'. GET ftp://ftp.kernel.org/pub/README HTTP/1.0 HTTP/1.1 200 OK Date: Mon, 07 Feb 2005 18:01:11 GMT Server: Apache/2.0.46 (Red Hat) Last-Modified: Fri, 28 May 2004 14:42:23 GMT ETag: "8004-71b-1d8851c0" Accept-Ranges: bytes Content-Length: 1819 Connection: close Content-Type: text/plain Welcome to the LINUX KERNEL ARCHIVES ftp.kernel.org "Much more than just kernels" IF YOU'RE ACCESSING THIS SITE VIA A WEB BROWSER PLEASE USE THE HTTP URL BELOW INSTEAD! [snip] > > In the former case, clients have the same expectation (aka contract, > > aka interface) as each other. In the latter, they don't. > > Say what? That makes no sense. In both cases, there is server-side > processing. Right. What does that have to do with the interface, which is what provides the contract/expectation? > Are you suggesting that in the first that the client need not be aware of > the > nature of that processing whereas in the latter it does? Not exactly. What I'm saying is that in the former case, the client is only aware of application-generic interface semantics, while in the latter they're aware of application-specific interface semantics. You seem to be focusing entirely the processing behaviour. I don't think such a focus will lead to any resolution of this disagreement, because the processing is *identical* in both cases. We're in complete agreement on that. The difference is entirely in the interface. > > > For that matter, > > > what > > > is the "processing" mentioned in the first case? > > > > It's whatever the service does, like processing invoices, orders, > > notifications, etc.. > > And if the PurchaseOrder, Invoice, etc. carried an identifier (PO123, > INV123), > that would be abuse of HTTP I suppose? ??? No, of course not. > > > How is it different from > > > "an application-specific mutating operation" and exactly what is that? > > > > > An example of an application-specific mutator would be "orderShoes". The > > difference is that POST is an application-generic mutator. So, when > > publishing my shoe ordering app on the Web/Internet, I don't expose the > > "orderShoes" operation, I expose a URI to which the order document can > be > > POSTed (a Facade). > > But the only thing that the POST accepts is an <Order/>, so the reality is > that > the POST is constrained beyond what is specified in the HTTP spec in > accordance > with what the server has chosen for its processing. No. POST is POST. That the server advertises that it only accepts a particular media-type/schema/whatever doesn't change what POST means, it only *extends* the aggregate semantics of the interface of that service as a whole. > How is this relevant to the issue of what is in the entity body of the > POST. > MY point was that HTTP doesn't constrain this in any way. You have just > confirmed > this point. Therefore, you can't make a case that WS-A voilates the Web > Arch > if the HTTP protocol is the realization of the Web Arch we have today and > SOAP+WS-A > is merely defining the content of the entity body of an HTTP POST (or GET > in the > case of SOAP1.2 Response MEP/binding). HTTP isn't a "realization of the Web architecture". Only the architecture of the Web itself is the Web architecture. And when I look at that architecture, what I observe is millions upon millions of HTTP servers and intermediaries looking at the Request-URI value to determine where the message is logically targetted. WS-A, by not requiring that the address of an EPR be encoded in the Request-URI when using HTTP, and instead placing it elsewhere where none of those millions of blobs of software knows to look for it, is therefore inconsistent with Web architecture. Mark. -- Mark Baker. Ottawa, Ontario, CANADA. http://www.markbaker.ca
Received on Monday, 7 February 2005 19:37:30 UTC