Access to COMMAREA programs IBM-CICS

The best practice in CICS application design for a number of years now has been to separate key elements of the application into the following sub-categories:

Client adapt or presentation logic

Integration logic

Business logic

Data access logic

Figure shows a transaction made up of these separate components. A COMMAREA or ‘channel’ interface is used to pass data between the components.

CICS Transaction Server

Figure The key application elements

This separation provides a framework that enables the following:

Reuse of business logic and data access logic programs as sub-routines within a larger application

Reuse with alternative implementations of presentation logic—for example a Web Service, a Web browser, or a 3270 device

CICS COMMEARA programs can be relatively easily enabled for access from a variety of different client applications running on a wide variety of platforms—distributed servers and mainframes. Typical clients include the following:

In most cases, connections from a client will use a combination of the following:

Internal adapters

External connectors

Standard IP-based protocols

An internal adapter is simply a program that accepts a request and converts the data from an external format to the internal format used by the CICS business logic. CICS Web Support introduced this concept with the converter program DFHWBTTA. Using a more recent technology, an adapter can convert a SOAP message to a COMMAREA format. The transport mechanism used to invoke the adapter may be synchronous or asynchronous.

An external connector provides a remote call interface and implements a private protocol to invoke an application running under CICS TS. An external adapter converts data from its external form to the COMMAREA format. CICS Transaction Gateway is the most well known example of an external connector that implements the Common Connector Interface specified by the J2EE Connector Architecture (JCA).

The standard IP-based adapters that use a specific transport are IBM WebSphere MQ, HTTP, and TCP/IP sockets. These methods permit greater flexibility in the functionality that can be implemented. We decided to use IBM WebSphere MQ to demonstrate access to traditional CICS programs from an external client.

a. Access to terminal-oriented programs

There are many programs that do not have such a clear separation of logic as COMMAREA programs, for which there is only a 3270 interface. CICS TS3.1 provides a LINK3270 bridge function that simulates a client actually interfacing directly with a 3270 screen. This is achieved by the client making a connection to the Link3270 bridge in CICS TS (program DFHL3270) and then passing a COMMAREA that includes a transaction identifier and the data that needs to be passed to the application. The response then contains the 3270 screen data reply, and the information is presented back to the client.