You can use the Java™ EE Connector Architecture (JCA) to connect existing CICS® applications to external Java applications by using CICS Transaction Gateway. This product in the CICS family provides support for connecting Java applications in application servers, such as WebSphere® Application Server, to CICS by using resource adapters that implement the JCA technology.
CICS Transaction Gateway provides resource adapters to connect Java client programs to existing CICS applications. You can use the CICS TG resource adapters to reuse your CICS applications in new Java applications. Frequently, new Java applications can be developed more quickly and reliably by reusing existing Java or non-Java CICS applications. Typically, the Java client application is network-based and the CICS program is written in a language such as COBOL.
The Java Platform Enterprise Edition (Java EE) Connector Architecture defines a standard means of connecting a Java EE-compliant platform to a heterogeneous Enterprise Information System (EIS) such as CICS. Java applications interact with resource adapters by using the Common Client Interface (CCI), which is an open standard defined by the JCA.
The Java EE connector architecture enables an EIS vendor to provide a standard resource adapter for its EIS. A resource adapter is the middle tier between a Java application and an EIS and connects the Java application to the EIS.
The CICS Transaction Gateway implements the JCA by providing Java EE CICS resource adapters that support the Common Client Interface.
CICS programs that are called by an ECI request must follow the rules for distributed program link (DPL) requests. For information about DPL requests, see Distributed Program Link (DPL).
You cannot install static IPCONN resources to external Java clients: these connections are always automatically installed. See Writing a program to control autoinstall of IPIC connections.
The scenario shown in Figure 1 is an example of a three-tier configuration. A Java application uses the ECI resource adapter to link to a program in the CICS region. The connection between the client application and the CICS region is occurring through an intermediate system. Because the client application is not running on the same host as CICS Transaction Gateway, the daemon listens and communicates with the client. On z/OS, CICS Transaction Gateway uses the External CICS Interface (EXCI) or the IPIC driver to pass requests to CICS. These requests are processed by CICS as ECI calls.
The diagram also shows a Java servlet that also uses the ECI resource adapter to connect to a server program. This configuration is an example of a two-tier configuration, where a direct connection exists between the client application and the CICS region through the ECI Adapter. Because the servlet is running on the same host as CICS TG, it uses the local protocol to communicate.
CICS Transaction Gateway on z/OS supports the External Call Interface but not the External Presentation Interface. The ECI and the ECI resource adapter are supported, but not the EPI or the EPI resource adapter. Only Java client programs are supported. ECI calls can be made over EXCI or IPIC connections to the CICS region.
A variation is shown in Figure 2. In this example, CICS Transaction Gateway runs on a Windows server. CICS Transaction Gateway on Windows and Linux supports both the ECI and ECI resource adapter and the EPI and EPI resource adapter. The Java client can access 3270-based CICS programs, in addition to CICS programs that use a suitable COMMAREA or containers.
ECI calls can be made to CICS over APPC, TCP62, ECI over TCP/IP, or IPIC connections. EPI calls are supported only on APPC connections.
To use CICS programs in this way, the Java developer requires some knowledge of developing CICS applications.