[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: SOAP, XSD, and HTTP
Alaric Snell wrote: > >... > > Would it satisfy you if SOAP, in the funky wizard, let you specify (for each > method) whether it should be accessed via GET (for idempotent methods) or > POST? So that SOAP *does* expose this feature of the underlying HTTP > protocol? That would be another step forward. I am never going to be completely satisified with the idea of running an RPC protocol (or "protocol framework" or whatever you want to call it) on top of an application protocol. It isn't logical, it isn't efficient, it isn't security-conscious and it breaks things. We can even agree that if SOAP had chosen its own port and framing mechanism, it could have chosen more intelligent ways to use TCP than did HTTP. > ... This information would be presented in the resulting WSDL for > clients to take note of, and should be enforced in the server by having it > reject mis-methoded requests. > > And what if one defined SOAP method URLs: > > soap:get:http://soap.foo.com/MyService#getName() > soap:post:http://soap.foo.com/MyService#setName("Fish") > > ...to bridge addressability? The latter URI violates the Web principle that URI traversing should be safe and side-effect-free. Both should use question marks if you mean for the method names to be interpreted on the server side (i.e. not mobile code!). I'm not clear on what benefits we get from doing the above rather than: http://soap.foo.com/MyService/name Also, I'll be more interested to see how you handle stock quotes in your proposal. The name is a property service but stock quotes are independent objects. And as we all know, web services are about stock quotes. > I don't see 'REST vs RPC'. I see REST as just a name for certain useful > features of an RPC system... 'REST vs RPC' is like 'Cheese vs Pizza'. We've been around this enough times that we just have to agree to disagree. Anyhow, the issue is hardly the terminology but rather how we handle the concrete issues of addressing and method discovery. > The stuff about state management is far from 'un RPC' - just look at NFS. NFS is designed the right way around. State management protocol on top of an RPC protocol, not vice versa. After all, state management is a particular *application* of remote procedures. Remote procedures are not a specialization of state management. Even so, NFS is not what I'd call a "web protocol." It is okay for the Intranet. In my experience it doesn't have great support for security, latency or network unreliability. Paul Prescod
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|