Configuring CICS as an EJB server—overview

A CICS® EJB server contains the following basic components:
The listener
The job of the listener is to listen for (and respond to) incoming TCP/IP connection requests. An IIOP listener is configured by a TCPIPSERVICE resource definition to listen on a specific TCP/IP port and to attach an IIOP request receiver to handle each connection.

Once an IIOP connection has been established between a client program and a particular request receiver, all subsequent requests from the client program over that connection flow to the same request receiver.

The request receiver
The request receiver analyzes the structured IIOP data. It passes the incoming request to a request processor by means of a request stream, which is an internal CICS routing mechanism. The object key in the request determines whether the request must be sent to a new or an existing request processor.

If the request must be sent to a new request processor, a CICS TRANSID is determined by comparing the request data with templates defined in REQUESTMODEL resource definitions. (If no matching REQUESTMODEL definition can be found, the default TRANSID, CIRP, is used.) The TRANSID defines execution parameters that are used by the request processor.

The request processor
The request processor is a transaction instance that manages the execution of the IIOP request. It:
  • Locates the object identified by the request
  • For an enterprise bean request, calls the container to process the bean method
  • For a request for a stateless CORBA object, the ORB typically processes the request itself (although the transaction service may also be involved).

For comprehensive information about listeners, request receivers, and request processors, see The IIOP request flow.

Figure 1 shows a CICS logical EJB server. In this example, the listener regions and AORs are in separate groups, connection optimization is used to balance client connections across the listener regions, and distributed routing is used to balance OTS transactions across the AORs.

Figure 1. A CICS logical EJB server. The logical server consists of a set of cloned listener regions and a set of cloned AORs. In this example, connection optimization by means of dynamic DNS registration is used to balance client connections across the listener regions. Distributed routing is used to balance OTS transactions across the AORs.
The picture shows a sysplex containing a logical EJB server. The server consists of multiple cloned listener regions and multiple cloned AORs. Each AOR supports the same set of enterprise beans. Connection optimization by means of dynamic DNS registration is used to balance client connections across the listener regions. Distributed routing is used to balance OTS transactions across the AORs.