Wednesday, July 30, 2008

SOAP and REST and Tools and Consequences

Jeff makes some interesting points about SOAP and REST. SOAP is probably dead. R.I.P. But I want to take the conversation a step further.

He points out that vendors haven't really jumped on the REST bandwagon and I agree - they haven't. But I think that this is a Very Good Thing (TM).

First of all REST is simple enough that (especially on the client side) you don't really need tools. This is where a lot of the utility comes from.

Secondly and more importantly REST hasn't beaten SOAP because the protocol is massively superior. REST has beaten SOAP because of SOAP's complexities and incompatibilities. But it isn't the protocol that is complex and incompatible, it is the tools!

If you want to build a successful service protocol I think you have two choices:
  1. Build something simple enough that normal inconsistencies can easily be dealt with on a project by project basis. (e.g. REST or basic HTML request/response)
  2. Build something that is absolutely specced out to the nth level of detail so that there is absolutely no ambiguity and produce several reference implementations (e.g. IDL/IIOP)
Anything in between these two extremes is doomed. I claim that tools (especially mediocre tools) could, if widely adopted, push REST out of category 1 and into the middle territory. Either that or the tools would die. Either way I don't see the long term value and I hope that the vendors stay away for a while longer.


No comments: