Defining CICS resources

The following CICS resources must be defined and installed. You can define CICS resources online using CEDA (see the CICS® Resource Definition Guide); from a CICS application using EXEC CICS CREATE (see the CICS System Programming Reference); using the DFHCSDUP offline utility (see the CICS Operations and Utilities Guide); or by using CICSPlex SM (see the CICSPlex® System Manager Concepts and Planning).

FILE
Provide and install FILE resource definitions for the following files required by CICS:
The “EJB Directory”, DFHEJDIR
is a file containing a request streams directory; the directory is used in the routing of method requests for both enterprise beans and CORBA stateless objects. You must define DFHEJDIR as recoverable.
The “EJB Object Store”, DFHEJOS
is a file of stateful session beans that have been passivated. (It is also used when CorbaServers are installed.) You must define it as non-recoverable.
In a single-region CICS EJB/CORBA server, it is acceptable to define DFHEJDIR and DFHEJOS as local files. However, in a multiple-region CICS EJB/CORBA server:
  • DFHEJDIR must be shared by all the regions (listeners and AORs) in the server.
  • DFHEJOS must be shared by all the AORs in the server.
To enable DFHEJDIR and DFHEJOS to be shared across multiple regions, you can define them in one of the following ways:
  • As remote files in a file-owning region (FOR)
  • As coupling facility data tables
  • Using VSAM RLS.
There are sample FILE definitions for DFHEJDIR and DFHEJOS in the CICS-supplied RDO group, DFHEJVS. There are sample coupling facility FILE definitions for DFHEJDIR and DFHEJOS in the CICS-supplied RDO group, DFHEJCF. There are sample VSAM RLS FILE definitions for DFHEJDIR and DFHEJOS in the CICS-supplied RDO group, DFHEJVR. (DFHEJVS, DFHEJCF, and DFHEJVR are not included in the default CICS startup group list, DFHLIST.)
Note: In most cases, the values of the RECORDSIZE attributes in the supplied FILE definitions should not require modification. However, if you intend to install more than 40 CorbaServers in your logical EJB/CORBA server, see Specifying the RECORDSIZE of DFHEJDIR and DFHEJOS.

For reference information about FILE definitions, see the CICS Resource Definition Guide.

TRANSACTION and PROGRAM

CORBA stateless objects and enterprise beans don't have PROGRAM resource definitions as such. The PROGRAM resource definition that is relevant to a CORBA stateless object or enterprise bean is that for the request processor program.

Required default TRANSACTION and PROGRAM definitions for the CICS-supplied request receiver and request processor programs are in resource group DFHIIOP, which is included in the default CICS startup group list, DFHLIST.

Normally, you should not need to replace the default TRANSACTION and PROGRAM definitions for the request receiver (CIRR and DFHIIRRS, respectively). This is the definition of CIRR in DFHIIOP:
  DEFINE TRANSACTION(CIRR)      GROUP(DFHIIOP)                      
         PROGRAM(DFHIIRRS)      TWASIZE(0)                           
         PROFILE(DFHCICST)      STATUS(ENABLED)                      
         TASKDATALOC(ANY)       TASKDATAKEY(USER)                    
         RUNAWAY(SYSTEM)        SHUTDOWN(ENABLED)                    
         PRIORITY(1)            TRANCLASS(DFHTCL00)                  
         DTIMOUT(NO)            TPURGE(NO)                           
         SPURGE(YES)            ISOLATE(NO)                          
         RESSEC(NO)             CMDSEC(NO)                           
         RESTART(NO)                                                 
         DESCRIPTION(Default CICS IIOP Request Receiver transaction) 
                                                                 
One reason for creating your own TRANSACTION and PROGRAM definitions for the request processor program is to specify a JVM profile other than the default. The name of the JVM profile to be used is specified on the JVMPROFILE option of the PROGRAM definition for the request processor program. The default PROGRAM definition for the request processor (DFJIIRP in DFHIIOP) specifies the JVM profile DFHJVMCD. This is the definition of DFJIIRP in DFHIIOP:
 DEFINE PROGRAM(DFJIIRP)       GROUP(DFHIIOP)                          
      DESCRIPTION(CICS IIOP Request Processor)                         
      JVM(YES)                                                         
      JVMCLASS(com.ibm.cics.iiop.RequestProcessor) 
      JVMPROFILE(DFHJVMCD)                    
      LANGUAGE(LE370)
      RELOAD(NO) 
      EXECKEY(USER)      
      RESIDENT(NO)  
      USAGE(NORMAL)   
      USELPACOPY(NO)     
      STATUS(ENABLED) 
      CEDF(NO)      
      DATALOCATION(ANY)  
      DYNAMIC(NO)                                                      
                                                                       
