Enterprise Integration Patterns provides an invaluable catalog of sixty-five patterns, with real-world solutions that demonstrate the formidable of messaging and help you to design effective messaging solutions for your enterprise. The authors also include examples covering a variety of different integration technologies, such as JMS, MSMQ, TIBCO ActiveEnterprise, Microsoft BizTalk, SOAP, and XSL. A case study describing a bond trading system illustrates the patterns in practice, and the book offers a look at emerging standards, as well as insights into what the future of enterprise integration might hold. This book provides a consistent vocabulary and visual notation framework to describe large-scale integration solutions across many technologies. It also explores in detail the advantages and limitations of asynchronous messaging architectures. The authors present practical advice on designing code that connects an application to a messaging system, and provide extensive information to help you determine when to send a message, how to route it to the proper destination, and how to monitor the health of a messaging system. If you want to know how to manage, monitor, and maintain a messaging system once it is in use, get this book.
This book taught me, above all else, that I know squat about messaging systems.
The reason I read this book was kind of silly. It's an Addison-Wesley Martin Fowler Signature Series book, and I've read and enjoyed pretty much every other one of those. This book's cover with its red column on the right mocked me from my bookshelf, reminding me that I have failed to "collect them all" because of this one book. Why was it the only one in the series I hadn't read?
Because it's a 683 page book about messaging systems. Reread that. 683 pages. The second longest book in the entire series, and it's just about messaging. Dude. WHY?
Is it even possible to write 683 pages about messaging patterns, I wondered? They're not that complex, right? You have a queue, something sends messages into the queue, something else pulls messages off to process them. Bing bang boom, run a JMS server and Bob's your uncle.
Well apparently it's far more complicated than all that, and this book proves it. I had no idea there was so much to messaging beyond having some queues and using them to coordinate between a consumer and a producer. When I first looked at this book years ago, JMS and the like were sort of falling out of favor, but recently they've become en vogue again, so I decided it was time to finally check this one off the list. I learned an absolute ton about messaging systems, channels, routing, filtering, transforming, design, and much more. And like most patterns books, the information was delivered in an organized, systematic way that gives me common terminology to use with other engineers.
I particularly liked the diagram of all the different kinds of Message Routers on page 229. I realize how weird it is to call out a single page in a nearly 700 page book, but I really liked it, it perfectly shows all of the different kinds of message routing patterns one might want to use, what they are called, and why you might want to use them, all with a single diagram. Very cool.
This book is definitely worth reading for any sort of engineer doing "enterprisey" architecture-like work. Messaging systems aren't going anywhere, and they have a lot of advantages. In today's increasingly asynchronous-focused architectures, they're more relevant than ever. The book is very dry and - as I've pointed out - almost hilariously long, but it's worth reading for sure.
I started reading this because while working on a small app using Event Sourcing, I realised I was building an increasingly complex messaging system and rediscovering a lot of design decisions I knew must have already been resolved. My interest isn't in integration at all, but software built using messaging internally.
This is a long book but surprisingly easy to read, and engaging enough to read cover-to-cover. It works up from fundamental primitives like Message, Message Endpoint and Message Channel, to fairly detailed, complex examples, like component failover controlled and monitored with messaging from a central management console.
I now have a much clearer understanding of messaging patterns, which when I read documentation for modern messaging systems (eg RabbitMQ), I can immediately see the design decisions that were made and the alternatives that exist.
I've known about this book for almost a decade, and I regret not reading it sooner. It basically describes OOP applied to software architecture, and there are many solutions to old projects I could have designed better if I'd recognised this from the patterns in this book. I highly recommend this to anyone working on a system with more than one non-trivial component, ie anything more complex than a basic CRUD webapp.
I'll read this book with a different mindset about integration: Functional Composition. The same patterns can be applied in this context so it was definitely the worth the read for me to think on higher levels when developing functional programs.
Reading a tech book 22 years after it was published is a good test of its quality and universality. Did "Enterprise Integration Patterns" pass the test? Oh yeah, definitely.
Let's start by trying to illustrate the problems that reading this book in 2025 will face. Web Services being gradually popularized. TIBCO and MSMQ as central messaging tools. SOAP! WS-* protocols potentially being a way to standarize the distributed and message-based world.
However, If you're understanding, flexible and put all the technicalities aside (including most of the code examples...), there's really nothing to complain about.
What I liked: - The structure! It's like encyclopedia. Each pattern has its own chapter, name, icon and diagram. Althought it might sound a bit silly, in reality it's very useful. Those little icon representing the main message of the pattern are awesome. The book is from 2003 so it's not overloaded with modern exaggerated coloring, outlining and all sorts of fancy sections. Nice! - The constant freshness of the topics discussed. Although tools are now different and message brokers support many of those patterns out-of-the-box, the delivered content is still valuable. I think that certain terms that I have used so far have either become established or have taken on a slightly different meaning. I'm pretty sure I'll be using this book as a reference documentation in the future. - Description of the pattern itself is one thing. For me, the biggest strength of the book lies in the reasoning and pros vs cons paragraphs. There's basically never a moment when authors claim that you should definitely use this pattern. It's always the art of compromise. "If you use this pattern to solve this problem you gain A, B and C but you loose D, E and F." Those "essays" are usually long and descriptive. I appreciate it!
good because of its timeless concepts bad because it endless pages - could be a little less repetitive and not hammering the very obvious in some points.
This kind of book that shows the subject in the format of patterns are very good when you have a problem, know that there are a set of patterns that can solve it but need a review of the pros and cons to decide which of them is better for your case. This kind of book is usually not good when you have a shallow knowledge in the subject (my case) because that is a lot of circular references: if there are multiple patterns to solve the same kind of problems, the first patterns needed to be compared to a lot of patterns that were not presented yet.
Despite this, I had no problem in reading it almost end-to-end. First, because the major part of patterns has self-explanatory names. When I did not understand the pattern by its name, the diagram helped me a lot. When neither name nor diagram helped, I understood the core idea of the pattern in the first 10 lines of the chapter. Second, because there is an introduction chapter before each group of patterns that show us an overview of the next patterns.
The majority part of the patterns presented is very well explained. At the beginning of each chapter, there is a short explanation about why the pattern is useful in a high level of abstraction. After that, there is a more detailed explanation comparing it to other patterns. Sometimes there is an implementation example in the end, but I did not read the major part of it because the book was written in 2003 and implementations tend to change more over time when comparing to the patterns itself. But I read some of them just out of curiousity.
Outstanding. Among so many distributed systems' buzzwords (event sourcing, eventual consistency, fault tolerance) what this books does from the very beginning 'till the end is to clarify all of it, and deliver a easy to understand explanation of the main motivations and basic concepts existing behind MOST OF the message based systems/architectures.
The many presented integration patterns are always followed by a piece of code implemented using a real world technology that helps a lot to reinforce the acquired knowledge.
This book is a wonderwork... It's easily at the top 5 of any decent list of great tech books.
I wasn't really expecting to enjoy this book as much as I did but it is packed full of really useful information. I've worked on a few systems that used enterprise-level messaging and I thought I had a good handle on the space but I picked up the book anyway just to deepen my knowledge. I am really glad that I did. It is very apparent that the authors have been involved in a variety of integrations and have managed to convert their experience into patterns. The book does a good job of balancing the explanation of the patterns and their combination into solutions. Given that there are numerous patterns to sift through, you will likely have to review the list when crafting a new solution to just to re-familiarize yourself with the possibilities. The book can't tell you what solutions are right for your situation but it does a great job of making you think of the various aspects that need to be considered, such as configuration and control, security, logging and testing. The examples bounce between Java and C# but they should be readable by most developers. I highly recommend to anybody who is involved in any integration solutions.
I was debating whether to give this three or four stars and decided that it was a solid three. The book is well-written and very thorough (over 600 pages of content), but I do wish it had some more concrete examples with supporting code. Some of the patterns built on other patterns or were permutations of other patterns in the book, which got me wondering whether a solid understanding of the underlying principles in the Gang of Four book is the extent of the pattern knowledge you need, and this information would allow you to naturally arrive at the patterns described in this book. Perhaps, but at the very least, this book codifies the knowledge a little more and provides good names for the patterns, allowing us to communicate designs more clearly. I wouldn't recommend reading this book cover-to-cover, but it could serve as a great reference if you need to tackle some complex integration scenario or have some other enterprise messaging needs.
This is a fantastically helpful book: well designed, well described, good content, timeless. The book was published in 2003, but since it covers patterns rather than specific technologies, it holds up well.
Two things drew me to this book. First, I attended a speech by the author, Gregor Hohpe, in Las Vegas this past December. The guy sitting next to me was eager to show me his signed copy. I had heard of neither the author nor the book, but the talk was fantastic - the best one I heard all week by a mile (for those interested, search for "Modern cloud applications: Do they lock you in?").
The second draw was my work. Having an understanding of message patterns would be relevant and helpful to my day-to-day, especially as my team would be working in this space.
I'm glad I found it. It has already been helpful in some very practical ways, and the underpinnings will help in the future, too.
Great book to learn some basics of messaging architectures. The best thing I like is that the author explains the various potential solutions and problems with them before coming to a solution for each pattern. It slowly builds up as a thought process as a reader to not immediately jump to known best solutions but to consider some alternatives too, which helps to contrast the chosen solutions. I was not motivated enough to read through all the code examples, but the ones I read were straightforward and easy to follow. Overall, would recommend it to anyone working on enterprise systems, especially in integration domain.
Ce livre est un catalogue des patterns classiques des bus de messages. C'est à mon avis une bonne introduction aux concepts utilisée dans cette partie de l'informatique. Au-delà de ça, comme c'est avant tout un catalogue, ça n'est pas follement intéressant (même si je suis convaincu que la plupart de ces patterns dépassent le cadre dans lequel ils sont décrits). Et c'est surtout un bon complément au livre de Kleipmann, justement parce que designing data intensive applications est dans le design conceptuel, alors que celui-ci est dans une application plus pratique, peut-être plus ... basique.
Если вы сталкивались со Spring Integration, то процентов на 95 вы всё, что в этой книге написано, уже знаете. Остальные 5%, это поверхностный обзор стандартов SOAP, BPEL и всяких WS-Transaction (если они вам нужны в 2022 году, то такой обзор вам уже не пригодится).
На выходе получается, что проще почитать описание Spring Integration, а книгу пропустить. К достоинствам книги можно отнести очень годные иконки паттернов (после названия паттерна рисуется такое упрощенное его изображение, которое потом используется в диаграммах). Эти иконки достаточно ёмкие, чтобы одного взгляда на них было достаточно, чтобы понять суть паттерна
Well, I am not sure if this book is a really good starter for the overall messaging topics, but I gives a deep dive into all the patterns and is mostly agnostic to specific messaging systems. Still, there are lots of code and real world examples, mostly around JMS-based messaging and MSMQ.
I wish I had skipped the last chapter about emerging technologies, but the other chapters were a good read.
I liked the approach of this book. It gives you a clear an concrete mental model of what a tech pattern is. Their example are relevant. But. There is a but. I have the feeling that the way messaging is handled in modern IT nowadays is too far from the examples from this book. I recommend to read that book to get basic knowledge of what messaging is in theory, and why it was a big thing a few years ago.
Deep dive into messaging systems. Very good book for anyone interested. Pros: 1. Exhaustive. 2. The first chapter gives a very good overview of all the concepts explained in depth later on. I would suggest to read it if you need basic knowledge and overview about messaging. It works as a great abstract. 3. Multiple examples. Cons: 1. Tends to be a bit repetitive. 2. The examples did not age well since they are not an abstract concept, but rather concrete technologies. That's expected.
I had much more hopes for the book, especially after reading dozens positive feedbacks. The reality disappointed me. The book is outdated, too repetitive. Patterns are mentioned before introducing, so you need to jump from page to page to make a proper vision. The current structure is almost unreadable. It would be much better to have a compact distilled book with patterns and maybe a couple of chapters with practice examples.
It is an impressively comprehensive book. With many details about patterns and examples of how/when to implement them. The coding examples are outdated, but the patterns and thinking regarding integration architectures are very relevant. A recommended reading for anyone thinking or working, on application architectures.
Unexpectedly good reading (but I found it only from the second try :) after I took some luggage in this area). Still correlates with modern approaches for distributed systems on top of SQS and similar solutions.
Very easy reading and perfectly organised as an enjoyable reference book. Offers a new perspective to messaging beyond the simple pub/sub systems we’re used to implementing, insisting on practicality throughout
All architects emerging developers should read this book to understand the logic behind all different enterprise integration tools available in the market!
Patterns from this book are still relevent to microservices.
Will keep it as reference book with good description of core concepts of messaging systems. Though existing messaging systems are outdated in examples, so interesting mostly due to the core ideas and considerations, when decide to use messaging systems.
Still a good read, almost 17 years after it was first published. It references a lot of out-of-date technologies, but the patterns described are just as useful now. I'll use the book as a reference whenever I'm going to design new systems utilizing messaging.
Good introduction to enterprise messaging with many examples. Patterns tended to be repetitive and the same concepts kept coming up over and over again.
The book describes the integration patterns that are implemented in most Enterprise tools like Tibco, IBM, Software AG and etc. Great book for Enterprise Architecture lovers. Totally recommend it.
Deep research of building a messaging system in your project. Still the book is compiled rather "academically", making it hard to extract overall picture to use on practice.