You can write the following types of Java™ application in CICS®:
- JCICS applications
- You can write Java programs that use the JCICS class library. JCICS
allows you to access CICS resources such as VSAM files, CICS transient
data queues and temporary storage. It also allows you to link to CICS applications
written in other languages. Most of the functions of the EXEC CICS programming
interface are supported. JCICS is supplied in the dfjcics.jar JAR file
and can be downloaded to your workstation. It is also available with some
releases of VisualAge® for Java.
JCICS
applications are run in the CICS JVM. You can read more about JCICS in The JCICS class library.
- Stateless CORBA objects
- Stateless CORBA objects are Java server applications that communicate
with a client application using the IIOP protocol. No state is maintained
in object attributes between successive invocations of methods; state is initialized
at the start of each method call and referenced by explicit parameters.
Stateless
CORBA objects can receive inbound requests from a client and can also make
outbound IIOP requests.
Method invocations may participate
in
Object Transaction Service (OTS) distributed transactions. If a
client calls an IIOP application within the scope of an OTS transaction, information
about the transaction flows as an extra parameter on the IIOP call. If a target
stateless CORBA object implements the
CosTransactions::TransactionalObject interface,
the object is treated as transactional.
Note: An OTS transaction is
a distributed unit of work, not a CICS transaction instance or resource definition.
Stateless
CORBA objects can use the JCICS API to interact with CICS.
CICS stateless CORBA objects execute in
the CICS JVM.
You
can read more about CICS stateless CORBA objects in Stateless CORBA objects.
- Enterprise beans
- Enterprise beans are portable Java components that comply with Sun Microsystems' Enterprise JavaBeans Specification,
Version 1.1. CICS has
implemented these interfaces by mapping them to underlying CICS services.
Enterprise beans can link to other CICS applications using connectors.
You can also develop enterprise beans that use the JCICS class library to
access CICS services
or programs directly, but these applications will not be portable to a non-CICS
EJB-compliant server.
The Enterprise JavaBeans (EJB) specification defines
transactional distributed objects that communicate using the Java Remote
Method Invocation (RMI) interface. CICS supports RMI over IIOP, mediated using
a CORBA Object Request Broker (ORB).
Enterprise beans execute in the CICS JVM.
You
can read more about Enterprise beans in What are enterprise beans?.
Table 1 shows the features that can be used
in the different types of Java application in CICS:
Table 1. Java application
featuresFeature |
Non-IIOP CICS appl. |
CICS stateless CORBA object |
CICS session bean |
Outbound IIOP |
YES |
YES |
YES |
Inbound IIOP |
NO |
YES |
YES |
APPC/MRO outbound UOW |
YES |
YES |
YES |
APPC/MRO inbound UOW |
YES |
NO |
NO |
EXEC CICS SYNCPOINT UOW |
YES |
NO |
NO |
Outbound OTS transaction |
NO |
YES |
YES |
Inbound OTS transaction |
NO |
YES |
YES |
Container managed OTS transaction |
NO |
NO |
YES |
Bean managed OTS transaction |
NO |
NO |
YES |
Factory publication to JNDI |
NO |
YES |
YES |
Application Metadata |
NO |
NO |
YES |
State managed |
NO |
NO |
YES |
Outbound Secure Sockets Layer (SSL) |
YES |
YES |
YES |
Inbound Secure Sockets Layer (SSL) |
NO |
YES |
YES |
Assertions |
YES |
YES |
YES |