Enterprise Integration Patterms
Designing, Building and Deploying Messaging Solutions, By Gregor Hohpe and Bobby Woolf
|Value for money||8/10|
|Did it do what it said on the box?||8/10|
An excellent book which will become a standard reference
This book could really be titled "Everything You Wanted to Know About Message-Based EAI, But Were Afraid To Ask". It’s a very comprehensive book, which goes beyond mere patterns to introduce the reader to a wide range of topics in the world of messaging. It forms a strong and useful counterpart to the many more general books on architecture patterns, for example Martin Fowler’s "Enterprise Architecture Patterns" in the same series.
The book is very accessible, written and illustrated clearly and assuming very little initial knowledge. However it will also provide value to the experienced messaging developer, formalising his or her knowledge and suggesting new ways of using messaging to solve different problems. I particularly like the way that Hohpe and Woolfe lay out each pattern using language and visual styles to naturally delimit the sections of the pattern, rather than using lots of sub-headings. This increases the readability significantly.
Several books on patterns talk about a "pattern language", the idea of describing a complete design in terms of named patterns for the architectural form of each component. However this is one of the first books I have read which really adopt this idea – the authors have created a new visual language, which they first use to describe basic patterns in terms of basic message constructs, and then describe more complex patterns and solutions using the icons for the intermediate patterns. Best of all you can download a Visio stencil from the website and start using and extending the pattern language yourself.
The book is remarkably technology-agnostic, providing many examples in both .NET and Java forms, and with a fair sprinkling of other technologies, for example using proprietary EAI tools such as Tibco. I have certainly seen and used some of these patterns in older file-based integration schemes, and I suspect many of them work for Web Services too. As such the book has a much better claim to be a true "patterns" book than one wedded solely to a single technology base.
Each group of pattern descriptions is followed by a detailed "practical example" section which shows how one or more messaging technologies can implement the preceding patterns to solve real problems. There aren’t any real "antipatterns" in the book, but the book is realistic about when a given technology or pattern should not be used, which is just as valuable.
If I have a complaint it’s a minor one, that the book is too long. Including the multiple introductions, it runs to over 700 pages. Dipping in and out my read through has taken many months. Like many patterns books, in an attempt to keep each description self-contained you find by half-way through that some basic things are being repeated regularly. A more "normalised" structure might have been better. Also, although most of the book is very readable, a couple of chapters by "guest" authors, including the final one on Web Service standards, take a more academic tone.
That said, this is an excellent book, which can be read from cover to cover, or stands as a general-purpose reference, and I strongly recommend it.