09/05/08 :: [REST] The RESTafarian's Dilemma [permalink]
Steve provided us yet with another outstanding piece of boloney.
Since previous columns have covered many of the technical angles, this time I present the debate from the technology adoption angle.
Steve takes a seemingly outstanding piece of work from Clayton Christensen and makes the bold claim that "REST is a disruptive technology". How does it makes this claim?
the time we spend arguing for one technology over another based on pure technical merit is, frankly, largely wasted.
Yes, of course, when most of the technical questions about REST are largely unanswered (nor can they be answered) it is time to fold the technical debate and run for cover.
It ultimately comes down to cost — if RESTful HTTP can indeed yield “good enough” integration solutions that cost less to develop and maintain, it will slowly displace heavier, more costly RPC-oriented approaches in more and more enterprise scenarios.
But of course, since RESTful HTTP is free and it is "good enough" we don't need anything else. Why did nobody thought of that before?
So Steve, do you really think that a technology that was designed as a browser-to-server application protocol and that cannot support:
- versioning
- events and publish/subscribe interactions
- reliability, transaction and federated security mechanism
- hooks for loose coupling
- collections without the APP crutches
- assemblies
- orchestration
- bidirectional interfaces
- ...
while
- features a complete mismatch with back-end systems (which were never designed for resource-oriented types of interactions)
- and forcing unnatural associations of interactions under the same network authority
is this good enough to support server-to-server interactions? Of course it is free but is it good enough if each time you need one of the above you will have to bake it in your code behind the resource or come up with proprietary HTTP "extensions". At what cost? with what kind of maintenance.
What Steve fails to tell you in his article is that WS-*, ebXML, RosettaNet and the like were disruptive technologies. How many proprietary EAI platform are left standing today? Where are the CrossWorlds, NEON...? They either disappeared or reinvented themselves as an ESB. EAI itself has been completely transformed by a common (technology neutral) extensible syntax, transformable and semantically accessible. EAI itself has been completely transformed by a transport neutral protocol. But of course, for Steve this is not disruptive enough and he lumpsums these technologies as a "sustainable evolution". And I am not even talking about Remoting Technologies (is there any left standing?) Steve, when will you stop your fallacies? How can we trust anything you write? Never in my career have I seen a scientific journal floating so many "opinions".
So here we are at the end of the summer 2008. After so many pitiful discussions, the die hard RESTafarians keep serving the same fallacies as if there had never been any discussion, as if there aren't any major flaws in a the (other) REST, and as if people that tried REST did not come back with questions. Now they are facing a dilemma. They have misguided a large number of people towards a non-solution. They thought naively that a browser-to-server interaction was equivalent to a server-to-server interaction. This is what Marc Brooks commented on my blog recently:
No, HTTP is not just a browser to server protocol. I use HTTP all the time between servers. You can structure HTTP-based message interaction correctly, and it works well. The key success is that HTTP POST/PUT/DELETE triggers an action and if that action needs more information, it should GET it from known (or specified) endpoints.
Way to go Marc, I never realized that server-to-server was so simple. Thanks. Not sure the RESTifarians are not going to flag you for what you say (since it has nothing to do with REST).
I was there in 1998 with the OBI, RosettaNet and ebXML folks when we looked at how suitable was a browser-to-server application protocol (HTTP) for server-to-server interactions. Do you think we were a bunch of idiots thinking around? Do you think that when the WS guys came along with the exact same arguments as you have today that we did not know where all this will end up?
In reality, the RESTafarians are just a Bunch of Remoting guys and galls, suffering from a disruptive world that has made remoting obsolete. Make no mistake, all they care is find again a familiar sandbox where they can CRUD all day with client/server interactions. All they care is to circle back to their world.
Now their dilemma is how can they get out of this without looking totally stupid? Push forward with always "hollow-er" arguments like Steve today or return to the drawing board and have real technical discussions?