Having dubbed this blog "JCranky," I can certainly sympathize with Andrew's rant. However, as a drinker and provider of SOA-flavored Kool-Aid™ for one of the top ESB vendors, I feel compelled to defend my wares and the substantial technology behind them. Here are a few things to keep in mind that may be less than obvious to the casual observer.
- SOA doesn't have to be expensive or painful. The big challenge is that it requires a change in thinking on the part of your architects and engineers. The principles of SOA seem obvious and intuitive, but once you start working in that mode, you find yourself trying to map the new ways to the old ways and getting a little lost in between. (I'm old enough to have made the transition from procedural coding to OOP. I remember feeling lost for about a year, as I struggled to rewire my brain to think in the new paradigm. For me, SOA demanded a comparable transition. Interestingly, OOP and SOA require a similar initial investment and offer a similar downstream ROI. You might even say that SOA is the next quantum level of OOP… Then again, you might not.)
- SOA is about loose coupling and abstraction of coarse-grained services, so RPC is quite far from a panacea. In fact, it's more like the same old thing. To create truly reusable services, you need to think more along the lines of document-oriented messaging. In the SOAP world, you'll find more agility and tolerance for change when web services are doc/literal rather than rpc/literal. RPC is not much more than running the same old functions on another machine. This does not constitute SOA. Do not confuse calling a publicly-exposed function with creating a service-oriented architecture.
- I have no issue with Andrew's comments about IBM Global Services. 😉
I'm not picking on Andrew. In this sea of TLAs and daily "Next Big Things," I certainly feel his pain. But there are legitimate advantages here, and, like it or not, we're all going to be forced to deal with SOA in the near future. We might as well have a better understanding of what it is — and maybe even a little appreciation. It's a pretty elegant, robust architecture with tangible benefits. So says the guy high on the Kool-Aid™.
My opinions do not necessarily reflect those of my employer, my colleagues, or my superiors (of which there are many). Nothing in this blog is sanctioned, approved, or reviewed by anyone. Not even me.