Messaging Gateway - Enterprise Integration Patterns (original) (raw)

An application accesses another system via Messaging.

How do you encapsulate access to the messaging system from the rest of the application?

Use a Messaging Gateway, a class than wraps messaging-specific method calls and exposes domain-specific methods to the application.

The Messaging Gateway encapsulates messaging-specific code (e.g., the code required to send or receive a message) and separates it from the rest of the application code. This way, only the Messaging Gateway code knows about the messaging system; the rest of the application code does not. The Messaging Gateway exposes a business function to the rest of the application so that instead of requiring the application to set properties like Message.MessageReadPropertyFilter.AppSpecific, a Messaging Gateway exposes methods such as GetCreditScore that accept strongly typed parameters just like any other method. A Messaging Gateway is a messaging-specific version of the more general Gateway pattern [EAA].

...Read the entire pattern in the book Enterprise Integration Patterns

Related patterns:

Scatter-Gather, Asynchronous Implementation with MSMQ, Correlation Identifier, Messaging, Request-Reply


Integration Pattern Language

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.