点击这里下载 - 同济大学软件学院

Download Report

Transcript 点击这里下载 - 同济大学软件学院

大型主机应用上的开放系统和中间件
2011年度教育部-IBM精品课程
同济大学软件学院
唐剑锋
[email protected]
第9章 应用CTG实现J2EE应用与CICS互连的案例分析
9.1测试CTG与CICS服务器的连接


1.得到CTG的安装软件。可以从以下地址得到CTG的安装软件(需用户名
和密码):
http://www.ibm.com/developerworks/university/software/get_sof
tware.html。
在本章的样例中,我们使用CTG V7.2,并使用CTG的Windows版本。
2.设置Windows用户环境变量。添加CICSCLI,值为CTG
HOME\bin\ctg.ini,在本章基于的系统中,CICSCLI的值为:
C:\Program Files\IBM\CICS Transaction Gateway\bin\ctg.ini。如
下图9-1所示:
图9-1 设置CICSCLI环境变量
注:ctg.ini是一个配置文件。当CTG安装好后并不存在,但是当用户
使用安装好后在Windows开始菜单出现的CTG配置工具进行CTG配置并保
存时,ctg.ini就自动生成在上述路径的bin目录中,并且所有配置信
息都加到ctg.ini中。
或者我们也可以在上述路径的bin目录中手工创建一个空的ctg.ini文
件,后续打开CTG配置工具配置后同样将所有配置信息都加到ctg.ini
中。

3.在Windows开始菜单中找到CTG配置工具并打开。
注:如果CTG配置工具无法正常打开,并得到一个“Can’t find JVM”错
误,那么在dos命令行运行如下命令对CTG配置工具进行设置:
ctgjava -s=“CTG_HOME\jvm15\bin”。
在本章基于的系统中,我们用:
ctgjava -s=" C:\Program Files\IBM\CICS Transaction
Gateway\jvm15\bin"。

4.创建一个CICS Server。创建CICS Server的样例图如下图9-2所示:
图9-2 创建CICS Server的样例图

其中我们需要填写或选择的是:服务器名称,网络协议,主机名或IP地址和端口号。
– 服务器名称:CICS服务器连接用的名称,名称可任意,在我们的样例中填的是CTGTEST1。
– 网络协议:与CICS服务器进行通信时的协议,在我们的样例中选的是TCP/IP。
– 主机名或IP地址:CICS服务器监听的z/OS系统的主机名或IP地址,在我们的样例中填的是
10.60.37.130。
– 端口号:基于TCP/IP服务的ECI所监听的端口号,在我们的样例中填的是9031。

注意在学生分组做练习时,此处每个人的端口号必须是唯一的,否则会发生端口冲突
的情况。

5.在Gateway守护程序部分配置TCP。这将用于CTG远程连接模式。样例
图如下图9-3所示:
图9-3 在Gateway守护程序部分配置TCP



在上图中,首先点击启用协议处理程序多选框,然后填写端口号,此
处填2035。其他设置用缺省。
注意在学生分组做练习时,此处每个人的端口号必须是唯一的,否则
会发生端口冲突的情况。
不过需要指出的是,本书后续的练习将CTG远程连接模式省略,只论述
CTG的本地连接模式。





6在文件菜单上面选择“保存”,将上述设置保存到ctg.ini文件中。
7.登录CICS Region,假定之前组TJD0211已经创建好,运行如下命令
创建一个TCPIPSERVICE资源:
CEDA DEF TCPIPS(CYG211) GROUP(TJD0211)
注意:
(1)组的名称和TSO用户名相同;
(2)TCPIPSERVICE的名称CYG211后三位和其对应的TSO用户名TJD0211
的后三位相同。
这些都是为了方便实现读者或学生分组做练习所约定的规则。
运行以上命令后,还需要进到CYG211中进行如下设置(部分)。其中粗
体项表示必填参数。




注意:
(1)此处TCPIPSERVICE中的POrtnumber必须是可用的(即没有其他应
用占用该端口),且与CTG配置工具中CICS服务器CTGTEST1的端口号相
一致。
(2)此处TCPIPSERVICE中的PROtocol必须设置成Eci。
(3)特别要注意的是:TCPIPSERVICE的attachsec属性缺省为verify,
此处应该改成local,否则在后续的9.2和9.3练习中最后将得不到预想
的结果。




