Enterprise Integration Patterns : Designing, Building, and Deploying Messaging Solutions
| |||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||
| Sort customer reviews by: | |||||||||||||||||||||||||||||
|
Show All Reviews on Page
Hide All Reviews on Page
| |||||||||||||||||||||||||||||
| Enterprise Integration Patterns : Designing, Building, and Deploying Messaging Solutions | |||||||||||||||||||||||||||||
|
This is a book about enterprise integration using messaging. It does not document any particular technology or product. Rather, it is designed for developers and integrators using a variety of messaging products and technologies, such as Message-oriented middleware (MOM) and EAI suites offered by vendors such as IBM (WebSphere MQ Family), Microsoft (BizTalk), TIBCO, WebMethods, SeeBeyond, Vitria, and others. Java Message Service (JMS) implementations incorporated into commercial and open source J2EE application servers as well as standalone products. Microsoft's Message Queuing (MSMQ), accessible through several APIs, including the System.Messaging libraries in Microsoft .NET. Emerging Web services standards that support asynchronous Web services (for example, WS-ReliableMessaging) and the associated APIs such as Sun Microsystems' Java API for XML Messaging (JAXM) or Microsoft's Web Services Extensions (WSE). Enterprise integration goes beyond creating a single application with a distributed n -tier architecture, which enables a single application to be distributed across several computers. Whereas one tier in a distributed application cannot run by itself, integrated applications are independent programs that can each run by themselves, yet that function by coordinating with each other in a loosely coupled way. Messaging enables multiple applications to exchange data or commands across the network using a "send and forget" approach. This allows the caller to send the information and immediately go on to other work while the information is transmitted by the messaging system. Optionally, the caller can later be notified of the result through a callback. Asynchronous calls and callbacks can make a design more complex than a synchronous approach, but an asynchronous call can be retried until it succeeds, which makes the communication much more reliable. Asynchronous messaging also enables several other advantages, such as throttling of requests and load balancing. Who Should Read This Book This book is designed to help application developers and system integrators connect applications using message-oriented integration tools: Application architects and developers who design and build complex enterprise applications that need to integrate with other applications. We assume that you're developing your applications using a modern enterprise application platform such as the Java 2 Platform, Enterprise Edition (J2EE), or the Microsoft .NET Framework. This book will help you connect the application to a messaging layer and exchange information with other applications. This book focuses on the integration of applications, not on building applications; for that, we refer you to Patterns of Enterprise Application Architecture by Martin Fowler. Integration architects and developers who design and build integration solutions connecting packaged or custom applications. Most readers in this group will have experience with one of the many commercial integration tools like IBM WebSphere MQ, TIBCO, WebMethods, SeeBeyond, or Vitria, which incorporate many of the patterns presented in this book. This book helps you understand the underlying concepts and make confident design decisions using a vendor-independent vocabulary. Enterprise architects who have to maintain the "big picture" view of the software and hardware assets in an enterprise. This book presents a consistent vocabulary and graphical notation to describe large-scale integration solutions that may span many technologies or point solutions. This language is also a key enabler for efficient communication between the enterprise architect and the integration and application architects and developers. What You Will Learn This book does not attempt to make a business case for enterprise application integration; the focus is on how to make it work. You will learn how to integrate enterprise applications by understanding the following: The advantages and limitations of asynchronous messaging as compared to other integration techniques. How to determine the message channels your applications will need, how to control whether multiple consumers can receive the same message, and how to handle invalid messages. When to send a message, what it should contain, and how to use special message properties. How to route a message to its ultimate destination even when the sender does not know where that is. How to convert messages when the sender and receiver do not agree on a common format. How to design the code that connects an application to the messaging system. How to manage and monitor a messaging system once it's in use as part of the enterprise. What This Book Does Not Cover We believe that any book sporting the word "enterprise" in the title is likely to fall into one of three categories. First, the book might attempt to cover the whole breadth of the subject matter but is forced to stop short of detailed guidance on how to implement actual solutions. Second, the book might provide specific hands-on guidance on the development of actual solutions but is forced to constrain the scope of the subject area it addresses. Third, the book might attempt to do both but is likely never to be finished or else to be published so late as to be irrelevant. We opted for the second choice and hopefully created a book that helps people create better integration solutions even though we had to limit the scope of the book. Topics that we would have loved to discuss but had to exclude in order not to fall into the category-three trap include security, complex data mapping, workflow, rule engines, scalability and robustness, and distributed transaction processing (XA, Tuxedo, and the like). We chose asynchronous messaging as the emphasis for this book because it is full of interesting design issues and trade-offs, and provides a clean abstraction from the many implementations provided by various integration vendors. This book is also not a tutorial on a specific messaging or middleware technology. To highlight the wide applicability of the concepts presented in this book, we included examples based on a number of different technologies, such as JMS, MSMQ, TIBCO, BizTalk, and XSL. However, we focus on the design decisions and trade-offs as opposed to the specifics of the tool. If you are interested in learning more about any of these specific technologies, please refer to one of the books referenced in the bibliography or to one of the many online resources. How This Book Is Organized As the title suggests, the majority of this book consists of a collection of patterns . Patterns are a proven way to capture experts' knowledge in fields where there are no simple "one size fits all" answers, such as application architecture, object-oriented design, or integration solutions based on asynchronous messaging architectures. Each pattern poses a specific design problem, discusses the considerations surrounding the problem, and presents an elegant solution that balances the various forces or drivers. In most cases, the solution is not the first approach that comes to mind, but one that has evolved through actual use over time. As a result, each pattern incorporates the experience base that senior integration developers and architects have gained by repeatedly building solutions and learning from their mistakes. This implies that we did not "invent" the patterns in this book; patterns are not invented, but rather discovered and observed from actual practice in the field. Because patterns are harvested from practitioners' actual use, chances are that if you have been working with enterprise integration tools and asynchronous messaging architectures for some time, many of the patterns in this book will seem familiar to you. Yet, even if you already recognize most of these patterns, there is still value in reviewing this book. This book should validate your hard-earned understanding of how to use messaging while documenting details of the solutions and relationships between them of which you might not have been aware. It also gives you a consolidated reference to help you pass your knowledge effectively to less-experienced colleagues. Finally, the pattern names give you a common vocabulary to efficiently discuss integration design alternatives with your peers. The patterns in this book apply to a variety of programming languages and platforms. This means that a pattern is not a cut-and-paste snippet of code, but you have to realize a pattern to your specific environment. To make this translation easier, we added a variety of examples that show different ways of implementing patterns using popular technologies such as JMS, MSMQ, TIBCO, BizTalk, XSL, and others. We also included a few larger examples to demonstrate how multiple patterns play together to form a cohesive solution. Integrating multiple applications using an asynchronous messaging architecture is a challenging and interesting field. We hope you enjoy reading this book as much as we did writing it. About the Cover Picture The common theme for books in the Martin Fowler Signature Series is a picture of a bridge. In some sense we lucked out, because what theme would make a better match for a book on integration? For thousands of years, bridges have helped connect people from different shores, mountains, and sides of the road. We selected a picture of the Taiko-bashi Bridge at the Sumiyoshi-taisha Shrine in Osaka, Japan, for its simple elegance and beauty. As a Shinto shrine dedicated to the guardian deity for sailors, it was originally erected next to the water. Interestingly, land reclamation has pushed the water away so that the shrine today stands almost three miles inland. Some three million people visit this shrine at the beginning of a new year. Gregor Hohpe San Francisco, California Bobby Woolf Raleigh, North Carolina September 2003 [a href="http://www.enterpriseintegrationpatterns.com" target="new">www.enterpriseintegrationpatterns.com 0321200683P10062003
|
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 33 of 33 | |||||||||||||||||||||||||||||
| Review Date |
Review Rating(5 High) |
Review Helpful to: |
Customer Review | Reviewer Info |
Permanent Link |
||||||||||||||||||||||||
| Reader Reviews Below Sorted by Newest First | |||||||||||||||||||||||||||||
| 11-02-08 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Deciding on the best solution for an integration problem often involves difficult discussions between architects and implementors each of whom may hold a widely differing point of view. Gregor Hohpe and Bobby Woolf have provided a marvelous reference that clearly depicts and explains the messaging pattern choices to be considered along with their respective merits. Being able to match the problem with these patterns and authoritatively illuminate and quickly settle design team discussions fully justifies having this reference near at hand.
When viewing all the forces on a pattern over the longer term, the right solution will often require a bit of additional design and implementation effort vis-a-vis the quickest (or entrenched) solution. By communicating, discussing, and applying widely-understood patterns the overall construction and maintenance costs for integration can certainly be reduced. One real example of a much better implementation that resulted from this book was the application of the Claim Check pattern to pass a token representing a large PDF document in the message, rather than encode and embed the document itself. The book explains the pattern clearly, and the implementation was not only easier to work with (because the message payload was much smaller), but the solution has subsequently become a better fit with Enterprise Service Bus (ESB) middleware since the XML for the transaction and its metadata can be rapidly transformed without being burdened by passing the bulky PDF data within the message. Another example was solved by using the book's detailed explanation of the Correlation Identifier pattern to facilitate the redesign of an legacy transaction message. The existing application had embedded the correlation identifier in the business message which limited the implementation to a single asynchronous message exchange. By following the book's recommendation to persist the correlation identifier outside of the business message, the application could be more readily integrated using standard messaging ESB middleware tools and became reusable in environments that required more than one messaging hop. In both of these examples, the book served both to educate the participates on the relevant patterns and then served as a "referee" to move the discussion towards a standard and extendable solution. Without the benefit of this book as an authoritative reference, it would have been very difficult to introduce new flexible and agile messaging-based architectural solutions. (Review Data Last Updated: 2008-11-19 07:53:06 EST)
|
|||||||||||||||||||||||||||||
| 10-30-08 | 4 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
The patterns in this book were illustrated mostly with JMS. There were mentions of Tibco and webMethods a few places though. It makes it sound like most of the ideas for common integration patterns started in IBM labs. My background is mostly in a commercial middleware and I recognized most of the patterns from the projects I've done the last 6 years.
The mention of BPEL in the future trends section was prophetic. It looks like all the major vendors are moving toward orchestration using BPEL. The design patterns were fairly comprehensive but I've noticed that more are being built around SOA and WOA today. Most companies are now using SOA and REST for integrations were it makes sense to do so. (Review Data Last Updated: 2008-11-03 07:31:24 EST)
|
|||||||||||||||||||||||||||||
| 08-29-08 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I used this book on a recent consulting engagement and found it to be extremely useful. The authors discuss topics in depth then identify patterns in that area.
As an experienced Architect, one of the challenges I find in discussing solutions at a design level is the tendency of people to speak in implementation terms. This skews the design and makes it difficult to connect the solution with the business goals. Hohpe & Woolfe's book provides an informative and practical language to creating flexible integration architecture. (Review Data Last Updated: 2008-10-30 06:28:54 EST)
|
|||||||||||||||||||||||||||||
| 04-30-08 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I am an occasional buyer of reference works on software technologies I need to get familiar with, and I teach an evening section at a local area college in object oriented analysis and design. After reading this book, I am actively trying to construct a proposal for a new course based on its contents ... it's that good.
Quite simply, Enterprise Integration Patterns blew me away, on both a technical and pedagogical level. On the technical level, it's all here (except for "aspect" patterns like security, robustness and scalability which would each have really required another book). All the patterns necessary to successfully support asynchronous messaging between groups of remote applications ... which is the basic situation facing anyone trying to do a mashup of web services and / or construct business processes by integrating internal services via an ESB. Even the Process Manager pattern is here. On a pedagogical level, the material is complete, very easy to read, well illustrated, and above all, well organized. Even a first look at the inside covers reveals this. The front has each of the 60+ patterns listed alphabetically, with its respective icon and 2 sentence paragraph. The back has the patterns (name and icon) clumped into 6 hierarchical "pattern buckets" (Message Endpoints, Message Construction, Message Channels, Message Routing, Message Transformation, and System Management), linked together in a single diagram, showing where the buckets fit when Application A is connected to Application B. And on both inside covers as well as every place in the text where a pattern is mentioned (quite a bit since patterns are extensively contrasted with each other), the page number where it is defined is given with its name. This makes it very easy to use this book as a reference, because all the patterns it contains are cross-referenced in so many ways. After an excellent introduction the first chapter explains what a pattern is, what the domain of integration patterns are, and introduces the Widget Manufacturing Company, whose problem grows as tools to handle those problems are introduced. Bottom line ... I read this book during the two legs of a round trip flight from Chicago to San Francisco, took copious notes within the pages of the book, and walked off the 2nd plane feeling that I had seriously increased my understanding of the entire topic of how to integrate loosely coupled applications. Not bad ... plus since I snagged an upgrade on the return flight, I can also report that two glasses of wine did not interfere in the slightest with the learning experience. The book is THAT good. (Review Data Last Updated: 2008-08-30 08:04:24 EST)
|
|||||||||||||||||||||||||||||
| 02-07-08 | 5 | 1\1 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Many books have been written about SOA, but most of them are just about the theory of SOA. It's important for Software Architects and Software Engineers to understand the theory, but just knowing the theory is not enough to develop system utilizing SOA principles.
This book fits nicely to bridge the gap between theory and practice. It contains not only the theory behind the patterns that can be used to design a loosely coupled, scalable system, but also the code in Java and C# on how to implement the pattern to build the system. If you are serious on building a loosely couple system and strongly believe on the powerful of messaging system to accomplish this task, then you have to read this book from the beginning to the end, it will help you to design the system without reinventing the wheel. (Review Data Last Updated: 2008-04-30 07:33:58 EST)
|
|||||||||||||||||||||||||||||
| 09-26-07 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This is the best book I've found that helps to organize the integration space within the industry. This book has helped to organize my thoughts and communicate with others effectively on how to leverage integration patterns. I highly recommend this book to help obtain a foundational understaning of the integration space.
(Review Data Last Updated: 2008-02-27 21:36:21 EST)
|
|||||||||||||||||||||||||||||
| 08-28-07 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Upon recently changing jobs and focusing on messaging design and architecture, I was steered toward this book by my peers. Without getting into too much detail, before joining my new team, I had never heard of patterns (came from a product support area), much less asynchronous messaging design. Needless to say, this book has been invaluable in my learning process as well as conveying our direction to others.
This book is written in such a way that it is very intuitive. Diagrams help support the concepts and code examples as well. I would highly recommend this as a must read/reference guide for anyone designing messaging solutions. (Review Data Last Updated: 2007-09-27 07:45:49 EST)
|
|||||||||||||||||||||||||||||
| 08-27-07 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This is a fantastic book if you are looking for patterns to base your messaging designs and architecture around. The way this book goes about explaining some of the asynchronous messaging patterns seemed to provide a great deal of benefit to developers and designers who were stuck in the synchronous way of doing things. Great explanations and illustrations, would recommend to anyone researching EAI or ESB technologies or just a more structured, efficient way of messaging in general.
(Review Data Last Updated: 2007-09-27 07:45:49 EST)
|
|||||||||||||||||||||||||||||
| 07-29-07 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I've been using the patterns in this book for several years now. These patterns help me to focus on the problems my customers need solved rather than what technology to use. This has helped to produce numerous successful systems and these patterns have consequently become the basis for many architecural redesign efforts at my company.
(Review Data Last Updated: 2007-09-01 08:07:45 EST)
|
|||||||||||||||||||||||||||||
| 07-12-07 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
As a developer working on application integration for the last 5 years I am so thrilled about this purchase. Just started out reading and though I feel a little overwhelmed I can so much relate to all the patterns being discussed. Its being tough to digest and register the terminologies but I am sure I will get there as I progress. Definitely the best technical books I have ever purchased and is must have for any one who is involved with application integration !
(Review Data Last Updated: 2007-07-30 08:01:03 EST)
|
|||||||||||||||||||||||||||||
| 02-10-07 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Whether you are new to integration architecture or an experienced professional, this book book is great. I make sure any architect I interview can speak to the topics in this book.
(Review Data Last Updated: 2007-07-13 07:53:27 EST)
|
|||||||||||||||||||||||||||||
| 12-27-06 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
One of the difficulties programmers face is communicating a common set of design concepts with well-understood costs. This book is a huge step in the right direction, in that it allows programmers who study their craft a way to communicate.
Well done, and very useful. (Review Data Last Updated: 2007-07-10 10:11:33 EST)
|
|||||||||||||||||||||||||||||
| 12-26-06 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
One of the difficulties programmers face is communicating a common set of design concepts with well-understood costs. This book is a huge step in the right direction, in that it allows programmers who study their craft a way to communicate.
Well done, and very useful. (Review Data Last Updated: 2007-02-10 21:27:49 EST)
|
|||||||||||||||||||||||||||||
| 11-06-06 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I love this book..if you want to develop /integrate different systems with message oriented technologies, then this is the book with all possible solutions
(Review Data Last Updated: 2007-07-10 10:11:33 EST)
|
|||||||||||||||||||||||||||||
| 11-05-06 | 5 | (NA) |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I love this book..if you want to develop /integrate different systems with message oriented technologies, then this is the book with all possible solutions
(Review Data Last Updated: 2006-12-27 14:54:21 EST)
|
|||||||||||||||||||||||||||||
| 01-03-06 | 5 | 5\5 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This book was exactly what I was looking for to help me scope an integration solution. For me, patterns help solve, better understand, and therefore, better communicate the technical issues of a complex software project; an enterprise integration project is complex. I was better able to communicate and estimate the scope of the project using EIPs as a GUIDE. The pattern icons (and Viso stencils found on the links page of the web site) saved me tremendous amounts time and narrative in the design documents.
Patterns do not, in themselves, promote a technology. Some of the reviews have been critical/complementary about the examples provided in the book that refer/don't refer to a specific technology. If your goal for integration is to provide a "loosely coupled" solution, this book will first GUIDE you to a message based solution. After I gathered the functional requirements (use cases) for my integration project, I used this book to GUIDE me through the design process. Often during the design (and later in development) phase of any project, I struggle with a solution to a difficult technical problem. That is where design patterns help me. Has someone already solved this problem? Ah, yes and look how they solved it, of course that is the way you'd do it! Here is the design pattern and it's brilliant. Patterns are technologically agnostic. We were then able to use the design, based on EIPs, to GUIDE us through choosing the integration technologies that best allowed us to implement these patterns. (Review Data Last Updated: 2007-06-25 20:53:41 EST)
|
|||||||||||||||||||||||||||||
| 01-02-06 | 5 | 5\5 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This book was exactly what I was looking for to help me scope an integration solution. For me, patterns help solve, better understand, and therefore, better communicate the technical issues of a complex software project; an enterprise integration project is complex. I was better able to communicate and estimate the scope of the project using EIPs as a GUIDE. The pattern icons (and Viso stencils found on the links page of the web site) saved me tremendous amounts time and narrative in the design documents.
Patterns do not, in themselves, promote a technology. Some of the reviews have been critical/complementary about the examples provided in the book that refer/don't refer to a specific technology. If your goal for integration is to provide a "loosely coupled" solution, this book will first GUIDE you to a message based solution. After I gathered the functional requirements (use cases) for my integration project, I used this book to GUIDE me through the design process. Often during the design (and later in development) phase of any project, I struggle with a solution to a difficult technical problem. That is where design patterns help me. Has someone already solved this problem? Ah, yes and look how they solved it, of course that is the way you'd do it! Here is the design pattern and it's brilliant. Patterns are technologically agnostic. We were then able to use the design, based on EIPs, to GUIDE us through choosing the integration technologies that best allowed us to implement these patterns. (Review Data Last Updated: 2006-11-06 00:52:04 EST)
|
|||||||||||||||||||||||||||||
| 12-28-05 | 5 | 6\7 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This book joins my elite patterns book collection which include GoF, Core J2EE Patterns, Core Security Patterns and Refactoring to Patterns. And this book gonna be my first reference for all Integration projects.
If you are a developer or an architect then you may consider the approach of designing software projects by starting from understanding the different architectural options, development patterns and implementation strategies - these techniques makes a lot of difference rather than reading narrow focussed technology books. I been reading narrow technology specific books but learning to use PATTERNS helps a lot. After reading few chapters...I find this book definitely makes a lot of impact...and will be my one-stop guide for EAI. There is no other book which really defines the patterns and terminologies of EAI, in a global way without relation to any particular product like eai patterns. (Review Data Last Updated: 2007-07-10 10:11:33 EST)
|
|||||||||||||||||||||||||||||
| 12-20-05 | 5 | 10\10 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Deserves to take place in the great line up of GoF, POSA1, POSA2, EAA, Core Security Patterns (other "patterns" books omitted intentionally).
I have done Messaging and message based integration before, but this book takes essentially what is an art form and makes a science out of it. First it starts with 4 different styles of integration (File based, Shared Database, RPC, Messaging) and discusses them intelligently giving their advantages and disadvantages. Then it gets in to the major aspects/ pieces of Message based integration (Message, Channel, Routing, Transformation, End Points, System Management etc). It again discusses them as patterns and develops a good vocabulary of the messaging domain. Then comes the meat where for each aspect of Messaging, it gives about 8 to 15 specific patterns, names them, shows their pros and cons, gives the trade off and intelligently discusses their usage. As part of the examples it draws example from JMS/ TIBCO/ MSMQ etc. Priceless. What I loved about this book is how it makes you rethink everything you may have been doing before in software architecture/ integration using technologies such as Web Services, JMS, J2EE etc. For example, many would not have fully groked MDBs as "event driven", "competing", "transactional" message consumers, that are suited for "Point to Point" integration. Yes I know every body uses them but do you really understand the implications for transaction scope and threading? . Or Polling message consumers have their advantages ? Good discussion on relate standards and technologies included (Web Services, Axis Implementation, WS-*, SOAP etc) Buy this guys and may be enterprise integration would be less messy. (Review Data Last Updated: 2007-07-10 10:11:33 EST)
|
|||||||||||||||||||||||||||||
| 12-19-05 | 5 | 6\6 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Deserves to take place in the great line up of GoF, POSA1, POSA2, EAA, Core Security Patterns (other "patterns" books omitted intentionally).
I have done Messaging and message based integration before, but this book takes essentially what is an art form and makes a science out of it. First it starts with 4 different styles of integration (File based, Shared Database, RPC, Messaging) and discusses them intelligently giving their advantages and disadvantages. Then it gets in to the major aspects/ pieces of Message based integration (Message, Channel, Routing, Transformation, End Points, System Management etc). It again discusses them as patterns and develops a good vocabulary of the messaging domain. Then comes the meat where for each aspect of Messaging, it gives about 8 to 15 specific patterns, names them, shows their pros and cons, gives the trade off and intelligently discusses their usage. As part of the examples it draws example from JMS/ TIBCO/ MSMQ etc. Priceless. What I loved about this book is how it makes you rethink everything you may have been doing before in software architecture/ integration using technologies such as Web Services, JMS, J2EE etc. For example, many would not have fully groked MDBs as "event driven", "competing", "transactional" message consumers, that are suited for "Point to Point" integration. Yes I know every body uses them but do you really understand the implications for transaction scope and threading? . Or Polling message consumers have their advantages ? Good discussion on relate standards and technologies included (Web Services, Axis Implementation, WS-*, SOAP etc) Buy this guys and may be enterprise integration would be less messy. (Review Data Last Updated: 2006-07-07 01:19:13 EST)
|
|||||||||||||||||||||||||||||
| 10-30-05 | 5 | 4\5 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This is the second pattern book (after Core J2EE Patterns) since I started reading and using patterns. I did read about high-level GoF but I was always skeptical about ready to use inline with a programming language like Java or VB. This book is another best example yet of where patterns can really improve your application design. Applications don't miraculously integrate with one another; it needs some architecture ideas and practical experience. This book helps to demonstrate some of those ideas as patterns in action. The descriptions of the problems and their possible solutions... just helps to simplifying and resolving the design problem.
(Review Data Last Updated: 2006-07-07 01:19:13 EST)
|
|||||||||||||||||||||||||||||
| 10-03-05 | 5 | 3\3 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Reading a design patterns book for me is interesting when I find that nugget of coolness, the rest of the time it is plain boring. However, this book really keeps it interesting for the most part and still drives home the design points particularly around EAI. I think it would make a great book for someone wanting to get into design patterns, which is important for anyone writing integration applications. Also, it is a good all-around reference book for the serious and seasoned Java programmer who needs to know how to design integration. I have GoF, and I refer to this book more often from a practical standpoint.
(Review Data Last Updated: 2006-07-07 01:19:13 EST)
|
|||||||||||||||||||||||||||||
| 07-28-05 | 5 | 2\4 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Patterns are the single most important construct in programming if your goal is to move beyong just the basics. The gang-of-four book is oustanding, but it's at the object level, and therefore does not extend beyond a single program. This book is just as good as the GOF book, but it is enterprise level--not just beyond a single program, but applicable to every program in a massive company. Definitely worth getting. And the examples do a great job of showing how the patterns actually apply.
(Review Data Last Updated: 2006-07-07 01:19:13 EST)
|
|||||||||||||||||||||||||||||
| 07-24-05 | 5 | 3\3 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
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. (Review Data Last Updated: 2006-07-07 01:19:13 EST)
|
|||||||||||||||||||||||||||||
| 07-01-05 | 4 | 2\2 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I liked this book for it tries to create a General Namespace around EAI with lots of names . If one had experience in EAI products like TIBCO, WLI , webMEthods then they already know most of what is written in this book albiet there were no defined names for it earlier .
(Review Data Last Updated: 2006-07-07 01:19:13 EST)
|
|||||||||||||||||||||||||||||
| 06-15-05 | 4 | 4\7 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
First off, I don't know what the gentleman is on who said that this book includes examples with Web Methods and See Beyond. It's a little bit strange to see such a long review with such a obvious error, makes you wonder what his motives are.
My interpretation of this book would be "Patterns for writing your own EAI type messaging architecture", hence the examples from Tibco (not Web Methods and See Beyond). Unfortunately it doesn't go into a technical discussion of the various messaging technologies which I would have found even more interesting than the patterns. However, it's a very readable book and I quite enjoyed reading it from front to back. One word of warning, it's a "Martin Fowler Signature Series Book", which means it's more interested in being on the bleeding edge as opposed to being thorough. Hence it refers to Web Services standards that weren't even finished at the time of its writing and completely ignores the messaging capabilities in mature technologies like CORBA (in fact the authors seem even ignorant of them). If I would have noticed the MF signature series I probably wouldn't have purchased it, but I'm glad I did in this case. (Review Data Last Updated: 2006-07-07 01:19:13 EST)
|
|||||||||||||||||||||||||||||
| 06-07-05 | 3 | 0\6 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
I ordered this book because it had many 5 stars. My primary job is to work with Biztalk. After reading this book I know concepts but still have to buy real Biztalk book. Look for another book if you need practical info.
(Review Data Last Updated: 2006-07-07 01:19:13 EST)
|
|||||||||||||||||||||||||||||
| 07-11-04 | 5 | 4\5 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Overall I am quite impressed with the quality of this book. The authors took a great look at the patterns involved in messaging architectures as traditionally practiced in EAI applications. If you are an experienced architect, you will find the patterns applied to many enterprise applications. If you don't have a few large-scale type projects under your belt, you won't think many of the suggestions are useful, applicable, or even necessary. If you do, though, reading this book will be well worth your time.
(Review Data Last Updated: 2005-11-23 02:46:49 EST)
|
|||||||||||||||||||||||||||||
| 07-05-04 | 5 | 20\20 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
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. (Review Data Last Updated: 2005-10-26 03:20:44 EST)
|
|||||||||||||||||||||||||||||
| 03-29-04 | 4 | 18\18 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
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. (Review Data Last Updated: 2005-09-19 03:11:41 EST)
|
|||||||||||||||||||||||||||||
| 01-07-04 | 4 | 10\17 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
This is a nice book because it identifies and names the patterns for enterprise integration.
But in certain places the author adds to the confusion out there in the software industry. In Chapter 2, Page 51, Martin Fowler says Web Services are the new way for Remote Procedure Invocation. This is not the case anymore. Today you are discouraged from looking at Web Services only as a firewall-friendly and platform-independent version of traditional RPC protocols. Web Services are one of the major (but not the only) element of the Service-Oriented Architecture and when it comes to Web Services, you should be really looking at passing messages, and not invoking remote components. (Review Data Last Updated: 2005-07-22 22:03:39 EST)
|
|||||||||||||||||||||||||||||
| 12-21-03 | 5 | 9\9 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
Enterprise Integration Patterns is part of Addison-Wesley's new Martin Fowler Signature Series, which Fowler's Patterns of Enterprise Application Architecture (PoEAA) is also a part of. I was very satisfied with PoEAA and the same can be said about Enterprise Integration Patterns. It has the potential to become a classic.
The authors' writing style is a pleasure to read -- no ambiguous statements, no unnecessary babbling. The book is structured to suit both cover-to-cover reading and a "dive-in" approach for situations where you're looking for a solution to a particular problem. After an introduction to the field of enterprise integration, and a discussion of why the book concentrates on the messaging integration style in particular, the reader is given a hierarchical catalog of patterns revolving around a small set of "core" patterns. The book's coverage is in my opinion very well scoped. I must also praise the look of the book; besides the layout being familiar from prior works and the proven pattern catalog structuring, the authors have used graphics very efficiently. Not only the authors define a vocabulary for integration patterns, but they have also come up with an expressive visual language for illustrating the patterns using simple notations that can be easily drawn without CASE tools. I found only two downsides for this book. First, the title can be slightly misleading as the book focuses on messaging as an integration style and only briefly mentions alternatives such as RPC, file transfer, and shared databases. However, I don't know a single person who doesn't read the back cover before buying a book, so I wouldn't count this as a big issue. Furthermore, the reason for focusing on messaging is thoroughly argued in the book. The second downside is the code examples, which are presented using varying languages and products and seem somehow disconnected from the text. In summary, Enterprise Integration Patterns is a great book. It's worth reading and re-reading if you're working with systems integration projects or writing integration software yourself. Yet another book that makes me think, "I wish I had it back then..." (Review Data Last Updated: 2005-07-22 22:03:40 EST)
|
|||||||||||||||||||||||||||||
| 10-29-03 | 5 | 56\57 |
| Reviewer | Permalink | ||||||||||||||||||||||||
|
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: Chapter 3 of the book starts by breaking up a messaging system into its main components and briefly explaining each one: 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. 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. (Review Data Last Updated: 2005-07-22 22:03:40 EST)
|
|||||||||||||||||||||||||||||
| Reader Reviews 1 - 33 of 33 | |||||||||||||||||||||||||||||