February 20, 2005

The Rise And Fall of SOAP

There is lots of rumble in the blogosphere about the current state of the Simple Object Access Protocol. Much of it caused by the recent rise and success of RESTful web services. James Governor sent out a wake-up call to tool developers. Tim Bray a few months ago complained about the proliferation of WS-* standards. Carlos E. Perez posted an interesting article, pretty much summing up what's going on. And I have written a few not so nice sentences about it (here, here, here and here).

For me, SOAP was pretty much dead on the day I tried to convince three different SOAP+WSDL implementations (.NET, Java, C++), all claiming to be standard-compliant, to successfully talk to each other (without restricting myself to simple data types). After many hours of tweaking the C++ implementation (the one I had control over), it somehow worked, at least if you restricted yourself to the lowest common denominator of all three. And I am not event talking about all that WS-* stuff here. Just plain basic SOAP. All this emerging WS-* bloat is only adding insult to injury.

My favorite horror scenario that my cynical mind came up with is running the complete WS-* stack over a binary encoding of XML. So we can finally end up with a new CORBA that is significantly more complex than old CORBA, without offering any real advantages over the old one. I am even tempted to say that the whole WS-* stuff was never intended to bring any significant value to enterprise computing. Its sole purpose is to tie developers to the toolkits of a few powerful vendors. As once you have Indigo in the house, it will be very hard to replace it with something different.

In my opinion, the outlook for SOAP is not so bright. The major reason being that developers simply will not like it. As I said earlier, developers usually reject technology that they do not fully understand. Colorful GUIs in the form of wizards won't change that. The second reason is that very few of the technologies designed by standardization groups ever became successes. Remember OSI networking. Remember CORBA. Remember XML Schema.

I am convinced that SOAP and WS-* will be replaced by something different. It might not be REST or XML-RPC, but it will be a technology in the same spirit. Time will tell.

Posted by guenter at February 20, 2005 10:55 AM
Comments