Well, it was bound to happen. No technology can be the cool new new thing forever. After nearly seven years, I guess it's finally Web services' turn.
Adoption rates for Web services continue to grow steadily, and a recent survey (which unfortunately sort of seems to mix Web services and SOA) indicates that SOA adoption is growing, and productivity gains are real.
This evidence seems to fly in the face of some of the recent criticism about SOAP.
So what does this all mean? It means that the inevitable criticism is starting to happen that happens when a formerly cool technology goes mainstream. It's like that indie band everyone liked until they sold a million CDs.
This fits right into the Gartner group's "hype cycle" - Web services are now past the peak of inflated expectations, through the trough of disillusionment, on the way toward mainstream adoption.
[Note: I could not find a link for the 2006 report that didn't require Gartner membership, but I can tell you that SOA is right in the trough this year, and advanced Web services are falling toward it very quickly.]
So all this noise we continue to hear about how terrible WS-* is just means that it is going mainstream. ;-)
But seriously, once a technology passes the hype cycle and becomes adopted, all its warts and bumps become more obvious as we find out what it is really good for, and what it is not. In that way the criticism is an acknowledgment of fit for purpose (even if it's expressed in terms of what it isn't fit for).
Mark Little recently posted an interesting opinion piece asking whether all this sort of backlash against Web services would threaten the acceptance of SOA. He clarified this in a comment, which says that equating Web services to SOA restricts options for using other technologies that may be a better fit for some SOA requirements.
Excellent point - we should no more propose Web services as the right solution for everything than we should propose REST as the right solution for everything.
In fact this kind of argues that Web services are going too mainstream - being used for things maybe they're not good for. And so the criticism, the backlash, etc. is actually good, if it helps prevent that kind of thing.
We can (and will) fix many of the problems with Web services that are coming to light. Sure, SOAP may be more complex than it needs to be. This whole optional header thing is a bit weird - and how the headers work in combination isn't clear. And some of the WS-* proposals will end up not getting used at all, or not getting used much.
Certainly many Web services tools take a somewhat limited view of XML and tend to tie it too closely to object oriented technologies.
But we can improve that, we can improve the way XML is used, include dynamic languages more into SOA environments (interesting to note the same survey referenced earlier also mentions the increasing adoption of Ajax), and fit REST-style interactions in where they make sense.
We can continue to separate services from objects, and create new tools that better support the service concept.
What we can't do is get broad industry agreement on another set of specifications. I can easily remember when it wasn't at all certain that SOAP would succeed in gaining sufficient adoption.
This is the world we have. It may not be pretty, but it works, and it is definitely better than what we had before.
And now it's just as uncool, too.