Dare’s Right: You Build Real Working Systems With REST
November 16th, 2007 | Published in REST, WS-* | 3 Comments | Bookmark on Pinboard.in
Dare Obasanjo explains that “WS-* is to REST as Theory is to Practice.” Very well stated!
Like Dare, I used to work on WS-* stuff, so I’m going to echo him and tell you why I shifted entirely away from it. In the past I definitely thought WS-* had potential for solving certain vexing enterprise integration problems, especially multi-protocol integration scenarios, but I also knew it had other problems. In addition, I was aware that that particular set of vexing integration problems, in the big picture, wasn’t very large or common. Meanwhile, REST has just appealed to me more and more over the past five years since I first wrote about it. As I learned more about REST, the size of that set of vexing problems just kept shrinking.
Finally, I realized that WS-* was simply not worth it to any customer or to me. My decision to leave WS-* behind and use only REST was based entirely on real-world commercial integration issues, not because I thought REST was cool. REST is not only the better theoretical distributed systems model by far, but also the better development model as well in terms of helping deliver working solutions within budget, so ultimately I chose to completely part ways with WS-*.
Nowadays, all the distributed systems development I do is REST-oriented. I know from significant first-hand experience what both sides of the coin look like, and there’s no question that REST-oriented systems are easier and less expensive to develop, and far less costly to extend and manage. Like Dare said, anyone who thinks otherwise is either so emotionally or monetarily attached to WS-* that they can’t be objective, or they don’t actually write any code or build or maintain any actual systems. It’s no contest, really.
November 16th, 2007 at 11:17 am (#)
[…] More notables banging the REST drum. […]
November 16th, 2007 at 5:33 pm (#)
With every technology wave, there will be standards, proposals, patterns, architectures, products, and projects that fall along a spectrum of quality, from sublime to ridiculous. Why would WS-* be any different?
REST is a great way to solve certain kinds of problems, and various WS-* technologies provide great ways to solve certain other kinds of problems. What causes this kind of ad absurdum posturing is when people try to force a single solution on every problem.
Some people overuse WS-* technologies on the mistaken assumption that WS-* is a monolith. That it is one architecture, one standard, or one product, so if you’ve used some of it you might as well use all of it.
Some people adopt WS-* when REST would be a better for their current requirements because they overestimate their future requirements, but in the long run we’re all dead.
Some people adopt WS-* because they are aping other vendors or think being WS-* checklist compliant will provide interoperability for free.
Some people think that because a proposal or standard starts with WS- it must be worthy of adoption, or that the architectural assumptions inherent in the proposal are always valid – WS as a misleading superbrand.
These pathologies are a recipe for failure no matter what technology choices are made, they are not unique to WS-*. In fact, you could tweak the list above to warn against mindless adoption of any approach.
Not every problem is well solved by REST, so then what happens? A RESTafarian bends the problem to fit the dogma and fails just as resoundingly as the dogmatic WS-OneSizeFitsAll nemesis.
November 16th, 2007 at 7:35 pm (#)
Seriously, REST is obvious