Enterprise Integration Patterns
Messaging Patterns
Messaging Patterns
Messaging GatewayMessaging GatewayMessaging Patterns » Messaging Endpoints

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

Creative Commons Attribution License

You can reuse the following elements under the Creative Commons Attribution license: pattern icon, pattern name, problem and solution statements (in bold), and the sketch. Other portions are protected by copyright.

Enterprise Integration Patterns book cover

Enterprise Integration Patterns
The classic, as relevant as ever. Over 90,000 copies sold.

Software Architect Elevator book cover

The Software Architect Elevator
Learn how architects can play a critical role in IT transformation by applying their technical, communication, and organizational skills.

Cloud Strategy book cover

Cloud Strategy
Fill the large gap between high-level goals and product details by understanding decision trade-offs.