An event-driven Messaging Gateway exposes the asynchronous nature of the messaging layer to the application. When the application makes the domain-specific request to the Messaging Gateway, it provides a domain-specific callback for the reply. Control returns immediately to the application. When the reply message arrives, the Messaging Gateway processes it and then invokes the callback

