I haven't been paying very much attention to the WS-* vs. REST debate for some time but this SD Times piece by WSO2's Sanjiva Weerawarana was just insulting:
Which one is it? WS-* or REST? It turns out that both camps are lying through their teeth about how "easy" it is to build distributed business applications using their favorite technological approach.
Nice try. I've never heard anyone from the REST camp claim that building distributed systems was "easy". Ever. It's exactly what has separated the two camps, in my opinion. There's a clear distinction in overarching goals. The WS-* folks have historically been obsessed with making things easy, usually for an imaginary business analyst who is nowhere near as technically adept as they. The REST folks, on the other hand, seem much more interested in keeping the entire stack simple, and for everyone involved.
This difference in priorities (easy vs. simple) often manifests itself in arguments about technological issues on the surface. Take the never ending debate about whether REST needs a description language like WSDL; which, incidentally, Sanjiva is largely responsible for. If building systems in your world can be made easier with the addition of a description language, then WSDL probably makes a lot of sense. If, however, building distributed systems in your world is a tediously hard pain in the ass whether you have these cockamamie description files or not, well, then you fight to keep the system as simple as possible by reducing the number of actors, dependencies, and concepts to an absolute minimum.
A lot of REST adherents, myself included, have come to appreciate REST only after believing and then eventually giving up on the notion that distributed systems design could ever be easy. You eventually find out that easy is not feasible and go for the next best thing: simple; manageable with reasonable effort and care.
But if you've never designed a large (or even small) scale distributed system, it's not hard to believe that building them could somehow be made easy with enough technology. There are a million vendors peddling a million technologies that claim to make distributed systems design easy. Sanjiva's one of them. There are magic quadrants and IPOs and really serious people at really serious companies writing in really serious magazines about tools that make distributed systems design as easy as falling in love. Why would anyone believe that building these things should be anything but easy?
I don't think the WS-* vendors intentionally sold a product they knew could never be delivered - at least, not at first. It appears that they truly believed that they could make this stuff easy, eventually. It's just sickening to see them get away with what probably amounts to billions of dollars in bad IT investment and all the while poopoo-ing the REST folks who were trying to inject some reasonable expectations into the discussion. It makes it extremely hard to swallow Sanjiva's admission that ...
In fact, there is no easy way to build distributed applications; it's simply a hard problem. WS-* and REST (Representational State Transfer) each has its own strengths and weaknesses.
Once you cut through the cloud of hype, it becomes much easier for the confused enterprise architect to understand what to use and when. So let’s take apart the WS-* versus REST debate and clearly separate the facts from the myths and the lies.
Gee, it's nice to know that REST will finally have a place at the table with the really serious crowd but it's hard to understand how the same people who have screwed up so much of the past near-decade should be given the space in reputable publications to make these types of statements without them being attached to a letter of resignation.