Migrating IIOP applications from CICS TS 1.3

CICS® implemented an enhanced CORBA ORB in CICS TS for z/OS®, Version 2. This means that, if you have existing CICS TS OS/390®, Version 1.3 IIOP applications, you can exploit some new function but you will also need to make some changes to the applications, or to the execution environment.

You need to make the following changes:
Environment
CICS replaced dfjcorb.jar with dfjorb.jar in CICS TS for z/OS, Version 2. See Configuring CICS for IIOP for more information about setting up your environment.
Resource definition
CORBASERVER
You now need to provide and install a CORBASERVER resource definition to define and initialize the execution environment for the IIOP application. Note that the installation of a CORBASERVER is a phased process that may complete at some time after the install is initiated. You can use INQUIRE CORBASERVER commands to verify that the CORBASERVER has installed correctly. See the CICS Resource Definition Guide for more information about the CORBASERVER resource definition.
REQUESTMODEL
You need to make some changes to the REQUESTMODEL resource definition. You should use the MODULE, INTERFACE, and OPERATION attributes instead of the OMGMODULE, OMGINTERFACE, and OMGOPERATION attributes, which continue to be supported for migration purposes only. New fields are added to identify the related CORBASERVER and to support Enterprise beans.

Generic pattern matching has been changed to allow only zero or more characters followed by a '*'. In cases where several different generic patterns match a given string, there is now a simple rule for choosing the most specific match. The longest generic pattern results in the most specific match. See the CICS Resource Definition Guide for more information about the REQUESTMODEL resource definition.

TCPIPSERVICE
The new PROTOCOL parameter of the TCPIPSERVICE resource definition for the IIOP port must be set to IIOP.

If you are using the Domain Name System (DNS) connection optimization, you now need to define a groupname in the DNSGROUP parameter. In CICS TS 1.3, DNS was active for all TCPIPSERVICEs with names beginning with 'D'. This is now replaced by use of the DNSGROUP and GRPCRITICAL TCPIPSERVICE parameters. See Domain Name System (DNS) connection optimization for more information about using DNS.

There are new SSL options. See Authentication of IIOP requests for more information about the use of SSL. See the CICS Resource Definition Guide for more information about the TCPIPSERVICE resource definition.

PROGRAM
All IIOP programs must now be defined as JVM programs. You will need to modify existing PROGRAM definitions to add the JVM , JVMCLASS, and JVMPROFILE options. See the CICS Resource Definition Guide for more information about the PROGRAM resource definition.
Files
You will need to provide and define a DFHEJDIR and a DFHEJOS file. These must be defined and available before any CORBASERVERs are installed. See Configuring CICS for IIOP for more information about setting up your IIOP environment.
Security URM
You need to change any IIOP security user-replaceable programs to support the new and changed fields in the updated COMMAREA structure. The URM is now called only if it is specified in the TCPIPSERVICE definition for the IIOP port. It is no longer possible to update the transaction identifier from the URM. The sample DFHXOPUS is still supplied. See Obtaining a CICS user ID for more information about supplying a URM
IDL
CICS does not provide the dfjcidl.jar file in CICS TS for z/OS, Version 3.1. Instead, you can use the pre-compiled IDL in the omgcos.jar file:
  • CosNaming
  • CosTransactions
  • CosLifeCycle

Alternatively, you can use the idlj compiler from the SDK to generate Java™ statements from IDL.

GenFacIOR
The offline GenFacIOR utility is no longer needed. You should use the PERFORM CORBASERVER PUBLISH command to publish the CORBASERVER resource definition defining the execution environment for this IIOP request. PUBLISH causes a stringified IOR (called genfac.ior) of the GenericFactory class to be created and stored on the shelf (an HFS directory associated with the CorbaServer), and published to the nameserver. You can download the IOR to your client workstation from the shelf using ftp, or your client can use the JNDI interface to obtain the IOR from the nameserver. All existing stringified IOR files need to be recreated. For more information, see Defining name servers.
IIOP messages > 32K
In CICS TS 1.3, CICS used temporary storage to pass IIOP messages larger than 32k to the request processor, and you needed to define TSMODELS for temporary storage queue prefixes DFIO and DFJO. The request streams logic manages these messages in a different way in CICS TS for z/OS, Version 2 and later, and these TS queues are no longer needed.
JVM
IIOP applications execute in the JVM. CICS Transaction Server for z/OS, Version 3 Release 1 does not provide runtime support for applications that have been processed by the VisualAge® for Java, Enterprise Edition for OS/390 bytecode binder (hpj) to run as Java program objects in CICS. You will need to set up the JVM environment as described in Setting up Java support, and define your programs as JVM programs.