Gen 8.6 ECI v2 Support
search cancel

Gen 8.6 ECI v2 Support

book

Article ID: 189046

calendar_today

Updated On:

Products

Gen

Issue/Introduction

Gen 8.6 now supports ECI v2 as one of the middleware choices for Gen C clients (GUI, COM Proxy and C Proxy) to communicate with Gen COBOL servers on CICS.  Compared to ECI v1, ECI v2 provides the new capability to send more than 32KB of data on each cooperative flow by utilizing Containers.  ECI v2 also allows the CICS Transaction Gateway (CTG) to be located on a different machine than the client applications.  This allows for a smaller client footprint and for the configuration and administration of the CTG to be centralized.
 

Environment

Gen C clients (GUI, COM Proxy, C Proxy)
ECI v1 or ECI v2

Resolution

Gen 8.6 provides ECI v2 support with PTFs SO12045 and SO12046 for the z/OS platform and PTF RTN86206 for the Windows platform.
 

ECI flow types
 

Gen 8.6 will continue to support ECI v1 cooperative flows for backward compatibility.  ECI v2 cooperative flows offer additional choices for how the data on the flow can be encapsulated and which network protocol can be used to transmit the data.  The data on the flow can be sent in the COMMAREA (DFHCOMMAREA) or in Containers.  The COMMAREA still has a size limit of 32KB, while Gen 8.6 allows up to 16MB of data when using Containers.  ECI v2 supports using the IPIC network protocol to transmit the data, but also supports using the ECI over TCP/IP network protocol used by ECI v1.  IPIC connections provide multiple benefits such as Container support and better quality of service.  Please note that the IPIC network protocol must be used if the data is encapsulated in Containers.

The table below summarizes the types of ECI flows supported.

Flow Type

Data Encapsulation Type

Data Size Limit

Network Protocol

Reason why someone might choose this option

ECI v1

COMMAREA

32KB

ECI over TCP/IP

Backward compatibility

ECI v2

COMMAREA

32KB

ECI over TCP/IP

CTG remote application support, but don’t have/want IPIC

ECI v2

COMMAREA

32KB

IPIC

CTG remote application support; IPIC benefits, but don’t need/want Containers

ECI v2

CONTAINER

16MB

IPIC

CTG remote application support; IPIC benefits; >32KB


Note: CTG remote application support for ECI v2 requires IBM’s ctgclient.dll to be deployed with the client application.  If using the Build Tool to assemble an msi file, ctgclient.dll can be included as an additional file.


COMMCFG.INI File Settings

Which type of ECI flow to use for each transaction can be specified in the commcfg.ini file using one of two supported formats.

For ECI v1, the existing format shown below is still used:

<TRANCODE> ECI {ECI System Name}


For ECI v2, the new format shown below is now used:

<TRANCODE> ECI <StorageType> {HostName} {PortNumber} {ECI System Name}

where StorageType describes how the data on the flow will be encapsulated.  HostName and PortNumber describe where the CICS Transaction Gateway (CTG) is located and what port it is listening on.

 

As an example, for the four flow types shown in the table above, the commcfg.ini file might contain lines similar to the ones shown in the table below.

 

COMMCFG.INI Entry

Description

TRN1 ECI REG1TCP

ECI v1 flow - will use COMMAREA and ECI over TCP/IP

TRN2 ECI COMMAREA CTGhost.mycorp.com 2006 REG1TCP

ECI v2 flow - will use COMMAREA and ECI over TCP/IP

TRN3 ECI COMMAREA CTGhost.mycorp.com 2006 REG1IPIC

ECI v2 flow - will use COMMAREA and IPIC

TRN4 ECI CONTAINER CTGhost.mycorp.com 2006 REG1IPIC

ECI v2 flow - will use CONTAINER and IPIC


where REG1TCP represents a CICS Server name defined in the CTG for a CICS region that is configured to use the ECI over TCP/IP network protocol and REG1IPIC represents a CICS Server name defined in the CTG for a CICS region that is configured to use the IPIC network protocol.



ECI DLLs

PTF RTN86206 supplies two new DLLs in order to provide ECI v2 support.  There is a new DLL that provides the ECI v2 cooperative flow runtimes (eciv2cfn.dll) and a new DLL that provides the ECI v2 User Exit (eciv2cxn.dll).  If deploying remote ECI v2 applications, these two new DLLs need to be deployed along with the other Gen runtimes.  If using the Build Tool to assemble an msi file, these two new DLLs will automatically be included.  The existing ECI v1 DLLs are still needed if using ECI v1 flows.

The table below summarizes the DLLs needed for each ECI flow type.

Flow Type

Cooperative Flow Runtime DLL

User Exit DLL

User Exit Source

User Exit Makefile

ECI v1

ecicfn.dll

ecicxn.dll

cieciclx.c

ceciexit.nt

ECI v2

eciv2cfn.dll

eciv2cxn.dll

cieciv2x.c

ceciv2ex.nt



Troubleshooting and Common Errors

Please see KB article CA Gen 8.6 ECI v2 Middleware troubleshooting.




Known Limitations

Please be aware of the following limitations with ECI v2 support:

  • ECI v2 support is only available for C clients (GUI, COM Proxy, and C Proxy)
    • Gen runtimes were not changed for Java clients
    • Gen runtimes were not changed for Communications Bridge
  • Server-to-server flows are still limited to 32KB
    • ECI is not used for server-to-server flows

Additional Information

For details on the new ECI v2 User Exit, please see the following link:

Gen™ 8.6 > Reference > User Exits > Windows C User Exits > Windows ECI User Exits > CI_ECI_V2_USER_EXIT - Get ECI V2 Flow Customizations Exit (Windows)