
On Sat, Jun 27, 2009 at 1:27 PM, <eprparadocs@gmail.com> wrote:
Well I wasn't the one to bring up the dribble about RESTful being closer to God because it was OO and RPC, like SOAP, isn't. That is just crap. They are all the same thing. So stop trying to sell it.
Thanks again for your insighful contributions. Now if you want to have a sensible discussion about the advantages of one approach to API development over another then this is the place to do it. If not then perhaps I wasn't clear enough before: take it elsewhere. Cheers, Sam
Sam Johnston wrote:
On Sat, Jun 27, 2009 at 12:22 PM, <eprparadocs@gmail.com <mailto:eprparadocs@gmail.com>> wrote:
Geez I wish people would stop the RESTful is OO vs. RPC is functional. Nothing could be further from thhe truth. RESTful, RPC, SOAP, XML RPC are all remote calls. It has nothing at all to do with functional vs. imperative programming. That comes from something else, the definition of the language.
RESTful is functional, it just deals with objects (or it can). The same can be said of RPC, after all Corba is object based use of "RPC".
Actually I think it does make sense to differentiate. Traditionally APIs have been a never-ending sprawl of "doSomething(withSomething)" calls, with new ones being added whenever there's a new itch that needs scratching (e.g. EC2).
In a pure REST API (what I call "ROA") everything's a [representation of a] resource... an object or a document if you like... and most of your operations look like GET-modify-PUT. Unfortunately many/most even RESTful APIs tend to cut corners and in doing so lose much of the advantage of being RESTful in the first place.
For example, if we use an RPC-style call for state changes then we have to punch through to the hypervisor for each and every call (which severely hurts scalability). If we handle these instead as (cancelable) requests then the API clients and the nodes themselves can be completely decoupled, effectively using the API implementation as a[n infinitely scalable] document repository.
Anyway we definitely don't have time for more bikeshed painting so if you want to talk about the theory of REST then rest-discuss <http://tech.groups.yahoo.com/group/rest-discuss/> is probably the place to do it.
Sam