Enterprise Integration Patterns

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Enterprise Integration Patterns.jpg
Author Gregor Hohpe and Bobby Woolf
Language English
Series Martin Fowler Signature Series
Subject Enterprise integration pattern
Genre Non-fiction, Software development
Published 10 October 2003
ISBN 978-0321200686

Enterprise Integration Patterns is a book by Gregor Hohpe and Bobby Woolf and describes 65 design patterns for the use of enterprise application integration and message-oriented middleware in the form of a pattern language.


Enterprise Integration Patterns are implemented in many open source ESBs, including Spring Integration, WSO2 ESB, Apache Camel, Red Hat JBoss Fuse, Mule ESB or Guaraná DSL. The book includes an icon-based pattern language, sometimes nicknamed "GregorGrams" after one of the authors.

Enterprise Integration Patterns[edit]

The pattern language presented in the book consists of 65 patterns structured into 9 categories, which largely follow the flow of a message from one system to the next through channels, routing, and transformations.

Integration Styles[edit]

  • File Transfer
  • Shared Database
  • Remote Procedure Invocation
  • Messaging

Integration Types[edit]

  • Informationportal
  • Data Replication
  • Shared Business Function
  • Service Oriented Architecture
  • Distributed Business Process
  • Business-to-Business Integration
  • Tightly Coupled Interaction vs. Loosely Coupled Interaction


  • Message Channel
  • Message
  • Pipes and Filters
  • Message Router
  • Message Translator
  • Message Endpoint

Message Channel[edit]

  • Point-to-Point Channel
  • Publish-Subscribe Channel
  • Datatype Channel
  • Invalid Message Channel
  • Dead Letter Channel
  • Guaranteed Delivery
  • Channel Adapter
  • Messaging Bridge
  • Message Bus

Message Construction[edit]

  • Command Message
  • Document Message
  • Event Message
  • Request-Reply
  • Return Address
  • Correlation Identifier
  • Message Sequence
  • Message Expiration
  • Format Indicator

Message Router[edit]

  • Content-Based Router
  • Message Filter
  • Dynamic Router
  • Recipient List
  • Splitter
  • Aggregator
  • Resequencer
  • Composed Message Processor
  • Scatter-Gather
  • Routing Slip
  • Process Manager
  • Message Broker

Message Translator, Message Transformator[edit]

  • Envelope Wrapper
  • Content Enricher
  • Content Filter
  • Claim Check
  • Normalizer

Message Endpoint[edit]

  • Messaging Gateway
  • Messaging Mapper
  • Transactional Client
  • Polling Consumer
  • Event-Driven Consumer
  • Competing Consumers
  • Message Dispatcher
  • Selective Consumer
  • Durable Subscriber
  • Idempotent Receiver
  • Service Activator

System Management[edit]

  • Control Bus
  • Detour
  • Wire Tap
  • Message History
  • Message Store
  • Smart Proxy
  • Test Message
  • Channel Purger

External links[edit]