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).