Most Helpful Customer Reviews
|
|
79 of 84 people found the following review helpful:
5.0 out of 5 stars
Patterns - revisited, October 28, 2003
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 Management The 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 Endpoint Each 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: i) Pipes and Filers ii) Message Router iii) Content-Based router iv) Message Filter v) Dynamic Router vi) Recipient List vii) Splitter viii) Aggregator ix) Resequencer x) Composed Message Processor xi) Scatter-Gather xii) Routing Slip xiii) Process Manager xiv) Message Broker The chances are, not many of us need to write a MOM due to the fact that there are many vendors out there that are doing that already! But one could certainly use this section for education purposes, and/or use it a checklist of "nice-to-haves" when shopping around for a MOM vendor. By reading the book, you can figure out what "features" apply to you, your application and your enterprise, and take that list and see which vendor has implemented that feature. In summary, Gregor Hohpe and Bobby Woolf have done a fantastic job depicting a very complex topic. I have made a place for this book right next to the original GoF Design Patterns book.
|
|
|
35 of 36 people found the following review helpful:
5.0 out of 5 stars
The best technical book of 2004, July 4, 2004
I had been waiting for this book for several years. There are many good books on software architecture using synchronous communication, but nothing on asynchronous communication --- the typical scheme when connecting existing applications. This is surprising since the underlying products (MQ, MSMQ, WebMethods, Vitria, etc.) have been around for a while, some for more than 10 years, and the techniques have become increasingly well understood by the practitioners. There are even some books on the individual products --- several on MQ for example --- but nothing more general about how to use messaging, message routing, and message transformation to build a larger system.This is the book I had been waiting for. Furthermore the authors have avoided the usual three pitfalls of technical books: it is well organized, it well written, and it is deep treatment, not at all superficial. The book is organized into 65 patterns (in the manner of the classic _Design Patterns_). Each pattern shows one typical problem in integrating applications, and how it is solved. Each pattern gives enough implementation details so it is clear how it would work, and an example or two so it is clear how it works in practice. For example the Message Expiration pattern addresses the problem of "How can a sender of a message indicate when a message should be considered stale and thus shouldn't be processed?" The writing in this book is clear. For example "A Message Expiration is like the expiration date on a milk carton. After that date, you shouldn't drink the milk." The authors have also invented icons for each of their patterns. Their icon language allows a integration architecture to be visuallized in a way that UML does not provide. Amongst the 11 pattern-describing chapters are 3 "interludes", chapter-length examples that explain a problem, show how patterns can combined to solve it, and then provide implementations in different technologies (JMS, .Net, TIBCO, MSMQ, etc.). My only beef with this book is that it is long and dense: almost 700 pages. I bought it in late December 2003 and I am only finishing it now. But it is hard to say what should have been cut. Certainly none of the patterns are unnecessary, and the decription of each feels like about the right length. The interludes are also useful for seeing how the patterns fit together. So maybe this book just needs to be 700 pages.
|
|
|
19 of 19 people found the following review helpful:
4.0 out of 5 stars
Great Message Pattern Language, March 29, 2004
This a book about enterprise integration solutions, authors claim that they are technology neutral, it is true. In the examples and implementations, they chose 3 most popular messaging frameworks to illustrate the patterns. However, they are pretty biased toward messaging as the "better" solution to enterprise integration strategy. It may have a lot of edges over the other approaches, sometimes it is just easy to use a simple wrapper/facade to do the integration. But I guess authors really intend to push their messaging solutions as the subtitle indicates.Having said that, this is an excellent book of message pattern language, which I believe is the first one introducing the interesting topic. The books touches from the architectural patterns, e.g., messaging bus, pipe and filters, to common design patterns, e.g., publish/subscribe, request/reply, to some patterns that most MOMs provide as integrated solutions, e.g., durable subscriber, message filter, message expiration etc. With all these patterns at hand, a system architect would be able to craft a messaging pattern-oriented enterprise integration architecture by applying the appropriate patterns compositely. The book would be better if authors describe some patterns implementation in more detail. E.g., it would be interesting to see how the message expiration is implemented, does the message contain a timer or the message channel monitor each individual message from start up? How does the channel interact with the message and check the expiry? Guaranteed delivery is another example. I know most of these implementation details only interest MOM developers, whereas pattern users are only interested in how and when to apply the patterns, but now that the book is about patterns themselves, implementation details would be appreciated. Since all the patterns introduced in the book form a messaging pattern language, knowing each pattern's strength and limitation under the context, scope and different forces, and how it interacts with other patterns to form a bigger(composite) pattern are essential to grasp the pattern language. A collaboration diagram to show each pattern's transition/migration/composition to each other would be helpful.
|
|
|
Most Recent Customer Reviews
|