CICS事务网关-CTG原理及操作(三)

1.1.5 CTG的一些注意事项
1.CTG不支持从CICS端主动发出的访问请求。这里有个问题比较容易引起误解,就是CTG发送请求到CICS,CICS的返回信息可以正常返回给CTG,这种不是CICS主动发起的请求。
2.CTG不会做数据的转换,这个工作需要在应用程序或CICS中处理。

1.2 两种模式
CTG的有两种运行模式,这两种模式是根据CTG以及客户应用的拓扑结构来区分的。具体是哪种模式取决于客户应用程序的部署位置,分别为本地模式和远程模式。

1.本地模式(Local Mode,两层结构)
在本地模式下,客户应用程序与安装CTG的server为同一台机器。在客户应用程序对CICS发送请求的时候,不需要经过网关守护程序,而是直接发送到CICS端,因此,整个体系架构可以看作两层的结构。这种模式下,根本无需启动网关守护程序,对CICS的请求直接发送到客户端守护程序。
在客户应用程序中的ECI请求中仍需要指定URL参数为local,即ConnectionURL = “local://” 和PortNumber = 0。

2.    远程模式(Remote Mode,三层结构)
在远程模式下,客户应用程序与安装CTG的server为不同的机器,甚至不同的系统平台。在这种模式下,必须要配置并且启动网关守护程序,网关守护程序介于客户应用程序和CICS之间,整体构成三层的结构。
在客户应用程序的ECI请求中需要指定URL参数为CTG所在机器的IP地址,即ConnectionURL = “XXX.XXX.XXX.XXX” 和PortNumber = XXX。

从另外一个角度对两种模式的诠释,见下图:
图像 1.3 CTG连接到CICS实例
1.配置CICS region
1. Set the SIT parameter TCPIP=YES.
2. Install the following:
–    CICS-supplied transient data queue CIEO, in group DFHDCTG
–    Transaction CIEP in group DFHIPECI
–    Program DFHIEP in group DFHIPECI
3. Add a TCP/IP listener to CICS. Use the following CEDA command to define a TCPIPSERVICE in a group:
–    CEDA DEF TCPIPSERVICE(service-name) GROUP(group-name)
4. Use the following command to install the TCPIPSERVICE definition:
–    CEDA INS TCPIPSERVICE(service-name) GROUP(group-name)

阅读更多

CICS事务网关-CTG原理及操作(二)

配置客户端守护程序界面,如下图所示:


选中“启用协议处理程序”就能使图示的网关守护程序生效。
其中重要的几个参数描述如下:
(1)绑定地址:如果在此处指定某IP或主机名,就可以将协议处理程序绑定到上面指定的值;如果需要将协议处理程序绑定到任意地址,可以把此处留空不填。
(2)端口:安装CTG的服务器对外开放的CTG端口,默认为2006。

1.1.3 CTG编程接口
由于分布式系统架构的多样性,CTG支持一下三种连接方式:

1.    External Call Interface (ECI) 外部访问接口
ECI是简单的RPC式访问接口,用来调用(LINK) CICS中的应用程序,可以使用COMMAREA或channel作为数据接口,用于客户应用程序和CICS之间的数据交换。
CICS将此种类型的访问看成是一种分布式程序调用(DPL : distributed program link )。客户端发来的请求由一个镜像交易CPMI进行处理,然后进一步调用到目标应用程序。
2.    External Presentation Interface (EPI) 外部表现接口
EPI被用来调用基于3270终端的交易。使用这种接口时,CICS上面会自动安装一个虚拟的终端,此终端受CTG的控制,并且CICS将客户端发来的请求运行在这个虚拟终端上。这种接口只支持SNA协议。

阅读更多

CICS事务网关-CTG原理及操作(一)

1.1 什么是CTG
1.1.1 概述
CICS系统是IBM大型机上的重要的交易处理系统,并且由于大型机的特殊性,导致CICS的已有应用程序对分布式平台开放不够,难以重用以往的应用程序。因此,CICS与分布式系统的交互,即外界如何访问CICS传统应用,成为一个重要的课题。
而CTG(CICS Transaction gateway,以下简称为CTG),CICS交易网关,是分布式平台连接到CICS的首选工具,它具有高性能,高安全性,高可扩展性等特性。
CTG与CICS的连接属于直接相连的方式,几乎不用修改CICS的已有应用,即可被外界访问。Web Services 同样可以实现与CICS的连接,但是相比于Web Services,CTG有以下优势:
(1)没有复杂的标准,技术相对成熟。
(2)利用已有的应用程序接口,很少需要对CICS程序进行修改。
本文中实例所使用的CICS Transaction Gateway软件为V7.2 for Windows版本。

1.1.2 CTG结构图

阅读更多

LINUX排除cicstg 配置工具ctgcfg启动时的报错

晚上,在虚拟机设置好ibm jdk的运行环境后,尝试启动ctg的配置工具,在shell命令符执行ctgcfg命令报错,提示找不到相关的so文件,循着报错信息,一路排查,一路尝试,最后终于解决问题,终于成功启动ctgcfg配置工具窗口,下面为排障过程,重点地方,会用红色字体标注。。

[root@ibmtest ~]# cd /opt/ibm/cicstg
[root@ibmtest cicstg]# ls
bin deployable installlogs lib msgs readme.html sdk wlp
classes icons installResponseSamp.txt lib64 product.xml readme.txt uninstall91
copybook include jvm170 license properties samples uninstallResponseSamp.txt

[root@ibmtest bin]# ./ctgcfg
CTG8801I CTGCFG – CICS Transaction Gateway 配置工具启动程序
CCL0002I (C) Copyright IBM Corporation 2002, 2014. All rights reserved.
java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
at java.lang.reflect.Method.invoke(Method.java:620)
at com.ibm.ctg.util.CTGLaunch.loadClass(Unknown Source)
at com.ibm.ctg.util.CTGLaunch.main(Unknown Source)
Caused by: java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:222)
at java.awt.Window.<init>(Window.java:547)
at java.awt.Frame.<init>(Frame.java:432)
at javax.swing.JFrame.<init>(JFrame.java:236)
at com.ibm.ccl.iface.ConfigTool.main(Unknown Source)
… 6 more
CTG6121E 找不到 Java 运行时类

阅读更多