Configuring the runtime environment to use transaction routing

You can select between using transaction routing or dynamic transaction routing for Link3270 server adapter processing.

If you want to use dynamic transaction routing or transaction routing for processing request messages using Link3270 server adapter, you must set an AOR routing indicator in the Link3270 server adapter service flow node properties. For information on how to set the routing indicator (MAT_AOR_ROUTING), see the Service Flow Modeler help in the WebSphere® Developer for System z® information center. If you do not set this indicator, your adapter service might not function correctly.
The router region refers to the region where CICS® Service Flow Runtime is installed.

The purpose of the CMAI transaction in a transaction routing environment is to retrieve any target CICS application transaction COMMAREA information and any TCTUA information from the CICS region where the Link3270 bridge facility is currently allocated, and to populate that same information in a second CICS region before running the next target CICS application transaction routed to that second CICS region.

If all target CICS application transactions are run locally in the router region when processing using Link3270 server adapter programs, the transaction and program definitions described below are not necessary.
  1. Specify a transaction definition in the router region that points to a remote definition for the transaction CMAI. This transaction must be equal to the CICS system name (CONNECTION name) for the remote CICS region where the target CICS application transactions run. Each remote CICS region accessed will require a definition in the router region.
  2. The program DFHMALIN and transaction ID CMAI must be defined in each remote CICS region where your target CICS application transactions run.
  3. Define program and transaction definitions for the program DFHMALIN in the router region. The transaction ID should be equal to the CICS system name (CONNECTION name) of the CICS region, not CMAI. The CMAI transaction definition in the router region is reserved and used for dynamic transaction routing.
  4. To perform transaction routing:
    1. Define a transaction in the router region for every remote target CICS application region with the following attribute values:
      TRANSaction: REMOTESystem (remote CICS system name/CONNECTION name)
      
       REMOTE ATTRIBUTES
      	DYnamic       ==> No 
      	ROutable      ==> No 
      	REMOTESystem  ==> (remote CICS system name/CONNECTION name) 
      	REMOTEName    ==> CMAI (CICS Service Flow Runtime Initiate/Terminate transaction ID) 
    2. If some target CICS application transactions run locally in the router region, specify a transaction definition where the transaction ID is equal to the local CICS system name (i.e., the router region CONNECTION name) with the program attribute set to DFHMALIN as follows:
      TRANSaction            : (local CICS system name/CONNECTION name)  
      PROGram             ==> DFHMALIN
      REMOTE ATTRIBUTES   
      DYnamic             ==> No 
      ROutable            ==> No 
      REMOTESystem        ==> 
      REMOTEName          ==>
    3. Define the following attributes on your target CICS application transaction definitions:
      DYNAMIC attribute = NO
      REMOTESYSTEM      = (CICS system name/CONNECTION name)
    4. The following transaction and program must also be defined in all target CICS application regions:
      CMAI      ==> Initiate/Terminate transaction ID
      DFHMALIN  ==> Initiate/Terminate program name
      
    See Figure 1 for an illustration of a configuration using transaction routing.
    Figure 1. Transaction routing configuration
    The illustration shows a transaction routing configuration, with two transaction definitions in a router region pointing to target CICS applications in remote regions. Dynamic attribute in the transaction definitions in the Router region are set to NO.
  5. To perform dynamic transaction routing:
    1. Include a transaction definition for the transaction CMAI in the router region and code your dynamic transaction routing program accordingly. This definition is required in addition to the transaction definitions for each target CICS region. In dynamic transaction routing, this definition will be used to perform the initiate processing. The CMAI transaction should be defined with following REMOTE ATTRIBUTES:
      DYnamic       ==> Yes 
      ROutable      ==> No 
      REMOTESystem  ==>
      REMOTEName    ==> CMAI (CICS Service Flow Runtime Initiate / Terminate transaction ID) 
    2. Define the DYNAMIC attribute on your target CICS application transaction definitions as YES.
    See Figure 2 for an illustration of a configuration using dynamic transaction routing.
    Figure 2. Dynamic transaction routing configuration
    The illustration shows a dynamic transaction routing configuration, with two transaction definitions in a router region pointing to target CICS applications in remote regions. Dynamic attribute in the transaction definitions in the Router region are set to YES.