The simplified diagram below shows the operation of the JMS Adapter along with the other components of the asynchronous adapter framework.
Figure 13. JMS Adapter in an Asynchronous Adapter framework
In this example, the JMS Adapter in the SendReceive workstep is shown performing a send/receive operation. First the adapter generates the outgoing message and sends it to the Outgoing queue. The queue name is specified when the adapter is configured.
The message is picked from the Outgoing queue up by the custom application which processes the message and delivers the response to the incoming queue. By default, the incoming messages are expected in a queue named "JMSAdapterQueue" but, if necessary, an additional Message Driven Bean (MDB) can be installed to accept messages delivered to any other queue.
The MDB, listening to the response queue, in turn passes the message to the Dispatcher, which is a component whose task is to deliver response messages to the installed asynchronous Managed Adapters. The Dispatcher delivers the response to the JMS Adapter for processing. After the necessary information is extracted from the message and is inserted into the process dataslots, as defined in the JMS Adapter configuration and mapping stage, the JMS Adapter workstep is completed and process execution continues.