Well, for some time now I’ve been thinking a lot about Web Services. Some time ago I gave some conferences comparing CORBA and Web Services, and things are not getting better.
Let’s start on the number and complexity of the current Web Services specifications. Today I saw two posts on different weblogs that told me that MTOM, XOP, and RRSHB, via Stefan Tilkov and Don Box. OK. I haven’t heard of those specifications before, although I kind of know what Web Services are about… I just checked them… Pages and pages that I don’t understand. Do they really think that anybody will adopt these standards? Just they don’t realize that standards to be that must be easy and understandable?
OK, continuing with ocmplexity of all the specs. Some time ago, Eric Newcommer from IONA launched a discussion on that. You can follow it here, here, here, and here. Te result: Web Services “standards” (if you can call any thing out there as “the set of Web Services Standards”) are complex, big, and kind of a mess. Even after reading Stefan Tilkov’s presentation on Web Services Standards I cannot tell that the thing is anyhow clearer.
Web Services have drawn so much attention from all the enterprises as the key to their success in the 21st. century that they don’t realize that they don’t have anything new, and yet they are silly complex and inefficient. Moreover, they’re confusing the “SOA” (Service-Oriented Architectures) concepts, which are good, and REST concepts, which are also good philosophically with Web Services, in the sense of SOAP, WSDL, UDDI, and all those number of “standards” for anything.
It is curious that some years ago, one of the main drawacks that people perceived from CORBA was that their specifications were complex and un-implemented. Yes, I admit, they were all that. They were complex, and some of them were not implemented. But what is happening now? Are Web Services Standards easier than their CORBA counterparts? I thought that they learned the lesson… And also, are all those monsters implemented? Even XSD is not implemented completely!!
Let me say that CORBA standards were much better written, were easier. And OK, they are bad in some sense… then, please, try to fix them instead of re-inventing the wheel with WS.
Another thing that’s funny with WS is that people seem to perceive them as marvelous, when all of the things (and even more) that can be done with WS were solved by other technologies such as CORBA. We don’t need WSDL, we have IDL, etc, etc.
To date, WS technological inferiority is hidden by supplying tools that automatically generate stubs and skeletons, and, as if this was a brand new idea, pleople seem to be discovering that they can do remote things as if they were local. Things, needless to say, that were taken care of nicely by CORBA, for example. Also, unbelievably, there is not even a mapping from WSDL to C++, for example…
Summing up, designers of SOA and WS should realize that only simple design go on. See for example XML, RSS. What seemed to be the key for success for WS (human readable, understandable technology, etc.) seems to be what they are forgetting, creating monster specifications that perhaps only Microsoft and IBM will implement.