Enterprise Integration Patterns
Messaging Patterns
HOME PATTERNS RAMBLINGS ARTICLES TALKS DOWNLOAD BOOKS CONTACT
Messaging Patterns OverviewMessaging Patterns

This pattern catalog includes 65 integration patterns that we collected from integration projects and updated over two decades. They provide technology-independent design guidance for developers and architects to develop and document robust integration solutions. The 65 messaging patterns are organized as follows (click on the image or view the Table of Contents):

Why Enterprise Integration Patterns?

Integration is a long-running topic in all aspects of software and IT, and it's too multi-faceted to be tackled with a simple 'cookbook' approach. Patterns, in contrast, document knowledge and experience that usually lives only in architects' heads. As accepted solutions to recurring problems, patterns are abstract enough to apply across integration technologies, but specific enough to provide hands-on guidance. They also provide a vocabulary to accurately describe solutions.

Patterns are not 'invented'; they are harvested from repeated use in practice. If you have built integration solutions, you likely have used some of these patterns, maybe in slight variations and perhaps calling them by a different name. This site condenses that experience into a coherent collection of proven patterns that form an integration pattern language. Patterns live in a specific context. This first set of patterns focus on Messaging. We also started to harvest Conversation patterns.

What products implement or use Enterprise Integration Patterns?

The patterns are independent of 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, many parts are available under open source licensing. You are free to use the pattern name, icon, problem and solution statements, and the sketches (the diagram below the solution statement) under the Creative Commons Attribution license.

The CC-BY license allows you share, use and modify these elements as long as you give proper attribution, such as a link to this site or a citation of the book. See the license for more detail.

You can do a lot more with the patterns:

What about REST / SOA / Serverless / EDA Patterns?

The integration problems we solve today remain frustratingly similar to 20 years ago. The design knowledhe encapsulated in the patterns does not age like specific technologies. A list of modern examples shows how the patterns apply to integration technologies like Kafka, Google Cloud Pub/Sub, Amazon SQS or REST. I've also re-implemented the Loan Broker example application in AWS Lambda, EventBridge, and Step Functions and GCP PubSub and Workflows.

Be Part of the Community

Feel free to connect on LinkedIn. We welcome your feedback!

Contributors

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.