Daily Archives: September 27, 2004

More on WS-* Complexity

Poking around the Web today I noticed a few more posts on the subject of Web services complexity. A pretty good summary is available here.
Like Mike Champion, I am a veteran of many, many REST vs SOAP debates at the Web Services Architecture WG (check the public email archives and you will see all every argument ever made ;-). The trouble with many of the arguments, as Geoff Arnold points out so eloquently here is that the REST folks (and ok, maybe my friend Mark Baker is on the extreme here, but I’m not sure they aren’t all zealots) seem to believe that everything else is wrong.
As I tried to point out in my previous blog entry on this topic, I pretty much agree with Mike that it’s a case of finding the right tool for the right job. But as I also pointed out, Amazon.com said last year that 20% of their developers use SOAP. This is exactly the kind of information you won’t hear from the REST folks since they don’t like to acknowledge the possibility that other valid solutions exist.
One funny thing about this kind of noise starting again (or maybe it just never went away, maybe it was me that wasn’t paying attention for a while), is that a new study is just out saying that the Web services market is exploding. The projection is $950M in 2004 and $6.2B by 2008.
Granted, the article doesn’t say much about the basis for the study, but it does characterize the market as being appropriate for “unified corporate portals” and helping solve the enterprise integration problem. Those of us who work in the enterprise software field know that the enterprise integration problem remains among the CIO’s top concerns (it is often cited as the top). Web services, and SOAs based upon them, have tremendous potential for addressing this problem, and therefore are of tremendous significance, at least for the world’s IT systems.
Simon St. Laurent’s blog provides a good perspective on the whole “XML vs SOAP” debate, albeit acknowledging he has no interest in enterprise software issues. I would point out though that CORBA has succeeded in exactly the place where Web services are trying to get – as an enterprise integration technology, and an enabler of SOA. Most of the world’s largest SOAs today are implemented using CORBA. So CORBA is not a bad comparison.
Among other things, though, Simon points out a blog by Nelson Minor on the topic of doc-literal Web services. Most of the time, the REST folks who raised all the fuss at the W3C preferred to contrast REST to the rpc-oriented Web services style.
Some of us have been saying for years now that Web services aren’t very good RPC technologies. In a recent blog entry I mentioned that using doc literal is probably the best way to use Web services. In his blog, another former WSA veteran, Chris Ferris, said that he agreed.
Typically the REST folks don’t like to hear things like this from Web services advocates, either, since it also tends to undermine their arguments. They also don’t like to consider a mixed world in which the REST approach may have its place for simple interactions and Web services may be needed for more complex transactions.
Personally, I like the idea of using XML over HTTP for everything, but I don’t think it’s practical. Too many other transports are already in use — you can’t just rip everything out and replace it all with XML/HTTP equivalents. (Although from a certain perspective, it appears this is what’s happening with the WS-* specs, it isn’t. The WS-* specs are defining features that primarily map to existing execution environments rather than replace them.)
I also agree that the whole WS-* thing is getting out of hand. My interpretation of the new WS-Transfer and WS-Enumeration specs is that they are intended to provide XML/Web services equivalents for the .NET (previously Windows DNA) concepts of ADO record sets (ok, so we now also have JDO for the Java world). And maybe this is necessary because IBM et. al are taking Web services off toward the Grid with the Web Services Resource Framework set of specs, and not everyone is interested in the Grid (or it’s too much of an IBM thing). But the problem with the WS-* specs isn’t a technological problem, despite some REST folks wishing it were. It is a vendor politics issue, and it simply needs independent leadership.
Referring again to CORBA, one of the reasons for its success as enterprise computing infrastructure (and granted this is an historical success, but nonetheless one any standards-based technology can aspire to – and of course it’s also worth pointing out the J2EE dependency upon CORBA) was that it had an architecture, (pretty) clearly defined and administered by OMG. The WS-* community badly needs an independent body (like OMG was for CORBA vendors) to determine whether specs like the WSRF or Transfer/Enumeration are relevant and appropriate to include.
With all due respect to Don, Chris, and Felipe, who have written a very good document on Web Services Architecture, the responsibility for defining the Web Services Architecture is not a single vendor’s. I realize that I spent almost two years in a failed attempt to help get W3C become that place and write that spec. I also realize that many of the REST advocates felt that it was an appropriate failure.
By the way, does anyone know of a recent REST market study? That might help clarify the debate somewhat.