Java Reference
In-Depth Information
ESB As a Set of Patterns
There are many SOA practitioners who contend that an ESB is not a product that you buy, but
is rather the implementation of a set of key integration patterns. I have respect for this posi-
tion, and in my view, it was this idea that helped modern ESBs rise up from their origins as
merely re-packaged EAI products. Once vendors determined that there was a real roadmap for
ESB and that people were starting to do it themselves, they kicked into high gear a bit.
The patterns typically referenced in this view are those found in Hohpe and Woolf's book, En-
terpriseIntegrationPatterns(Addison-Wesley Professional) (the patterns are also available at
http://www.eaipatterns.com ) . This view may have been more relevant several years ago, be-
fore any mature ESBs were on the market. But a number of products (including open source
products such as Mule) now exist, and their founders indicate that they started these projects
specifically in order to encapsulate a wide number of these well-known integration patterns.
Consider just a few of the relevant patterns Hohpe and Woolf define: Message Bus, Content-
Based Router, Pipes and Filters, Point-to-Point Channel, Normalizer, Canonical Data Model.
These patterns are indeed the core of any modern ESB, which will implement many of the key
EAI patterns, tie into a larger SOA stack in ways that make development far easier, and offer
crucial performance and reliability features.
So you could get their book (good idea anyway!) and implement the patterns yourself. But
many of these are not Gang of Four type stuff where you write 10 lines of code and you have
a singleton. Some of these patterns require lots of work. And it is likely that if you start down
the path of implementing a few of the key integration patterns, you will eventually find that
you really have to finish what you've started to have a complete system that does what you
need as the backbone of your SOA. As there are a number of viable commercial and open
source alternatives available, you should make a very careful assessment of your IT landscape
and SOA roadmap before you talk yourself into implementing a few patterns on your own so
that you don't have to bother with a full-blown ESB.
Search WWH ::




Custom Search