Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions by GregorHohpe and BobbyWoolf, with contributions by KyleBrown, ConradDcruz?, MartinFowler, SeanNeville?, MikeRettig, and JonathanSimon?. Published in October 2003 by AddisonWesley, part of the MartinFowlerSignatureSeries?. ISBN 0321200683
To do justice in reviewing this book, I should depict every single pattern and give you multiple examples on how it would apply to your job as a Project Manager, Software Architect, Technical Lead or a Developer. That would be a 500-page book all by itself. In short, this is one great book. The first book to actually take a complex and ever growing topic such as MOM, Message Oriented Middleware, and give you its benefits and the best practices/patterns all in one book.
The author starts by giving the reader the top reasons why messaging should be chosen for the next project:
1) Remote communication 2) Platform/Language Integration 3) Asynchronous communication 4) Variable timing 5) Throttling 6) Reliable Communication 7) Disconnected operation 8) Mediation 9) Thread ManagementThe author goes into detail on each of these reasons. These reasons would convince any software architect, but the author goes even further than that and reiterates the benefits of each of these reasons and elaborates on them thru out the book.
Chapter 3 of the book starts by breaking up a messaging system into its main components and briefly explaining each one:
1) Message Channel 2) Message 3) Pipes and Filers 4) Message Router 5) Message Translator 6) Message EndpointEach of these high level topics is then broken down and various patterns are shown for each section. Just like the GoF book, the reader can simply go the desired section and read the patterns that are associated with that "subsystem"
Each section is then followed by a full-blown example, which to me is priceless. The examples are shown using the most popular middleware vendors such as TIBCO, IBM, Microsoft, Web Methods, SeeBeyond? and a couple JMS vendors. The examples show the similarities and differences in implementation but clearly show how EACH pattern that was just covered in the previous section applies to the example. Having worked with many of the MOM vendors covered in this book, Chapter 7, Message Routing, is my favorite chapter.
The author breaks down this topic into 14 different patterns:
1) Pipes and Filers 2) Message Router 3) Content-Based router 4) Message Filter 5) Dynamic Router 6) Recipient List 7) Splitter 8) Aggregator 9) Resequencer 10) Composed Message Processor 11) Scatter-Gather 12) Routing Slip 13) Process Manager 14) Message Broker
Sample chapter "Solving Integration Problems using patterns" available at http://searchwebservices.techtarget.com/searchWebServices/downloads/Hohpe_ch01.pdf
GregorHohpe has a website (and a wiki) at http://www.eaipatterns.com/. I found a post regarding the CanonicalDataModel? dated Nov2004 . Too bad it has not got much participation to date. I would love to get the authors undivided attention and if he is there to teach, I am willing to go learn -- dl ''
See also EnterpriseApplicationIntegration
CategoryBook CategoryEnterpriseComputingConcerns