Enterprise Integration Patterns
Messaging Patterns
HOME PATTERNS RAMBLINGS ARTICLES TALKS DOWNLOAD BOOKS CONTACT
Messaging Patterns
Revision HistoryMessaging Patterns » Appendices

October 2003

The book is out in the stores now, so I have to take the full pattern content off the site. I will keep the catalog of all patterns, but each pattern will be shortened, essentially to context, problem, solution and the picture. This way we can continue to use the site as a reference for the pattern language without getting into trouble with the publisher.

July 2003

Lots of edits and additions. I added a new introductory chapter with a longer design example (Solving Integration Problems using Patterns). We also have a TIBCO implementation for the Loan Broker example (Asynchronous Implementation with TIBCO ActiveEnterprise) and show how to instrument the MSMQ version of the example (Loan Broker System Management). Plus tons of edits, more examples, more pictures.

June 2003

Lots of activity. Bobby added Request-Reply to the Message Construction section and I added Wire Tap, Detour and Smart Proxy to the System Management section. Also major updates to the Channel Adapter.

I added the Message Broker pattern as an architectural pattern for message routing.

May 2003

Major edits over the routing patterns: Message Router. Renamed Routing Table to Routing Slip -- the old named clashed with common usage in the networking world. Also, I added the Dynamic Router.

Bobby made a pass over the endpoint patterns and rewrote the introduction into this chapter (Introduction to Messaging Endpoints).

I am in the process of incorporating feedback into the Message Routing chapter. I added a better comparison between the patterns to the Introduction to Message Routing. I also renamed the "Distribution with Aggregate Response" into Composed Message Processor -- the name was way too long.

I added a MSMQ implementation in C# for the composed messaging example (Asynchronous Implementation with MSMQ) It's fairly comprehensive and demonstrates the implementation of a number of patterns in a real application.

Bobby added the Messaging Bridge and reworked some of the channel patterns.

I added a MSMQ example in C# to the Resequencer. Most of the routing and transformation patterns now have real code examples.

I also added the Introduction to Composed Messaging Examples to be followed by three comprehensive code examples: Java / Apache AXIS, MSMQ and TIBCO pub-sub.

Apr 2003

I rewrote the Message History so that the primary motivation is debugging and analyzing the system. Avoiding circular references is a side benefit of the solution.

I felt that the section on message Transformation could use a few more patterns. I added the Normalizer. I also added some more detail to the Channel Purger. I also made an editing pass over the Introduction to System Management patterns, including renaming the EnvelopeWrapper to Envelope Wrapper.

I finally finished the Process Manager. Sean Neville contributed a nice section on Emerging Standards and Futures in Enterprise Integration.

We added intro sections to the individual chapters to introduce the patterns and to explain how they relate to each other.

Bobby merged the Messaging Integration and Messaging patterns. We also added additional Web Services references to underline the relevance of these patterns to Web Services solutions.

Mar 2003

I added the Channel Purger pattern.

I added pictures to the Integration Styles patterns. Bobby added a JMS and a .Net example for basic messaging: JMS Request/Reply Example and .NET Request/Reply Example. Also, we now have pictures in all patterns.

We rearranged the patterns in the site to make it easier to read them from front to back. Now all the 'root patterns', mostly the first pattern of each chapter are collected in a new section labeled 'Messaging Systems'.

I made a pass through the Transformation Patterns, adding an XSL example to the Message Translator. I also added a reference to WS-Routing to the Routing Slip pattern.

I added the Idempotent Receiver. Bobby made a number of edits to the Channel Patterns. I am currently making edits to the transformation patterns. I removed the dandling section on Structural Transformation patterns. I have a number of good ideas in this area, but it simply out of scope for now.

Feb 2003

I added Martin's 'Integration Style' patterns. Still missing pictures, but coming soon... This brings the total to 61 patterns.

We integrated Bobby's Channel Patterns, Message Patterns and Endpoint Patterns. We have over 55 patterns now! We will slow down our search for new patterns and focus on adding more pictures, more detail and examples to the patterns we have.

Jan 2003

I keep on finding new patterns. I just added the Messaging Mapper. Accordingly, I renamed the BidHelper class in the Aggregator code sample into BidMapper.

Dec 2002

I created a new section at the bottom of each pattern page listing all related patterns . The section contains links to all patterns that are mentioned anywhere in the pattern description. If a pattern name displays here without a link it indicates that the pattern has not been developed yet. I wanted to save everybody the 'under construction' pages...

I made a complete editing pass over all of the routing patterns. Recipient List received a new icon and was moved up closer to Message Filter and Content-Based Router. I added a placeholder for the Process Manager pattern.

I added the Resequencer pattern.

I updated the Aggregator code sample to implement the MessageListener interface. I also added class and sequence diagrams.

My site was cross-linked from TheServerSide. 770 unique visitors in a day! The site has received over 12000 unique visitors so far.

I think I finally got a handle on the font sizes on the site. They now display consistently on both IE 5.x and NS 4.x and are resizable. I hope this will resolve any readability problems. I guess I really am an enterprise architect and not a Web designer...

Oct 2002

I Modified my stylesheet to make the text more readable on Netscape's browser. Sorry for the inconvenience.

Added a JMS example to Aggregator.

Reversed Content Filter and Claim Check to improve flow. Rename Store in Library to Claim Check. Changed icon and expanded description of Claim Check.

Added the Message Filter. Renamed Sequencer to Splitter since the sequence is not relevant. The Sequencer is simply a special case of the Splitter. Also, changed the icons for Splitter and Aggregator. Renamed Broadcast with Aggregate Response to (much shorter) Scatter-Gather.

I added a reference to CSP (Communicating Sequential Processes) to Pipes and Filters. Reworded the problem statement.

I added Message Router as the root to all routing patterns.

I finally incorporated most of the feedback from PLoP 2002. Thanks again to all my reviewers.

Sept 2002

I added the Message Translator and moved most of the material from the intro into structural transformations into this pattern.

I regrouped the patterns and added placeholders for Kyle's and Bobby's patterns.

I presented the paper at the PLoP 2002 Conference. I got a number of excellent comments that I will incorporate over the next weeks.

Started working on structural transformation patterns.

I am getting about 100 visits a day. I add a fancier table of contents and a 'Quick Reference'

Aug 2002

The site goes life. I convert my original Word document into XML files and create XSL transformations to render the HTML page.

Enterprise Integration Patterns book cover

Enterprise Integration Patterns
The de-facto language for designing asynchronous, distributed systems. Over 100,000 copies sold.

Software Architect Elevator book cover

The Software Architect Elevator
Rethink the role of architects as a connecting element across organizational layers. Acquire the technical, communication, and organizational skills to succeed in this new role.

Cloud Strategy book cover

Cloud Strategy
Make your cloud migration a success by translating high-level goals into conscious decisions with well-understood trade-offs.

Platform Strategy book cover

Platform Strategy
Platforms can boost innovation through harmonization, but they aren't easy to build. Learn from over a decade of designing and rolling out IT platforms.