My recent post on the worthiness of enterprise service buses kicked off some interesting reactions within the blogosphere. Loek Bakker, for one, equates the life of an ESB with that of a "one-day fly," which is hatched and dies within a very, very short time period. (ROTFL, Loek!)
"The reality and actuality is that there are many many crummy services already out there, and not all the endpoints in current systems and architectures have the smartness needed for [Jim Webber's vision of minimal middleware]. So we must rely on some form of middleware to guide us through this period of transition, until endpoints have the desired and needed smartness."
Bakker added that "just like one-day flies serve a specific purpose in the natural ecosystem (don't ask me what purpose, I am an IT strategist, not a biologist), ESBs also serve a specific purpose in the current evolution towards service-oriented and event-driven architectures. It is just that they will not be around for a very long time, as their life expectance is short."
Hmmm. In the movie "The Fly," Seth Brundle (played by Jeff Goldblum) inadvertently fused his DNA with that of a fly while attempting teleportation. Perhaps our systems need to evolve into "Brundlepods" to make SOA work.
David Linthicum also weighs in on the issue, noting that ESBs may complicate more than simplify SOA architectures, asking the question, "What the heck is an ESB? Everyone has one, and they are all different. However, most are more like service-enabled message queues, if you ask me." He adds that "ESBs don't seem to be very service-oriented. Most just push information to and from systems, using Web services interfaces. That's not what service-oriented is. SOA is about sharing functional behavior as well as information, not just information."
Showing agreement with Bakker's fruit-fly concept, Linthicum also notes that ESBs are considered "good-enough" and "to be replaced later" technology.
But, I must point this out... Many vendors now offer ESBs that provide ready-made integration and a rapid on-ramp to SOA enablement. In a recent post, for example, I cited an ESB implementation at the State of Kentucky, which is supporting a range of state tax-collection services, and will be bringing more services online. This has a ring of, well, permanence about it.
Are ESBs really just flashes in the pan with limited lifespans, or can they serve more long-term needs?