8.安装并检查TCPIPSERVICE。
在CICS Region里输入如下命令安装TCPIPSERVICE:
CEDA INS TCPIPSERVICE(CYG211) G(TJD0211)
在CICS Region里输入如下命令检查TCPIPSERVICE的使用情况:
CEMT I TCPIPSERVICE(CYG211)
结果如下:
– 其中Con(0000)表示现在还没有连接连到TCPIPSERVICE资源。

9.启动CICS服务器。在dos命令行运行如下命令启动CICS服务器:
cicscli -s=CTGTEST1
运行结果如下:
在dos命令行运行命令cicscli -l 查看CICS服务器CTGTEST1的启动情况:
其中最后一行的“可用”表示CTG已经连接到了CICS。




以下是dos命令行环境下停止CICS服务器的命令:
cicscli -x=CTGTEST1
以下是dos命令行环境下重启客户机守护程序的命令,在CTG配置工具
对配置进行更改时(也即ctg.ini文件发生改变时)需要使用:
cicscli -j
10.在CICS Region里再次运行CEMT I TCPIPSERVICE(CYG211),可以看
到Con变成了0001,表示CTG的一个连接已经连到了CICS。
11.如果以上的第9步发生错误,可以打开C:\Program Files\IBM\CICS
Transaction Gateway\bin\cicscli.log查看错误发生的细节,从而找
出问题所在。
– 注意cicscli.log的最新条目在文件的最下部。

至此,CTG与CICS服务器的一个连接已经建立起来了。
9.2 使用CTG实现Java客户端应用程序与CICS的互连




1.启动一个IDE工具来开发Java客户端应用程序,在本书中我们使用的
是RAD(Rational Application Developer) 8.0。
2.在RAD 8.0中创建一个新的Java Project CTGdemo。过程略。
3.在Java Project CTGdemo 中的src目录下创建一个包
com.ibm.ctg.samples.eci。过程略。
4.在包com.ibm.ctg.samples.eci中导入一个类CTGdemo.java(或者从
头编写)。
CTGDemo.java
的代码如右所示(1):
CTGDemo.java
的代码如右所示(2):
CTGDemo.java
的代码如右所示(3):
CTGDemo.java
的代码如右所示(4):
CTGDemo.java
的代码如右所示(5):
CTGDemo.java
的代码如右所示(6):
CTGDemo.java
的代码如右所示(7):
CTGDemo.java
的代码如右所示(8):
CTGDemo.java
的代码如右所示(9):


上述程序的功能非常简单:系统首先显示定义好的所有CICS服务器,
用户选择一个服务器,按回车后发送ECI Request给主机端,主机端反
馈当前的日期和时间给客户端。
注意:
(1)类CTGdemo.java中strProgram="EC211"中的EC211后三位和其对
应的TSO用户名TJD0211的后三位相同。这些都是为了方便实现读者或
学生分组做练习所约定的规则。
(2)类CTGdemo.java中的strProgram="EC211"是写死在程序里的,这
必须与后续第12步中主机源程序中PROGRAM的名字相一致。
(3)类CTGdemo.java中的int iPort = 2035;中的2035必须与9.1中第
5步中配置的端口号相同。


5.在包com.ibm.ctg.samples.eci中导入另一个类EBCDICtoASCII.java
(或者从头编写),由于EBCDICtoASCII.java不是本练习所要表达的
核心内容,限于篇幅,在此略去代码。
6.此时可以看到CTGdemo.java中有很多错误,解决方案是:
右击Java Project CTGdemo,选中“属性”。在弹出框的左侧选中
“Java构建路径”,在右侧选中“库”。如下图9-4所示:
图9-4 解决CTGdemo.java中错误的步骤图

7.点击“添加外部Jar”按钮,寻找与本练习相关的两个jar文件
ctgclient.jar和ctgserver.jar,这两个文件在C:\Program
Files\IBM\CICS Transaction Gateway\classes目录下,选择该目录
后,系统出现如下对话框,如下图9-5所示:
图9-5解决CTGdemo.java中错误的步骤图(2)



8.选择ctgclient.jar和ctgserver.jar,点击“打开”按钮后,“构
建路径中的JAR和类文件夹”便出现了这两个jar文件。图略。
9.继续点击“确定”按钮后,CTGdemo.java中的所有错误都消失了。
自此,Java客户端的程序已经开发完毕。
10.下面要在主机环境中开发服务端程序。在本课程基于的系统中,服
务端程序存放于TJD0211.CICS.SOURCE(EC211)中,假定
TJD0211.CICS.SOURCE数据集都已经事先建立好。
EC211的源代码
如右所示(1):
EC211的源代码
如右所示(2):
EC211的源代码
如右所示(3):

