Enterprise Integration Patterns
   HOME

TheInfoList



OR:

''Enterprise Integration Patterns'' is a book by Gregor Hohpe and Bobby Woolf and describes 65 patterns for the use of enterprise application integration and
message-oriented middleware Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. MOM allows application modules to be distributed over heterogeneous platforms and reduces the comple ...
in the form of a pattern language.


The integration (messaging) pattern language

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. The book includes an icon-based pattern language, sometimes nicknamed "GregorGrams" after one of the authors. Excerpts from the book (short pattern descriptions) are available on the supporting website (see
External links An internal link is a type of hyperlink on a web page to another page or resource, such as an image or document, on the same website or domain. Hyperlinks are considered either "external" or "internal" depending on their target or destination ...
).


Integration styles and types

The book distinguishes four top-level alternatives for integration: # File Transfer # Shared Database # Remote Procedure Invocation # Messaging The following integration types are introduced: * Information Portal * Data Replication * Shared Business Function *
Service Oriented Architecture In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. By consequence, it is also applied in the field of software design where services are provide ...
* Distributed Business Process * Business-to-Business Integration * Tightly Coupled Interaction vs. Loosely Coupled Interaction


Messaging

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


Message Channel

* 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

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


Message Router

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


Message Transformation

* Envelope Wrapper * Content Enricher * Content Filter * Claim Check * Normalizer * Canonical Data Model


Message Endpoint

* 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

* Control Bus * Detour * Wire Tap * Message History * Message Store * Smart Proxy * Test Message * Channel Purger The pattern language continues to be relevant as of today, for instance in cloud application development and integration, and in the internet of things. In 2015, the two book authors reunited—for the first time since the publication of the book—for a retrospective an
interview
in '' IEEE Software''.


Implementation

Enterprise Integration Patterns are implemented in many open source integration solutions. Notable implementations include
Spring Integration Spring Integration is an open source framework for enterprise application integration. It is a framework that builds upon the core Spring framework. It is designed to enable the development of integration solutions typical of event-driven ar ...
,
Apache Camel Apache Camel is an open source framework for message-oriented middleware with a rule-based routing and mediation engine that provides a Java object-based implementation of the Enterprise Integration Patterns using an application programming in ...
, Red Hat Fuse, Mule ESB and
Guaraná DSL Guaraná DSL is a domain-specific language (DSL) to design enterprise application integration (EAI) solutions at a high level of abstraction. The resulting models are platform-independent, so engineers do not need to have skills on a low-level inte ...
.


See also

*
Enterprise messaging system An enterprise messaging system (EMS) or messaging system in brief is a set of published enterprise-wide standards that allows organizations to send semantically precise messages between computer systems. EMS systems promote loosely coupled arch ...
* Loose coupling *
Software design pattern In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine ...


References


External links

* * * American non-fiction books 2003 non-fiction books Software engineering books Software design patterns Enterprise application integration Message-oriented middleware Monographs {{compu-book-stub