---
schema_version: "1"
id: 67dd859b23b1877200416f6079eaa1cfc0ca55435490939bc3b2a401b2ccee5a
title: IBM CICS Transaction Gateway Connector 3.0
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/ibm-ctg-connector/latest/index.md
canonical_url: https://docs.mulesoft.com/ibm-ctg-connector/latest/
source_site: docs.mulesoft.com
content_type: documentation
content_hash: c98ae8624b4bac8054971ca4904fda62255cd6b0f6d2f21ca17559151b02a68a
description: MuleSoft Documentation Site
release: "3.0"
latest: true
---
---
product: IBM CTG Connector
version: 3.0
is-latest-version: true
---

# IBM CICS Transaction Gateway Connector 3.0

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Anypoint Connector for IBM CICS Transaction Gateway (IBM CTG Connector) provides integration with
back-end CICS apps using the CICS Transaction Gateway. For Java platforms, CTG implements the Java
Cryptography Architecture (JCA) resource adapter to connect Java applications to the Customer
Information Control System (CICS) system. The connector serves as a link between Mule apps and the
IBM CTG.

Release Notes:
[IBM CICS Transaction Gateway Connector Release Notes](https://docs.mulesoft.com/release-notes/connector/ibm-ctg-connector-release-notes-mule-4)  
Exchange:
[IBM CICS Transaction Gateway Connector](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-ibm-ctg-connector/)

## Before You Begin

To use this information, you must be familiar with IBM CTG, Mule runtime engine (Mule), Anypoint
Connectors, Anypoint Studio, Mule concepts, elements in a Mule flow, and Global Elements.

You need login credentials to test your connection to your target resource.

To use this connector with Apache Maven, view the pom.xml file dependency information from the
**Dependency Snippets** link in
[Anypoint Exchange](https://www.mulesoft.com/exchange/com.mulesoft.connectors/mule-ibm-ctg-connector/).

## Terminology

CICS (Customer Information Control System)

Set of enterprise application servers with support for high-transaction workloads in a secure,
scalable, cost efficient environment. CICS applications are written in a variety of languages, from
Java to COBOL.

CICS Region

Named collection of resources that are controlled by CICS as a unit. A CICS resource is any facility
or component of a CICS system that is required to perform a task.

CICS TG (CICS Transaction Gateway)

Set of client and server software components that allow a remote client application to invoke
services in a CICS region. The client application can be either a Java application or a non-Java
application. The CICS TG is available through the following two products: CICS TG on z/OS and CICS
TG for Multiplatforms.

COMMAREA

Block of contiguous memory used to pass data between programs. It is the binary equivalent of a
COBOL structure and it is character-based.

ECI (External Call Interface)

Simple remote procedural call style interface, used for linking to CICS applications. The COMMAREA
or channel is the data interface used for the exchange of data between the client application and
the CICS.

JCA

Standard architecture for connecting the J2EE platform to heterogeneous Enterprise Information
Systems (EIS), such as CICS. The JCA 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.

## Add the Connector to a Studio Project

Anypoint Studio provides two ways to add the connector to your Studio project: from the Exchange
button in the Studio taskbar or from the Mule Palette view.

### Add the Connector Using Exchange

1.  In Studio, create a Mule project.

2.  Click the Exchange icon **(X)** in the upper-left of the Studio task bar.

3.  In Exchange, click **Login** and supply your Anypoint Platform username and password.

4.  In Exchange, search for "ctg".

5.  Select the connector and click **Add to project**.

6.  Follow the prompts to install the connector.

### Add the Connector in Studio

1.  In Studio, create a Mule project.

2.  In the Mule Palette view, click **(X) Search in Exchange**.

3.  In **Add Modules to Project**, type "ctg" in the search field.

4.  Click this connector’s name in **Available modules**.

5.  Click **Add**.

6.  Click **Finish**.

## Configure a Studio Project

1.  Drag a connector’s operation to the Studio canvas.

2.  Configure the Global Element for the connector:

    ![config connector](/mulesoft/current/en-us/ibm-ctg-connector/latest/_images/ibm-ctg-config-studio-1.png)

    <table><colgroup><col> <col></colgroup><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><p><strong>Required Libraries</strong></p></td><td><div><div><ul><li><p>ctgserver.jar (CTG Server Library)</p></li><li><p>cicsjee.jar (CICS JEE)</p></li><li><p>ccf2.jar (CICS Common Connector Framework)</p></li><li><p>ctgclient.jar (CTG Client Library)</p></li><li><p>geronimo-j2ee-connector_1.6_spec.jar</p></li></ul></div><div><p>Note: Use the JAR files that come bundled within the installation of the CTG server instead of downloading the SDK ZIP from IBM’s web site to ensure the compatibility between the connector and the CTG system.</p></div></div></td></tr><tr><td><p><strong>Host</strong></p></td><td><div><div><p>Enter the host name of the CICS TG.</p></div></div></td></tr><tr><td><p><strong>Port</strong></p></td><td><div><div><p>Enter the port on which the CICS TG is running. Default value is 2006.</p></div></div></td></tr><tr><td><p><strong>Server name</strong></p></td><td><div><div><p>Enter the name of the target CICS server as defined in the CICS TG configuration file. Optional.</p></div></div></td></tr><tr><td><p><strong>Username</strong></p></td><td><div><div><p>Enter the CICS user ID. Optional, if security is not enabled in the CICS region.</p></div></div></td></tr><tr><td><p><strong>Password</strong></p></td><td><div><div><p>Enter the password for the CICS user ID. Optional, if security is not enabled in the CICS region.</p></div></div></td></tr></tbody></table>

3.  To add the dependencies, select **Add dependency** and complete the fields.

    ![dependency connector](/mulesoft/current/en-us/ibm-ctg-connector/latest/_images/ibm-ctg-config-studio-2.png)

4.  Go to the **Additional Settings** tab and complete the configuration:

    ![config connector](/mulesoft/current/en-us/ibm-ctg-connector/latest/_images/ibm-ctg-config-advanced-studio.png)

    <table><colgroup><col> <col></colgroup><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><p><strong>Keystore location</strong></p></td><td><div><div><p>Enter the location of the keystore containing the certificates required for an SSL client. Optional.</p></div></div></td></tr><tr><td><p><strong>Keystore Password</strong></p></td><td><div><div><p>Enter the password required to access the keystore for an SSL client. Optional.</p></div></div></td></tr><tr><td><p><strong>Connection Timeout</strong></p></td><td><div><div><p>Enter the socket timeout for the client to CTG. Default value is 0 (no timeout).</p></div></div></td></tr><tr><td><p><strong>Response Timeout</strong></p></td><td><div><div><p>Enter the response timeout for the client to CTG. Default value is 30000 milliseconds (30 seconds). <strong>†</strong></p></div></div></td></tr><tr><td><p><strong>CTG Trace</strong></p></td><td><div><div><p>If set to <code>True</code>, enables all debug levels of CTG tracing. Default value is <code>False</code>.</p></div></div></td></tr></tbody></table>

    **†** **Response Timeout** is overridden by the `ecitimeout` parameter if configured on the
    server side. See [IBM ECI Timeout](https://www.ibm.com/docs/en/cics-tg-multi/9.0.0).

5.  Choose the operation.

    ![operations connector](/mulesoft/current/en-us/ibm-ctg-connector/latest/_images/ibm-ctg-operations.png)

    The IBM CTG connector supports the following two outbound operations:

    <table><colgroup><col> <col></colgroup><thead><tr><th>Name</th><th>Description</th></tr></thead><tbody><tr><td><p><strong>Execute</strong></p></td><td><div><div><p>Invokes a CICS program with data encapsulated as channels and containers.</p></div></div></td></tr><tr><td><p><strong>Execute using COMMAREA</strong></p></td><td><div><div><p>Invokes a CICS program with data encapsulated as a COMMAREA. Requests are limited to a maximum of 32 KB.</p></div></div></td></tr></tbody></table>

## POM File Information

```xml
<dependency>
  <groupId>com.mulesoft.connectors</groupId>
  <artifactId>mule-ibm-ctg-connector</artifactId>
  <version>x.x.x</version>
  <classifier>mule-plugin</classifier>
</dependency>
```

Replace `x.x.x` with the version that corresponds to the connector you are using.

To obtain the most up-to-date `pom.xml` file information, access the connector in
[Anypoint Exchange](https://www.mulesoft.com/exchange/) and click **Dependency Snippets**.

## Enable Logging for Requests and Responses

To enable logging of the interactions of the connector with IBM CTG, a logger must be configured in
the log4j2.xml file of the Mule app as follows. Put the AsyncLogger statement in the `Loggers` block
in the log4j2.xml file:

```xml
<AsyncLogger
	name="org.mule.modules.ibmctg.internal.service.CTGServiceImpl"
	level="DEBUG"/>
```

## Common Use Cases

- Invoke a COMMAREA program

- Invoke a channel program

- Invoke a COMMAREA or channel program inside a Transactional Scope

- Add custom metadata

> [!NOTE] To successfully run the first three use cases, the target CICS system must have the
> specified programs.

## See Also

- IBM’s
  [Developing Java applications for CICS](https://www.ibm.com/docs/en/cics-ts/5.3.0?topic=applications-developing-java-cics)

- High-level tutorial of JCA in
  [Introduction to the J2EE Connector Architecture](https://developer.ibm.com/languages/java/)

- [Redbooks for the IBM Mainframe](https://www.redbooks.ibm.com/domains/zsoftware)

- [Create Metadata](https://docs.mulesoft.com/studio/create-metadata-class-task)

- [IBM ECI Timeout](https://www.ibm.com/docs/en/cics-tg-multi/9.0.0)

- [Salesforce Help](https://help.salesforce.com)