上述程序的功能非常简单:主机端接受用户对CICS服务器的选
择和ECI Request请求,反馈当前的日期和时间给客户端。




11.翻译、编译、链接上述源代码的JCL代码同前面第6章中CICS翻译、
COBOL编译、链接COBOL+CICS程序的JCL非常类似,仅仅需要将有
C0O11T1的地方替换成EC211,故在此略。
12.提交上一步的JCL成功(MAXCC<=4表示提交成功)后,在CICS
Region里输入如下命令定义PROGRAM资源:
CEDA DEF PROGRAM(EC211) G(TJD0211)
13.在CICS Region里输入如下命令安装PROGRAM资源:
CEDA INS PROGRAM(EC211) G(TJD0211)
自此,主机端的程序已经开发完毕,并在CICS Region里定义和安装完
毕。

14.此时可以测试Java应用程序了。注意本书仅测试本地模式,远程模
式略。点中CTGdemo.java,点击菜单:运行-〉运行方式-〉Java应用
程序,如下图9-6所示:
图9-6 运行CTGdemo.java应用程序

15.系统出现如右图
9-7所示的程序界面:
图9-7 CTGdemo.java应用程序界面

16.在Choose Server to connect to, or q to quit:下面输入1,选
择名为LOCAL的CICS服务器,按回车,系统反馈如下图9-8所示的日期
和时间:
图9-8 CTGdemo.java应用程序运行结果

自此,我们完成了使用CTG实现Java客户端应用程序与CICS的互连的全
部练习步骤。
9.3 使用CTG实现WAS应用程序与CICS的互连


1.安装WebSphere Application Server V7.0 for Windows,本书用的
是中文版。安装步骤略。
2.启动WAS服务器,如下图9-9所示:
图9-9 WAS服务器的启动

这需要几分钟的时间将WAS服务器启动起来。

3.WAS服务器启动起来以后,可以打开WAS管理控制台了,如下图9-10所示:
图9-10 打开WAS管理控制台

4.如果一切正常,将显示下图9-11所示的登录界面(假定WAS安装时没有选择用
户名和密码项):
图9-11 WAS登录界面

5.在用户标识随意输入一个用户名(在此不要求做用户名和密码的验证),点击
“登录”按钮进入下一步。

6.创建资源适配器。资源适配器是一个定义在J2EE连接器架构(JCA)规
范中的归档文件的格式。点击:资源-〉资源适配器-〉资源适配器,
如下图9-12所示:
图9-12 在WAS中创建资源适配器(1)

7.点击“安装RAR”按钮,选择“本地文件系统”,点击“浏览”按钮,
选择资源适配器所在的路径:C:\Program Files\IBM\CICS
Transaction Gateway\deployable \cicseci.rar,如下图9-13所示:
图9-13 在WAS中创建资源适配器(2)

8.点击“下一步”按钮,再点击“确认”按钮保存,选择保存到主配
置。自此,资源适配器已经被安装起来。如下图9-14所示:
图9-14 在WAS中创建资源适配器(3)


9.创建J2C连接工厂。我们将为J2C资源适配器在服务器配置中增加一
个连接工厂。连接工厂提供到企业信息系统(EIS)的连接。
点击我们刚刚创建好的ECIResourceAdapter,再在右侧“其他属性”
中点击 “J2C 连接工厂”,如下图9-15所示(部分):
图9-15 WAS中的ECIResourceAdapter界面

10.出来新页面后,点击“新建”按钮,在如下的页面中输入“名称”
和“JNDI名称”的值,如下图9-16所示(部分)。其中Java命名和目录
接口(JNDI)是Java平台的一部分,它提供基于Java技术的应用程序
到多个命名和目录服务的一个统一接口。
图9-16 新建JNDI

11.点击“确定”按钮保存,选择保存到主配置,结果如下图9-17所示
(部分):
图9-17 新建JNDI的结果

以上为WAS应用程序与CICS的互连配置了本地模式,远程模式在此略。

12.下面配置本地模式的J2C连接工厂con1。点击con1,然后在右侧
“其他属性”中点击 “定制属性”。如下图9-18所示(部分):
图9-18 配置J2C连接工厂

13.在ConnectionURL、PortNumber和ServerName中分别输入如下图919界面中的值:
图9-19 设置J2C连接工厂con1的参数值




