Configuring IIOP-RMI transport for remote EJBs
Internet Inter-ORB Protocol Remote Method Invocation (IIOP-RMI) transport is used by CICS® Liberty to communicate with EJB methods that have remote interfaces. This communication can be secured by using Common Secure Interoperability Protocol Version 2 (CSIv2).
IIOP-RMI is used by CICS Liberty as the technology for
calling EJB methods with remote interfaces. Using the ejbRemote-3.2, or enterpriseBeansRemote-4.0 feature
supports both inbound and outbound IIOP-RMI calls.
Inbound calls allow CICS Liberty to listen as an object request broker (ORB) on a TCP/IP port for IIOP-RMI requests and call the target EJB method. See Configuring Inbound IIOP Communication for details.
Outbound calls are where CICS Liberty makes a request to an ORB to start an EJB method. Outbound calls can be made to the same JVM server the call was made for, or any other Java virtual machine (JVM) capable of acting as an ORB. See Configuring Outbound IIOP Communication for details.
This communication can be secured by using CSIv2, a technology that satisfies the CORBA (Common Object Request Broker Architecture) for authentication, delegation, and privileges. CSIv2 also supports the use of transport layer security (TLS). See Configuring CSIv2 to secure IIOP Communication for details.
Introduced in version 6.1, several additional exceptions can be triggered by JCICS internal code. On occasion these may be the root cause of problems which are reported to customer applications using JCICS exceptions.
Applications connecting to CICS using RMI over IIOP cause such JCICS exceptions (with an accompanying internal-to-CICS exception) to be serialized to an object stream, and sent to the client program.
If that client deserializes (inflates) the serialized exception chain, (containing the internal-to-CICS exception), the JCICS exception and the internal-to-CICS exception must both be on their local client classpath. Failure to do this results in a SerializationException being issued in the client program.
To avoid these SerializationExceptions,
add up-to-date versions of the com.ibm.cics.server.jar
and com.ibm.cics.delegate.jar to the client program classpath.
Configuring Inbound IIOP Communication
Enable theejbRemote-3.2, or enterpriseBeansRemote-4.0 feature by adding it to the server.xml
file.<featureManager>
<feature>ejbRemote-3.2</feature>
</featureManager>
Or:
<featureManager>
<feature>enterpriseBeansRemote-4.0</feature>
</featureManager>Optionally,
you can configure an IIOP endpoint in the server.xml
file.<iiopEndpoint id="defaultIiopEndpoint" host="host.example.com" iiopPort="2809" />localhost:2809. The
default ORB references the IIOP endpoint defaultIiopEndpoint. See Configuring CSIv2 to secure IIOP Communication for more
information on configuring ORBs for inbound security.Configuring Outbound IIOP Communication
Enable theejbRemote-3.2, or enterpriseBeansRemote-4.0 feature by adding it to the server.xml
file.<featureManager>
<feature>ejbRemote-3.2</feature>
</featureManager>
Or:
<featureManager>
<feature>enterpriseBeansRemote-4.0</feature>
</featureManager>Optionally
you can configure an ORB with the name service of the remote
server.<orb id="defaultOrb" nameService="corbaname::host.example.com:2809" />defaultIiopEndpoint. See Configuring CSIv2 to
secure IIOP Communication for more information on configuring ORBs for outbound
security.