2 ms·
I'm not generally an advocate for SOAP. SOAP is good for basically one thing, which is sending Java/C# objects over HTTP and having them arrive on the other sid
by benreesman 19y ago
I'm not generally an advocate for SOAP. SOAP is good for basically one thing, which is sending Java/C# objects over HTTP and having them arrive on the other side looking the way you expect. My preference for languages like JavaScript leads to a preference for lightweight (mostly JSON-bearing) web services that most people would call REST. I agree that SOAP has been the subject of way too much promotion of the part of tools vendors trying to sell bloated web-services stacks.
The reason for my rant is that REST has become a battle-cry in some kind of reactionary anti-vendor uprising, which obscures the issue. The word REST has a very precise meaning and almost all of the celebrated 'REST' services (Flickr, Amazon, Facebook, etc.) fail to meet the criteria. Those services are just lightweight RPC over HTTP, and there's nothing wrong with doing a service like that. For client programs written in 'dynamic' languages, those kind of services are preferable.
REST is for documents, and time spent trying to find the 'resource' to be POSTed to in 'finalize this multi-step transaction between these two interest-bearing accounts' is time wasted. The linguistic gymnastics necessary to jam an RPC peg into a CRUD hole just make the service developer look silly.
Cheers.
- johnm 19y agoIndeed, a lot of the services touted as RESTful are less RESTful and more RPCish. REST has certainly become a fad term that's used to hype that anti-SOAP juggernaut and that's led to a lot of confusion since so many of the folks doing the yapping don't really understand REST. Your confusion (whether you've read Roy's dissertation or not) seems to be a fairly common one for people coming from an experienced RPC mindset. I had a similar conversation at SDWest after my talk on REST with a SOAPer -- he too was missing the point that terms like "document" and "resource" are much more abstract in REST than what the general English meaning implies -- particularly to people who's existing experience with RPC approaches like SOAP and CORBA before that gives them a very different and, arguably, much more concrete terminology for RPC.