14.设置完成后,选择保存到主配置。
需要注意的是,资源相关的信息发生改动后,WAS服务器必须重启来使
得更改生效,因此在此必须首先停止WAS服务器,再启动WAS服务器。
步骤略。
自此,本地模式的J2C连接工厂配置完毕。
15.下面介绍使用RAD来编写本系统要用到的JSP和Servlet代码。
本系统主要涉及的三个文件分别是index.jsp,BeesCTGServlet2.java
和BeesCTGSuccess.jsp。其中index.jsp显示系统的主界面,
BeesCTGServlet2.java是实现程序主处理逻辑的Servlet,
BeesCTGSuccess.jsp将最后响应的结果展示给用户。
我们假定读者具有一定的J2EE程序的开发基础,知道如何在RAD中编写
JSP和Servlet代码。
JSP index.jsp
的代码如右所示:
Servlet
BeesCTGServlet2.jav
a的代码如右所示(1):
Servlet
BeesCTGServlet2.jav
a的代码如右所示(2):
Servlet
BeesCTGServlet2.jav
a的代码如右所示(3):
Servlet
BeesCTGServlet2.jav
a的代码如右所示(4):
Servlet
BeesCTGServlet2.jav
a的代码如右所示(5):
Servlet
BeesCTGServlet2.jav
a的代码如右所示(6):
Servlet
BeesCTGServlet2.jav
a的代码如右所示(7):
Servlet
BeesCTGServlet2.jav
a的代码如右所示(8):
Servlet
BeesCTGServlet2.jav
a的代码如右所示(9):

JSP的界面效果和Servlet的程序逻辑见下面的练习步骤。

注意:
(1)上述BeesCTGServlet2.java代码中,getConnection()函数在源代码中有实
现,其目的就是为了取得WAS到CICS的连接。而真正发送ECI Request请求的函数
是handleCommareaInteraction(inputData)。从handleCommareaInteraction函
数中我们可以看出其主要作用就是为了组装ECI Request请求,同时将COMMAREA
作为参数写入ECI Request请求中。
(2)上述BeesCTGServlet2.java代码中,linkProg = “VSAM211 ”中的VSAM211后
三位和其对应的TSO用户名TJD0211的后三位相同,这些都是为了方便实现读者或
学生分组做练习所约定的规则。并且此处的VSAM211必须与后续第40步中主机端C
程序的程序名以及第42步中CICS Region里定义的PROGRAM的名称相同。
(3)在这个CTG的练习中,没有用到EJB,只是用到了Servlet,通过前端网页接
受数据,然后将数据封装成ECI request直接通过CTG发送给CICS Region。
如果在这中间不是单纯的用Servlet,而是加上了EJB的话,其实最终的原理还是
相同,也是通过Servlet将ECI request通过CTG发送给CICS region。而EJB的作
用就是为了更好地管理Servlet,属于J2EE范畴,和后台对COMMAREA的处理没有
关系。
(4)除了开发BeesCTGServlet2.java外,本练习还会用到BeesCTGError.jsp,
BeesCTGStack.jsp和JavaStringRecord.java。但由于这三个文件都不是本练习
所要表达的核心内容,限于篇幅,在此略去代码。
BeesCTGSuccess.jsp的
代码如右所示:


16.此时BeesCTGServlet2.java会有很多错误,要解决这些错误,我们
需要在BeesCTGServletWeb Project属性中的“Java构建路径”中的
“库”标签中导入外部JAR文件cicsj2ee.jar和j2ee.jar,具体导入步
骤同9.2中第6-9步的步骤相同。在此略。
注意:
(1)当本课程基于的CICS Transaction Gateway 7.2安装好以后,我
们可以在C:\Program Files\IBM\CICS Transaction Gateway\classes
找到cicsj2ee.jar文件。
(2)当本课程基于的RAD8.0安装好以后,我们可以在C:\Program
Files\IBM\SDP\runtimes\base_v8_stub\lib\下找到j2ee.jar文件。


17.上述代码编写好并作相应的设置以后,由 RAD打包生成
BeesCTGServlet.ear。步骤略。
自此,Java客户端程序已经编写完毕。
18.下面在WAS上安装上一步打好包的程序BeesCTGServlet.ear。打开:
应用程序-〉应用程序类型,点击“WebSphere 企业应用程序”,出现
如下图9-20所示的界面:
图9-20 WebSphere 企业应用程序页面

19.点击“安装”按钮,出现如下图9-21所示的界面,采用下图的缺省
设置,点击“浏览”按钮,选择要安装的BeesCTGServlet.ear文件,
该BeesCTGServlet.ear文件由前面第17步生成。
图9-21 安装BeesCTGServlet.ear文件(1)

