In this section, the term “
stand-alone CICS® CORBA client
applications” refers to CICS applications that:
- Are CORBA client applications
- Are defined to CICS as standard Java™ applications, by means of a PROGRAM
definition on which JVM=YES specified
- Create an ORB instance using the new operator
- 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()