Preparing for CICS Socket Listener

The EntireX CICS Socket Listener is a remote connector on z/OS or z/VSE to call CICS mainframe programs. This document covers the following topics:


Overview

The CICS Socket Listener is used by the EntireX Adapter for CICS Socket Listener Connections. Apart from installation there is no configuration necessary in CICS. Configuration is done with the Adapter Connection. See Connection Parameters for CICS Socket Listener Connections.

graphics/overview-adapter.png

The implementation for CICS is based on the CICS standard listener provided by IBM. With this listener you can launch CICS transaction via TCP/IP. The launched transaction takes the TCP connection and continues the communication with the launching process.

Depending on your platform, more information on configuring the IBM standard listener for CICS can be found under the following IBM documentation:

  • z/OS Communications Server: IP CICS Socket Guide

  • z/VSE TCP/IP Support

Installing the CICS Socket Listener

The CICS Socket Listener is installed

Configuring the IBM Standard Listener

Depending on your platform, more information on configuring the IBM standard listener for CICS can be found under the following IBM documentation:

  • z/OS Communications Server: IP CICS Socket Guide

  • z/VSE TCP/IP Support

Start of instruction setTo start/stop the IBM standard listener

  • Use the CICS supplied transaction EZAO. The listener is automatically started/stopped when CICS is started or stopped.

Start of instruction setTo configure the IBM standard listener

Automatic Syncpoint Handling

After each non-conversational RPC request (or the end of a series of conversational RPC requests), an implicit CICS COMMIT (or CICS ROLLBACK if an error occurs) is executed by the CICS Socket Listener. If you are running with user transaction support, syncpoint handling is executed by CICS itself when the user transaction terminates.

User Exit

To enable a user exit, use the property cics.sl.userexit to specify the class name of the user exit implementation. The class will be loaded using the standard classpath. You can specify a separate classpath with the property cics.sl.userexit.classpath. Note that for the classpath, a file or HTTP URL must be specified, for example file://myexit.jar or http://host/path/to/my/exit.

Your user exit class must implement the Java interface com.softwareag.entirex.cics.socketlistener.IUserExit. This Java interface has the following method:

/**
   * Read and modify the CICS Socket Listener request payload before sending the request.
   * Get access to the ConfigurationParameters.
   *
   * @param requestPayload CICS Socket Listener Payload to be send to CICS, containing a java.nio.ByteBuffer
   * @param properties CICS Socket Listener Configuration Parameters with access to the user transaction id and several
   * Bridge framework parameters, like IDL program name, IDL library name, target program name etc.
   */
  void beforeSend(Payload requestPayload, ConfigurationParameters properties);