Enterprise Integration Patterns
Messaging Patterns
Messaging Patterns OverviewMessaging Patterns

This pattern catalog describes 65 integration patterns, collected from many integration projects since 2002. The patterns provide technology-independent design guidance for developers and architects to describe and develop robust integration solutions. The inspiration to document these patterns came when we struggled through multiple integration vendors' product documentation just to realize later that many of the underlying concepts were quite similar.

Why Enterprise Integration Patterns?

Enterprise integration is too complex to be solved with a simple 'cookbook' approach. Instead, patterns provide guidance by documenting the kind of experience that usually lives only in architects' heads: they are accepted solutions to recurring problems within a given context. Patterns are abstract enough to apply to most integration technologies, but specific enough to provide hands-on guidance to designers and architects. Patterns also provide a vocabulary for developers to efficiently describe their solution.

Patterns are not 'invented'; they are harvested from repeated use in practice. If you have built integration solutions, it is likely that you have used some of these patterns, maybe in slight variations and maybe calling them by a different name. The purpose of this site is to present a coherent collection of relevant and proven patterns, which in total form an integration pattern language.

Despite the 700+ pages, our book covers only a fraction of patterns (and the problems to be solved) in the integration space. The current patterns focus on Messaging, which forms the basis of most other integration patterns. We have started to harvest more patterns but are realizing (once again) how much work documenting these patterns really is. So please stay tuned.

Messaging Patterns

We have documented 65 messaging patterns, organized as follows (click on the image or view the Table of Contents):

What products implement or use Enterprise Integration Patterns?

The patterns are not tied to a specific implementation and help you design better solutions with any of the following platforms:

How can you use the Patterns?

To encourage widespread use of the integration pattern language, we have provided a variety of ways to access them, including open source licensing:

What about REST / SOA / Serverless / EDA Patterns?

The book is now 20 years old. Yet, the integration problems we have to solve every day remain frustratingly similar. Because the patterns encapsulate design knowledge, this knowledge does not age as quickly as specific technologies. To see how the patterns apply to integration technologies like REST or Google Cloud Pub/Sub, follow our Ramblings, or check the list of modern examples. I've also implemented the Loan Broker example application in AWS Lambda, EventBridge, and Step Functions and GCP PubSub and Workflows.

Be Part of the Community

You can easily find us on Twitter or LinkedIn. We welcome your feedback!


The patterns on this site are the result of discussions involving numerous individuals. Kyle Brown (co-author of "Enterprise Java Programming for IBM WebSphere" and "The Design Patterns Smalltalk Companion"), John Crupi (co-author of "Core J2EE Patterns"), Martin Fowler (author of too many books to mention here), Rachel Reinitz, Mark Weitzel were part of the original discussions. Conrad D'Cruz, Sean Neville, Mike Rettig, Jonathan Simon ended up authoring examples, case studies and a chapter on the future of integration.

Enterprise Integration Patterns book cover

Enterprise Integration Patterns
The classic, as relevant as ever. Over 90,000 copies sold.

Software Architect Elevator book cover

The Software Architect Elevator
Learn how architects can play a critical role in IT transformation by applying their technical, communication, and organizational skills.

Cloud Strategy book cover

Cloud Strategy
Fill the large gap between high-level goals and product details by understanding decision trade-offs.