File Size: 13332 KB
Print Length: 736 pages
Simultaneous Device Usage: Up to 5 simultaneous devices, per publisher limits
Publisher: Addison-Wesley Professional; 1 edition (October 10, 2003)
Publication Date: October 10, 2003
X-Ray: Not Enabled
Word Wise: Not Enabled
Lending: Not Enabled
Enhanced Typesetting: Enabled
Best Sellers Rank: #761,196 Paid in Kindle Store (See Top 100 Paid in Kindle Store) #36 in Books > Computers & Technology > Software > Voice Recognition #927 in Books > Computers & Technology > Databases & Big Data > Data Processing #1481 in Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Object-Oriented Design
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 communication2) Platform/Language Integration3) Asynchronous communication4) Variable timing5) Throttling6) Reliable Communication7) Disconnected operation8) Mediation9) 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 Channel2) Message3) Pipes and Filers4) Message Router5) Message Translator6) 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.
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.
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.
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions (Addison-Wesley Signature Series (Fowler)) Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler)) Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Adobe Reader) (Addison-Wesley Signature Series (Fowler)) Enterprise Integration: An Architecture for Enterprise Application and Systems Integration More Agile Testing: Learning Journeys for the Whole Team (Addison-Wesley Signature Series (Cohn)) Crochet: Easy Crochet Patterns: Crochet Patterns for Beginners (Crochet: Step by Step Crochet, Crochet Patterns, Easy Crochet Patterns, Crochet Patterns for Beginners, and Crochet Projects) Designing and Deploying 802.11 Wireless Networks: A Practical Guide to Implementing 802.11n and 802.11ac Wireless Networks For Enterprise-Based Applications (2nd Edition) (Networking Technology) Microsoft Exchange Server 2013: Design, Deploy and Deliver an Enterprise Messaging Solution Grand Theft Auto V Signature Series Strategy Guide: Updated and Expanded (Bradygames Signature Series) Final Fantasy XII Signature Series Guide (Bradygames Signature Guides) Enterprise Application Integration with CORBA Component and Web-Based Solutions The Design and Implementation of the 4.4 BSD Operating System (Addison-Wesley UNIX and Open Systems Series) R for Everyone: Advanced Analytics and Graphics (Addison-Wesley Data & Analytics Series) First Principles of Discrete Systems and Digital Signal Processing (Addison-Wesley Series in Electrical Engineering) Apache Hadoop YARN: Moving beyond MapReduce and Batch Processing with Apache Hadoop 2 (Addison-Wesley Data & Analytics Series) Principles of Compiler Design (Addison-Wesley series in computer science and information processing) Circuits, Interconnections, and Packaging for Vlsi (Addison-Wesley VLSI systems series) Hadoop 2 Quick-Start Guide: Learn the Essentials of Big Data Computing in the Apache Hadoop 2 Ecosystem (Addison-Wesley Data & Analytics Series) TCP/IP Illustrated, Vol. 1: The Protocols (Addison-Wesley Professional Computing Series) TCP/IP Illustrated, Volume 1: The Protocols (Addison-Wesley Professional Computing Series)