Joe McKendrick has posted an article on a recent podcast that ebizQ did with IBM SOA expert Lief Davidson on the role ESBs have in SOA. According to Joe:
In physics, they say the simplest solution to a problem is usually the right solution. Applying the laws of physics to SOA, then, it stands to reason that enterprise service buses (ESBs) are the simplest path to SOA within organizations -- and perhaps in many cases, the right path for the organization.
Lief agrees and goes further by indicating that in the current tough economic climate, SOA and ESB are an excellent match. As IT has to struggle with even smaller budgets and yet even more requirements on those budgets ...
Now, SOA is actually aiming to strengthen the alignment of business and IT with the IT assets and the [infrastructure] better able to meet those urgent business demands as well being more flexible and agile for future changes. Key to the flexibility and agility that SOA is trying to deliver is the Enterprise Service Bus, which is at the core of the IT infrastructure.
Obviously IBM believes that their ESB is the best option, which is always interesting given how relatively negative they have been in the past about the need for ESBs at all. The debate around whether or not ESBs are needed at all for SOA has raged for a while. Those against ESBs often cite complexity and vendor lock-in problems as the reasons to stay clear. Whereas others say that the inherent complexity of rolling-your-own is more than mitigated by using an ESB. Unfortunately some vendors don't do the latter argument any favours and this podcast does not go any way to removing the complexity issues around IBMs product suite: 3 ESB solutions?! WebSphere ESB, WebSphere Message Broker, and a SOA appliance, WebSphere DataPower. According to Lief, WebSphere ESB (which is build on the WebSphere application server) is probably closest to the common understanding of the term ESB:
... we built an ESB specially focusing on meeting the integration and connectivity needs based around standards and interactions between services. So even if all of your assets to be connected are Web services, define using Web Services Definition Language or WSDL, you still need to mediate between those services, or very quickly you’ll end up with a static complex environment that doesn’t deliver the SOA benefits you need and want.
The reference to standards probably means WS-* and JEE, since IBM does not participate in JBI and SCA is not yet a standard. Lief goes on to discuss the rest of the WebSphere family of solutions and how they should be used in a good SOA development. Fortunately for customers, all 3 ESB solutions can be purchased and used together. However, the podcast doesn't really live up Joe's original assertion concerning simplicity, with Joe's final comment being more debate-worthy:
There's been a lot of discussion across the industry as to how far organizations that don't necessarily have the resources or executive political can pursue SOA. Add budget crunches, and SOA becomes an impossible sell -- even though it does provide cost savings and containment in the long run. ESBs may provide a way to kick-start SOA in any climate.
So the question still remains: are ESBs the simple route to SOA adoption or should everyone "go ad hoc"?