Note: The CEDF attribute can be set to YES for debugging purposes. See Using EDF with enterprise beans.

If you do create your own PROGRAM definition for the request processor, you can provide one with any name, but the JVMCLASS parameter must be set to com.ibm.cics.iiop.RequestProcessor. Choose another JVM profile for the request processor to use, and specify the name of your JVM profile on the JVMPROFILE option. CICS supplies sample JVM profiles in the /usr/lpp/cicsts/cicsts31/JVMProfiles HFS directory (where cicsts31 is the value of the CICS_DIRECTORY variable used by the DFHIJVMJ job during CICS installation). Setting up JVM profiles and JVM properties files tells you how to locate, choose and customize JVM profiles.

TCPIPSERVICE
Provide and install TCPIPSERVICE resource definitions to configure the CICS Listener to receive IIOP requests and call the IIOP request receiver. The TCPIPSERVICE resource definition also specifies load-balancing and security options. See Setting up TCP/IP for IIOP.

CICS supplies, in resource group DFH$EJB, a TCPIPSERVICE definition for use with the EJB installation verification program (IVP) and the EJB “Hello World” sample application. If you are setting up a CICS EJB server, we suggest that you follow the step-by-step example of how to configure this definition in Actions required on CICS.

CORBASERVER
Provide and install a CORBASERVER resource definition. Note that the DFHEJDIR file must be defined, installed, and available before a CORBASERVER can be installed.

CICS supplies, in resource group DFH$EJB, a CORBASERVER definition for use with the EJB IVP program and the EJB “Hello World” sample application. If you are setting up a CICS EJB server, we suggest that you follow the step-by-step example of how to configure this definition in Actions required on CICS.

REQUESTMODEL
Provide and install REQUESTMODEL resource definitions to enable the request receiver to match the incoming request to a CICS transaction, to define execution parameters that are used if a new request processor instance is created to handle the request. The default TRANSID on REQUESTMODEL definitions is CIRP, which specifies the default request processor program DFJIIRP. If you choose to use your own TRANSACTION definition, you must define and install it; it must specify a PROGRAM definition with the JVMCLASS parameter set to com.ibm.cics.iiop.RequestProcessor. See Obtaining a CICS TRANSID.
Note:
  1. You need to provide REQUESTMODEL definitions only if the default TRANSID, CIRP, is unsuitable, or if you want to segregate your IIOP workload by transaction ID (for monitoring purposes, for example).
  2. The TRANSACTION definition for CIRP specifies DYNAMIC(NO). If you want to use dynamic routing of method requests for enterprise beans and CORBA stateless objects, you must provide one or more TRANSACTION definitions that specify DYNAMIC(YES), and specify them on your REQUESTMODEL definitions.
  3. After the CorbaServer is operational, you can use the CREA CICS-supplied transaction to display the transaction IDs associated with particular enterprise beans and bean-methods in the CorbaServer. You can change the transaction IDs, apply the changes, and save the changes to new REQUESTMODEL definitions. This is an easier method than building REQUESTMODEL definitions by hand.
  4. In a multi-region CICS logical server, it's recommended that you install your REQUESTMODEL definitions on the AORs as well as the listener regions—see Figure 1. The REQUESTMODEL definitions in the AORs are required for outbound requests to local objects. If a CORBA stateless object or enterprise bean makes a call to another object, and that object is available on the local AOR, CICS does not send the request to a listener region. Instead, it either runs the called method in the current task (“tight loopback”) or starts another request processor in the local AOR (“normal loopback”). Where normal loopback is used, it's preferable that the new request processor task should use the same REQUESTMODEL as that used for the call to the first object—otherwise, unpredictable results may occur. If your CORBA stateless objects and enterprise beans make no outbound calls, the REQUESTMODELs on the AOR are not strictly required.
DJAR
Provide and install DJAR resource definitions for any enterprise beans.
Note: DJAR definitions are typically created and installed by the CICS scanning mechanism (see the CICS Resource Definition Guide).

Figure 1 shows the RDO definitions required to define a CICS logical server. It shows which definitions are required in the listener regions, which in the AORs, and which in both.

Figure 1. Resource definitions in a CICS logical server. The picture shows which definitions are required in the listener regions, which in the AORs, and which in both.
The picture shows a CICS logical EJB server, consisting of multiple listener regions and multiple AORs. In the listener regions, the IIOPLISTENER system initialization parameter is set to YES. In the AORs, it is set to NO.The following resource definitions are installed in the AORs: CORBASERVERs, DJARs, and the definition of the stateful session bean store file, DFHEJOS.The following resource definitions are installed in both the listener regions and the AORs: TCPIPSERVICES, REQUESTMODELs, and the definition of the request stream directory file, DFHEJDIR.