Stand-alone CICS CORBA client applications

In this section, the term “stand-alone CICS® CORBA client applications” refers to CICS applications that:
  1. Are CORBA client applications
  2. Are defined to CICS as standard Java™ applications, by means of a PROGRAM definition on which JVM=YES specified
  3. Create an ORB instance using the new operator
  4. Do not run in a CICS CorbaServer execution environment

CICS CORBA support is primarily focused on supporting IIOP server-side objects—that is, enterprise beans and stateless CORBA objects. These server-side components run in a CICS EJB/CORBA server, in a CorbaServer execution environment represented by a CORBASERVER resource. Because they run in a CICS EJB/CORBA server, they have access to a rich ORB feature set.

Stand-alone CICS CORBA client applications do not run in a CICS EJB/CORBA server, and thus do not have access to the same quality of CORBA support as server-side components. The ORB available to these client applications is a client-only ORB sometimes referred to as the “JCICS ORB”. This ORB cannot listen on a socket for inbound connections; therefore any IORs published by this ORB cannot be supported. Similarly, a CICS CORBA client application cannot initiate (or participate in) a distributed OTS transaction.

These limitations do not extend to the CICS server ORB environment. Any server object in a CICS EJB/CORBA server can make outbound client IIOP calls that participate in an OTS transaction, providing that the ORB instance used to perform these outbound calls is the current CICS EJB/CORBA server ORB. If a new ORB instance is created by the server object using the new operator, CICS cannot automatically propagate the existing transaction context using this new ORB. An IIOP server object can programmatically get a handle to the current server ORB instance by using the following static method call:
com.ibm.cics.iiop.ORBFactory.getORB()