REST Eye for the SOA Guy
A truly excellent article by Steve Vinoski on REST — a very good introduction that I’ll surely refer people to who want to find out what REST is all about.
His concluding remarks are interesting:
Unfortunately, many SOA developers are far too quick to dismiss REST tools, because their favorite programming language doesn’t directly support it, or because they believe REST is just HTTP. Even if you believe SOA is exactly the right approach for the applications you develop, truly understanding REST can help you build more scalable and better performing distributed systems.
This reminds me of the “Learning Lisp makes you a better programmer, even if you don’t end up using it” meme — but I can’t help but wonder how, exactly, you introduce REST principles into e.g. the WS-* stack? By using WS-Transfer only?
Hi Stefan, thank you for the compliments. What I meant by that concluding remark wasn’t really about introducing REST into WS-* or anything on that level, but rather that broadening your horizons beyond just the traditional SOA approaches and making yourself aware of other approaches like REST means that you’ll end up knowing that much more about distributed systems, which could very well have the positive side effect of helping improve the distributed systems you build. Understanding REST opens you up to a new set of architectural constraints and trade-offs that perhaps you never considered before, and perhaps exposes you to problems you had previously run into but didn’t know enough to be able to recognize them or formulate solutions for them. In that regard it is much like the Lisp meme you mention (and probably not surprisingly, I happen to strongly believe in that meme).
Hi Steve, thanks for the reply :-) My comment was not really intended as criticism; I just noticed for myself that I find fewer and fewer reasons to not employ a REST approach for loosely-coupled systems and chose WS-* instead — and at least currently, that mostly translates to HTTP.
That’s different to Lisp or Scheme, because as much as I like it, there were always good reasons for not using them. Fortunately, that seems to change with Ruby …
Hi Steve, thanks for the reply :-) My comment was not really intended as criticism; I just noticed for myself that I find fewer and fewer reasons to not employ a REST approach for loosely-coupled systems and chose WS-* instead — and at least currently, that mostly translates to HTTP.
That’s different to Lisp or Scheme, because as much as I like it, there were always good reasons for not using them. Fortunately, that seems to change with Ruby …