|Integration Patterns Overview||
|Site Home Patterns Home Table of Contents|
This pattern catalog describes 65 integration patterns, which we have been collecting since 2002. Our goal is to document technology-independent design guidance that helps developers and architects 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 concepts were quite similar.
What Are Enterprise Integration Patterns?
Enterprise integration is too complex to be solved with a simple 'cookbook' approach. Instead, patterns can 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 patterns that form an integration pattern language.
Who Can Use Enterprise Integration Patterns?
The patterns presented on this site help integration architects and developers design and implement integration solutions more rapidly and reliably. Most of the patterns assume some experience with asynchronous messaging architectures. However, the patterns are not tied to a specific implementation. These patterns help you design better solutions, whether you use EAI, SOA, or ESB platforms such as IBM WebSphere MQ, TIBCO, Vitria, SeeBeyond (now Sun), WebMethods, BizTalk, Sonic, Fiorano, Mule ESB, ActiveMQ etc., JMS-based messaging systems, MSMQ, Windows Communication Foundation (WCF), or Web service-based integration.
How Can You Use the Patterns?
Because we want to encourage widespread use of the pattern language we have provided a variety of ways to access them:
What about SOA or ESB or Web Service Patterns?
Yes, enterprise integration (or "EAI" – shudder) has become a somewhat of a dirty word in the industry. We feel that this is partially the result of analysts and vendors having to come up with new terms every quarter to make you buy new stuff. Nevertheless, a lot of the problems we have to solve every day remain frustratingly similar. Because the patterns encapsulate design knowledge, this knowledge does not age nearly as quickly as a specific technology. Hey, the Gang of Four just celebrated their 10th anniversary. We are looking forward to ours…
Many ESB or SOA platforms already implement some of the patterns described in this book because the vendor recognized the recurring problem and incorporated the solution right into the package. We still describe these patterns for two reasons. First, not all packages implement the same set of patterns, so someone working with another package will still find the pattern useful. Second, despite the default implementation of the pattern in the platform, a description of the forces and alternatives is insightful for any architect or developer who is interested in EAI concepts beyond the specific package implementation. The patterns give you the "why" in addition to the "how".
Aren't There More Integration Patterns?
Despite the 700-odd pages, our book covers only a fraction of patterns (and the problems to be solved) in the enterprise integration space. We decided to start with relatively low-level patterns, most of which are based on the notion of asynchronous messaging. We have started to harvest many more patterns but are realizing (once again) how much work documenting these patterns really is. So please stay tuned.
We have identified 65 patterns so far. The Table of Contents lists the problems addressed by each pattern. We organized the patterns into the following categories:
Be Part of the Community
We welcome your feedback at: firstname.lastname@example.org.
Stay informed! To receive notifications of updates to the site send an e-mail message to email@example.com. I send updates every once in a while to let you know what is new (very low traffic and no spam).
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.
This web site is rendered entirely from XML source files using XSL stylesheets. This approach separates content from presentation and allows me to create the table of contents and 'previous' and 'next' links automatically. In addition, it will allow me to render a PDF document from the same XML source using FOP. I use Ant to validate and transform the XML files and deploy them to this site. [What is a colophon?]
|Home Patterns Table of Contents||Next|
|© 2003 Bobby Woolf All rights reserved.|