While reading through yet another article on SOAP vs REST, I came across a quote from Tim O’Reilly that confirms something that I always suspected about SOAP:
I think there are also some political aspects. Early in the web services discussion, I remember talking with Andres Layman, one of the SOAP architects at Microsoft. He let slip that it was actually a Microsoft objective to make the standard sufficiently complex that only the tools would read and write this stuff, and not humans. So that was a strategy tax that was imposed by the big companies on some of this technology, where they made it more complicated than it needed to be so they could sell tools. [Emphasis added]
Everything I have seen about SOAP has let me to this conclusion. The funny thing is that many corporations cling to SOAP as if they couldn’t possibly have web services without it (though many crafted and successfully implemented their own simple XML over HTTP services before the SOAP spec saw the light of day).
I think that Tim missed the boat with this comment as well:
It’s not necessarily just Machiavellian scheming. I think Microsoft really believes that you can create better user experiences with tools that give people so much more power.
Not quite. It took vendors like Borland (who has now left the compiler/IDE business) and others creating much more robust and productive environments in the 80s for MS to finally wake up to the need to have a viable IDE. In typical monopolistic fashion, MS latched on to the IDE as yet another means to vendor lock in. So, once it inserted itself into the IDE business, MS ‘strategy’ has always been creating the most obscure, convoluted means to implement code, libraries, frameworks, etc to tie developers to their toolset, plain and simple. If the languages and frameworks were able to stand on their own, there would be no lock-in to the MS tools. Incidentally, you will hear similar arguments around JavaServer Faces and Sun tools as well.