20.接下来的安装步骤比较简单,基本上每一步均用缺省设置,其中步
骤3: 将资源引用映射至资源需要做些设置,页面如下图9-22所示:
图9-22 安装BeesCTGServlet.ear文件(2)


21.点击“浏览”按钮,选择之前配置好的J2C连接工厂con1。安装完
成后保存到主配置。图略。
22. BeesCTGServlet.ear安装完毕后,BeesCTGServlet程序还没有启
动,如下图9-23所示:
图9-23 BeesCTGServlet.ear文件安装完毕的界面


23.选中BeesCTGServlet左侧的复选框,点击“启动”按钮启动该程序,
图略。
自此,WAS客户端程序安装完成并启动。
24.接下来需要配置CTG的本地模式。参考前面的练习,界面如下图924所示:
图9-24 配置CTG的本地模式




25.为CTG的CICS服务器定义并安装TCPIPSERVICE。
在CICS Region里运行如下命令定义TCPIPSERVICE:
CEDA DEF TCPIPS(CTG211) GROUP(TJD0211)
运行以上命令后,还需要进到CYG211中进行如下设置(部分)。其中粗体的表示
必填参数。
注意:
(1)此处TCPIPSERVICE中的POrtnumber必须是可用的(即没有其他应用占用该
端口),且与CTG配置工具中CICS服务器LOCAL的端口号相一致。
(2)此处TCPIPSERVICE中的PROtocol必须设置成Eci。
(3)特别要注意的是:TCPIPSERVICE的attachsec属性缺省为verify,此处应
该改成local,否则在本节练习中最后将得不到预想的结果。
在CICS Region里运行如下命令安装TCPIPSERVICE:
CEDA INS TCPIPSERVICE(CYG211) G(TJD0211)

26.可以在CICS Region里运行如下命令查看TCPIPSERVICE的安装情况:
CEMT I TCPIPS(CTG211)
结果如下:
自此,CICS服务器和TCPIPSERVICE都定义并安装完毕。


27.下面在主机端定义VSAM数据集TJD0211.CTG.ACCOUNT并导入数据的
JCL如下(代码见下两页):
28.在主机端定义VSAM数据集TJD0211.CTG.USERINFO并导入数据的JCL
如下(代码见接下来的两页) :
VSAM数据集
TJD0211.CTG.ACCOUNT的
定义及数据导入(1)
VSAM数据集
TJD0211.CTG.ACCOUNT的
定义及数据导入(2)
VSAM数据集
TJD0211.CTG.USERINFO的
定义及数据导入(1)
VSAM数据集
TJD0211.CTG.USERINFO的
定义及数据导入(2)

29.在DITTO中查看VSAM数据集TJD0211.CTG.ACCOUNT的内容。用
TJD0211登录z/OS后,在ISPF主菜单输入M.7,然后选择:1. Browse
data–〉3. VSAM data,如下图9-25所示:
图9-25 查看VSAM数据集的内容(1)

30.在Data set name处输入要查看的VSAM数据集的名称,CI access用
缺省的NO,如下图9-26所示:
图9-26 查看VSAM数据集的内容(2)

31.按回车,可以看到VSAM数据集TJD0211.CTG.ACCOUNT的内容如下图
9-27所示:
图9-27 查看VSAM数据集的内容(3)


32.查看VSAM数据集TJD0211.CTG.USERINFO内容的方法和前面
TJD0211.CTG.ACCOUNT的相同,故略。
自此,主程序中要用到的两个VSAM数据集都建立起来并导入了数据。


33.在CICS服务端定义VSAM FILE ACT211。
在CICS Region里输入如下命令:
CEDA DEF FILE(ACT211) G(TJD0211)
定义好以后,需要修改VSAM FILE ACT211的部分属性,如下所示,其
中粗体的表示必填项。


34.在CICS Region里安装VSAM FILE ACT211。
在CICS Region里输入如下命令:
CEDA INS FILE(ACT211) G(TJD0211)
35.在CICS Region里运行如下命令将ACT211打开:
CEMT I FILE(ACT211)
结果如下:
将Clo替换成Ope,回车,将VSAM数据集ACT211打开。


36.在CICS服务端定义VSAM FILE USR211。
在CICS Region里输入如下命令:
CEDA DEF FILE(USR211) G(TJD0211)
定义好以后,需要修改VSAM FILE USR211的部分属性,如下所示,其
中粗体的表示必填项。


