Accessing CICS applications from CICS Transaction Gateway

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 EE Connector Architecture (JCA)

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.

Accessing CICS programs from external Java programs

From the network, a Java client application can use any of the following methods to call a CICS TS program:
The CICS Transaction Gateway API
The CICS Transaction Gateway API provides, among other things, the following facilities:
The External Call Interface
An external application can use the External Call Interface (ECI) to call a program in a CICS region. To be eligible, the CICS program must be made available to other CICS programs through an EXEC CICS LINK command. It can have a COMMAREA interface or, when an IPIC connection is used, the program can use a channel and containers to transfer data.

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).

The External Presentation Interface
An external application can use the External Presentation Interface (EPI) to call a 3270-based CICS application program and use its output. The client application can install and delete virtual IBM® 3270 terminals in the CICS region. The definitions used by the EPI are processed by CICS as remote 3270 terminal definitions and therefore support automatic transaction initiation requests (ATI).
The External Security Interface
An external application can use the External Security Interface (ESI) to perform certain security functions. For example, the application can access information about user IDs held in the CICS external security manager (ESM) and set the default security credentials for a server connection.
The ECI resource adapters
The ECI resource adapters provide a high-level CCI interface to the External Call Interface that applications can use to link to CICS applications and pass data in COMMAREAs or containers. The resource adapters can be deployed on a Java EE application server, such as WebSphere Application Server, so that Java EE enterprise applications can access CICS. When the JCA is used, connection pooling, security, and transaction context are managed by the Java EE application server instead of the application.
For z/OS®, two ECI resource adapters are supplied in CICS Transaction Gateway:
  • Adapter cicseciXA.rar that supports two-phase commit
  • Adapter cicseci.rar that supports single-phase commit only
The ECI resource adapters also support the following additional features:
Support for IPIC connections
You can use IPIC connections to access CICS over TCP/IP when the region is CICS TS for z/OS, Version 3.2 or later. Unlike EXCI, APPC, and ECI over TCP/IP, this type of connection supports containers and SSL authentication. The IPIC connection is represented by an IPCONN resource in CICS.

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.

Channels and containers
Channels and containers provide applications with a way to transfer data in CICS that is larger than 32 KB. For more information about channels and containers, see Enhanced inter-program data transfer using channels.
Secure Sockets Layer (SSL) authentication
Secure Sockets Layer (SSL) authentication. SSL is supported on IPIC connections between CICS Transaction Gateway and CICS. For information about using SSL authentication, see Configuring CICS to use SSL.
The EPI resource adapter
The EPI resource adapter provides a high-level CCI interface to the External Presentation Interface that can be used to install terminals and run 3270-based transactions in a CICS region. There is no support for Automatic Transaction Initiation (ATI). The resource adapter can be deployed on a Java EE application server so that Java EE enterprise applications to access CICS. When the JCA is used, connection pooling, security, and transaction context are managed by the Java EE application server instead of the application.

Examples of using the CICS resource adapters

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.

Figure 1. Java clients connect to a CICS program by using the ECI resource adapter
The diagram shows the scenario described in the text.

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.

Figure 2. Java clients connect to a CICS program from outside CICS
The diagram shows the scenario described in the text.

To use CICS programs in this way, the Java developer requires some knowledge of developing CICS applications.



dfhpj_isc_tcpip_conn.html | Timestamp icon Last updated: Thursday, 27 June 2019