This is my third attempt at posting over the past few days. The previous two aborted posts were of the SOAP vs. REST, simplicity vs. complexity variety. But I click around and I read a few things and I click around and read some more. And, you know what? It’s all been said before, again and again and again, and better than I ever could. So I’m just going to reference Bill de HÃ“ra’s victory post one more time, and echo it here. The forces of simplicity have won. SOA is dead, SOAP is dead, the WS-Hairball is dead, and it seems even XML Schema is dead. Now begins the age of REST, and Rails, and Microformats, and getting shit done.
Or is it? Maybe you don’t work for or with a Global 2000 company, so I’ll let you in on a little secret: They Can’t Hear You! That’s right, the CIOs, and Enterprise Architechts, and, yes, even the journeyman programmer employed by these firms have no idea that there’s even a discussion going on. I’ve asked them. I really have. It’s what I do for a living. And the typical corporate technologist (broad strokes here, of course I don’t mean you) hasn’t considered REST and decided against it, they haven’t even heard the term. Ditto RelaxNG, Django, Atom, and everything else that makes the Web work and makes working with the Web easy. They don’t read technology blogs, they don’t know who DHH is, and they’re excited to get their new Vista gear.
Why? Two reasons. One is obvious: by and large, enterprise technology professionals know only what IBM, Microsoft, Oracle, and SAP tell them, tempered a bit with what Gartner and Forrester and, yes, Burton Group have to say. And what these companies are saying is SOA, SOA, SOA. Now, I don’t believe for a minute, as some people have suggested, that they are selling complexity because you can’t make money on simplicity (you can, by the way). No, they honestly belive SOAP, SOA, and the WS-Framework is the best way to build and architect distributed systems. And they’re smart people too; my SOA-preaching colleagues at Burton Group are scary smart.
The second is because business-oriented technologist refuse to beleive that simple solutions apply to their problem set. It’s always been complex before, and gosh darnit, it’s gonna stay that way. They want transactions, and reliability, and asynchronous messaging, and orchestration, and everything else. If it doesn’t look like Rendezvous or Tuxedo or BizTalk, then it can’t be a business grade solution, therefore it must be some toy. Closely related to this is the fact that the EJB/CORBA style of development, while not easy, is natural to the corporate developer; that is SOAP looks like what distributed systems are supposed to look like. Certainly no technology that’s been sitting under their noses for the last ten years can ever handle the needs that enterprises have!
So we’ve won and we haven’t. Outside the corporate firewall the message is out. Sure there’s work to be done yet, but people are doing it. Inside the firewall, life goes on as always. It’s this situation that prompted Steve Jones to say Want to be cool? Learn REST. Want a career? Learn WS.. Never has something been so right and so wrong.
Steve is absolutely right that, for the most part, businesses only know what the big vendors tell them. He’s also right in saying that every company will use or encounter web services. It’s sad that this is the “commercial reality.” However, this has always been the case, and while the best technology doesn’t always win, bad technology doesn’t win either. Hailstorm, anyone? He notes that if you want to be employed in three years time, you had better bone up on SOAP web services, with the implication that by that time this technology can be made to work.
And this is where Steve gets it all wrong. Web services won’t be pervasive in three years, for the simple reason that the technology can’t do what its proponents claim it can do. It’s too complex, it’s too poorly specified, it’s caught up in the ever-continuing vendor wars, and it’s simply not the right design for a pervasive and scalable distributed architecture. Yes, web services will be here three years from now, and, yes, there will be a handful of localized successes. But it will not be the all encompassing, enterprise spanning, solution to all your IT needs. It will, in fact, be yet another legacy system to integrate with. In the meantime, if you’re on one “the SOA team” at work, at least you have a few years of guaranteed employment ahead of you.