37.在CICS Region里安装VSAM FILE USR211。
在CICS Region里输入如下命令:
CEDA INS FILE(USR211) G(TJD0211)
38.在CICS Region里运行如下命令将USR211打开:
CEMT I FILE(USR211)
结果如下:
将Clo替换成Ope,回车,将VSAM FILE USR211打开。






39.上述两个VSAM FILE定义好之后,还需要做一件重要的工作。因为
CICS 没有访问上述两个VSAM数据集的权限,也即CICS 内部用户
START2对TJD0211.CTG.ACCOUNT 和TJD0211.CTG.USERINFO只有NONE权
限而没有UPDATE权限,需要对上述两个VSAM数据集(此处用Generic数
据集的形式如:TJD0211.**)赋予权限。
授权方法如下:
用管理员P390用户登录z/OS,在ISPF主菜单输入6,进入ISPF Command
Shell界面,提交如下语句进行上述授权:
授权以后,在ISPF Command Shell界面输入:LD DA('TJD0211.**')
ALL 查看授权的情况。
自此,CICS Region里的两个VSAM FILE建立、安装好并授予了权限。
40.下一步需要在主机端编写C程序TJD0211.CICS.SOURCE(VSAM211)。
该程序由C+CICS+VSAM组成,实现了查询账户余额、向账户中存款、到
账户中取款三大功能,由主函数、查询余额函数、存款函数和取款函
数四个函数组成。
TJD0211.CICS.SOURCE(V
SAM211)的代码如右所示
(1):
TJD0211.CICS.SOURCE(V
SAM211)的代码如右所示
(2):
TJD0211.CICS.SOURCE(V
SAM211)的代码如右所示
(3):
TJD0211.CICS.SOURCE(V
SAM211)的代码如右所示
(4):
TJD0211.CICS.SOURCE(V
SAM211)的代码如右所示
(5):
TJD0211.CICS.SOURCE(V
SAM211)的代码如右所示
(6):
TJD0211.CICS.SOURCE(V
SAM211)的代码如右所示
(7):
TJD0211.CICS.SOURCE(V
SAM211)的代码如右所示
(8):
TJD0211.CICS.SOURCE(V
SAM211)的代码如右所示
(9):

注意:
(1)上述程序用的开发语言是C而不是COBOL,其实要想实现使用CTG
实现WAS应用程序与CICS的互连,在主机端具体采用哪一个编程语言是
没有关系的,不管是COBOL还是C,都可以接受COMMAREA信息,区别只
是,COBOL中叫做DFHCOMMAREA,而C中是用以下语句实现:
其中ctg_input这个结构就是COMMAREA。
(2)上述程序中有四处char file_account??(8??) = "ACT211 ";,
有一处char file_userinfo??(8??) = "USR211 ";。其中的ACT211和
USR211必须分别与前面第33步和第36步中定义的VSAM FILE的名称相同。

41.翻译、编译、链接上述C+CICS+VSAM程序的JCL如下:

其中该JCL要用到的过程CICSTS23.CICS.SDFHPROC(DFHYITDL)的代码略。




42.提交第41步中的JCL成功(MAXCC<=4)后,在CICS Region里定义并
且安装CICS服务端处理程序 VSAM211。
在CICS Region里输入如下命令定义VSAM211:
CEDA DEF PROG(VSAM211) G(TJD0211)
在CICS Region里输入如下命令安装VSAM211:
CEDA INS PROG(VSAM211) G(TJD0211)
自此,主机端的C程序编写、提交成功并在CICS Region里定义和安装
成功。
43.下面用本地模式启动CTG服务器,在dos环境下操作如下:



44.现在可以在Web端测试我们之前编写的客户端JSP、Servlet程序和
主机端的C程序了。
在Web浏览器中输入以下URL(如果9080端口被占用,可以尝试用9081端
口):
http://localhost:9080/BeesCTGServletWeb/
如果一切正常,Web浏览器将显示如下图9-28所示的JSP页面:
图9-28 客户端JSP页面

45.测试程序功能。在Operation Type处选择Query,Username处输入
STUEAA1,Money处留空,点击“Commit”按钮,如果一切运行正常,
系统将出现如下图9-29所示的结果界面,表示整个程序运行成功:
图9-29 结果页面


46.上述演示了账户余额查询功能,存款和取款的功能演示略。
自此,我们完成了使用CTG实现WAS应用程序与CICS的互连的全部练习
步骤。