[z/OS]

Messaging flow for JCA MDBs on z/OS with service integration

The WebSphere® Application Server default messaging provider (service integration) supports the JCA resource adapter (RA) mechanism on z/OS. When you install a message-driven bean application you provide an activation specification.

The following figure illustrates the messaging flow for JCA message-driven beans that use the service integration bus as the messaging provider.

Service integration includes a resource adapter (RA). The RA has a listener component that runs in the control region adjunct (CRA), and a dispatcher component that runs in each servant region (SR). The RA dispatcher component drives the application code. For some workloads, WebSphere Application Server can drive workload management directly from the CRA.

Figure 1. Service integration bus: message-driven bean processing
A WebSphere Application Server installation contains a control region (CR), a control region adjunct (CRA), and several servant regions (CR). The CRA contains a WLM classifier, an RA listener, and a service integration bus messaging engine. The SR contains an EJB container, which contains a message-driven bean dispatcher and a message-driven bean. The installation also includes a WLM queue. The text following the figure describes the path taken by a message through these items.
Processing is as follows:
  1. A message arrives at a WebSphere Application Server running on z/OS®.
  2. The messaging engine locks the message and passes it to the RA listener component.
  3. The RA listener passes the message to the WLM classifier, which uses user-provided classification rules to determine the transaction class of the message.
  4. The transaction class is attached as context.
  5. The RA listener passes the message reference to the RA dispatcher in an SR. The figure shows this step as using the CR to pass the reference through a WLM queue but, for some workloads, the CRA can pass the reference through a WLM queue without using the CR.
  6. The RA dispatcher reads the message from the messaging engine.
  7. The RA dispatcher dispatches the message-driven bean by invoking its onMessage method.
  8. The message-driven bean can then use JMS for messaging, if required.