




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大型主机应用上的开放系统和中间件 第8章应用CTG实现J2EE应用与CICS的互连 8 1为什么要使用CTG CICSTransactionGateway 简称CTG 相比于CICSWebSupport的IP直连方式 提供了EIS适配器机制 使得不同平台上的应用可以通过适配器彼此之间进行通信 适配器可以做不同应用间的数据转换 这就比IP直连的方式提供了更大的灵活性 适配器的使用可以最大限度地屏蔽掉不同应用之间通讯接口的差异 用户不需要像CICSWebSupport那样需要自己来处理通讯间的请求 CWS中用户必须在主机端的应用中加上对协议请求的处理 应用CTG提供的EIS适配器和JCA架构 用户可以在不对已有系统做任何改动的情况下 实现J2EE应用与CICS应用的互操作 8 2CICSTransactionGateway中的基本组件 CICSTransactionGateway是一组客户端和服务端的软件 Java应用程序可以通过CTG对远端的CICS应用进行调用 Java应用程序可以是普通的Java应用 Applet 或者是J2EE的应用 CICSTransactionGateway主要包含以下组件 1 Gateway守护程序 GatewayDaemon Gateway守护程序是CTG中一个长时间运行的进程 它负责在指定的TCP IP的端口监听Java端的应用 比如J2EE应用 对CTG的请求 CTG支持四种不同的CTG网络协议 TCP SSL HTTP和HTTPS 2 客户机守护程序 ClientDaemon 客户机守护程序是CTG运行在分布式平台上的组件 它提供了分布式平台上的客户端到CICS服务器的连接 在分布式平台上它支持如下几种方式的连接 1 APPC连接 SNA 提供了从分布式平台客户端到所有平台上的CICS服务器的连接 2 TCP62连接 LU6 2 IP 提供了分布式平台客户端到如下平台的CICS服务器的连接 CICS ESAV4 1 CICSTSV1 2 OS 390 CICSTSV1 3 OS 390 CICSTS z OSV2 3 TCP IP连接提供了分布式平台的客户端到如下CICS服务器的连接 CICSTS z OSv2 2 CICSTS VSE ESAV1 1 1 TXSeriesCICS AIX SunSolaris WindowsNT HP UX CICSTSOS 2 3 配置工具CTG提供了一个配置工具 可以运行在任何分布式平台上 用于对Gateway守护程序和客户端守护程序进行配置 这些配置信息被存放在ctg ini文件中 下图8 1为配置工具的JavaGUI操作界面 4 Java类库应用程序使用的Java类 被用来调用连结的CICS服务器上的服务 图8 1 CTG配置工具界面 8 3CICSTransactionGateway接口 CICSTransactionGateway主要提供两种编程接口的支持 ExternalCallInterface ECI 和ExternalPresentationInterface EPI ECI提供到基于COMMAREA的CICS程序的调用接口 EPI则提供了调用基于3270的CICS程序的API 8 3 1ExternalCallInterface ECI接口主要用来调用基于COMMAREA的CICS服务器上的应用程序 COMMAREA是作为一个缓冲区用来在客户端和CICS服务器之间传递数据 对于CICSServer来讲ECI客户端的请求调用可以看作是CICS中分布式程序的调用 DPL ECI的调用是现在绝大多数CTG应用所采纳的方式 因为它可以直接访问CICS中应用程序的接口 相对来说实现方式较为简便 便于维护 本章基于JCA架构的应用实现就是基于ECI的调用实现 ECI的请求调用主要可以用如下两种Java接口实现 1 ECIRequestJavaClass 它是CTG提供的基础类库 实现了直接通过ECI调用的简单接口 用来调用基于COMMAREA的CICS的应用程序 2 CommonClientInterface CCI 它是J2EEConnectorArchitecture中提供的符合J2EE标准的接口 CCI中提供了一组标准的Java类 用于J2EE到各种EIS系统的连接 包括CICS Java应用程序通过CCI接口同ECI适配器进行通信 由ECI适配器去调用CICS服务器中的应用程序 JCA中CCI的调用示意图如下图8 2所示 8 3 2ExternalPresentationInterface EPI主要用来调用基于3270的Transaction 3270的终端显示层逻辑安装在CICS中 例如MAPSET EPI的请求使得CICS将此请求视为对终端的操作请求 就像在执行基于MAPSET的CICS应用一样 由于EPI的请求是基于3270终端的 表现层逻辑 构建起来较为复杂 而且由于EPI是完全基于表现层的调用 如果表现层的逻辑稍加改动 比如说改变一下跳转的页面 或者屏幕的操作方式有些改动 就不得不重新改动Java的代码 维护起来不是十分的方便 现在通常都是将核心的实现业务流程的程序同表现层分离出来 如果先前它们是混杂在一起的 再通过ECI的方式调用 EPI请求主要可以采用如下四种Java接口实现 1 EPIRequestJava类 CTG产品自带的一组Java类的接口 用来调用基于3270的CICSTransaction 由于它是较为底层的接口 现在已经不常使用 2 EPI支持类 提供调用3270应用的高级接口 它提供了一些模拟3270终端操作的一些类 例如 AID键 MAP中的域数据 屏幕操作 MAP等 调用这些类其实就在模拟3270终端的操作动作 比如按什么键 输入什么数据之类 它会返回3270的响应 由于实现复杂 现在也不经常使用 3 EPIBean 基于EPI支持类和JavaBean的开发环境 可以通过可视化的图形界面工具来开发EPI应用 4 CCI接口 类似ECI中的CCI接口的功能 它同EPI适配器进行通讯 通过EPI适配器同CICS中的3270Transaction应用进行通信 8 4TCP IP到CICS的连接8 4 1TCP IP在CICS中的定义 针对于ECI TCPIPSERVICE在CICS中的定义 对比于CWS中TCPIPSERVICE的定义 这里的PROtocol为ECI Transaction为CIEP 它负责处理ECI的请求 TCPIPSERVICE的定义如下图8 3所示 图8 3 ECITCPIPSERVICE的定义 8 4 2TCP IP在CTG中的定义 我们使用CTG配置工具来定义TCP IP通讯 配置工具会将配置信息存放到ctg ini文件中 它主要记录三种信息 GatewayDaemon ClientDaemon和ClientDaemon中CICSServer的配置信息 Gatewaydaemon的配置信息如下 其中2006为GatewayDaemon监听TCP IP请求的端口 ClientDaemon的配置信息如下 ClientDaemon中CICSServer的配置信息如下 这里指定了ClientDaemon连接CICSServer的方式为TCPIP 30084为CICSServer中的TCPIPSERVICE定义的端口 8 5应用JCA构建J2EE应用与CICS应用之间的连接8 5 1方案一 J2EE连接架构 JCA 的CCI接口 JCA定义了一个标准的体系架构 用来连结J2EE平台和异构的企业信息系统如CICS 在最新的CICSTransactionGateway中提供了JCA的支持 从而允许CICS久经考验的服务质量可以被WebSphereApplicationServer中运行的J2EE应用程序发掘使用 JCA中应用资源适配器来同EIS系统进行通讯 对于每一种EIS系统都配有特定的资源适配器 例如CICS的ECI资源适配器 所有的资源适配器提供了如下通用接口 1 通用的API使得Java组件同适配器进行通讯 这个API被称作CommonClientInterface CCI 2 一组系统规约 应用服务器可以使用其来管理与资源适配器的交互 利用CCI接口与JCA资源适配器通讯的示意图如下图8 4所示 图8 4 利用CCI接口与JCA资源适配器通讯 下图8 5给出了利用CCI接口同适配器的交互图 这里需要指定连接信息和交互的数据信息 图8 5 CCI的调用模式 8 5 2方案二 Web服务调用框架 WSIF Web服务调用框架 WSIF 提供了一组JavaAPI用来动态地调用Web服务 JCA中可以用WSDL文件描述ECI资源适配器提供的服务 这里包括用XML描述COMMAREA的数据结构 服务端的地址 服务的操作 请求与响应的消息 前端的J2EE应用组件利用WSIF来调用ECI适配器提供的服务 而完全不需要知道CICS中应用程序的数据类型 运行环境等 这对于前端的J2EE应用访问来说是松耦合的 上面我们讲到了CCI CCI也是用来同资源适配器进行交互的接口 但是CCI与资源适配器是紧耦合的 也就是说J2EE组件利用CCI同资源适配器进行交互的时候 需要指定适配器所有的相关信息 例如 适配器所要调用的CICS服务器的地址 端口 CICS的USERID CodePage CICS应用的程序名称 COMMAREA的长度等 对于一个纯J2EE的应用来说 这些EIS内部接口的信息是不应该暴露出来的 当然我们也可以通过构建一系列的类来封装这些信息 但这终归不是一个好的设计模式 而JCA中的WSIF架构对CCI的接口加以了封装和改进 使得适配器的接口以WSDL文件的形式暴露给前端的J2EE组件 这样适配器的接口对前端的J2EE应用来说就完全透明了 前端的J2EE可以通过像调用WebService一样来调用适配器中的接口 这为系统的复用和更新提供了极大的便利 下面的应用实现部分就是基于WSIF架构 下图说明了利用WSIF同资源适配器的交互 JavaServiceProxy可以用EJB的SessionBean来实现WSIF的调用 在J2EE端的Servlet中通过调用EJB的SessionBean中的方法就可以实现J2EE应用 WebSphere 同异构平台 CICS 上应用的交互 利用WSIF同适配器进行交互的示意图如下图8 6所示 图8 6 利用WSIF同适配器进行交互 WSIF调用方式的伪代码实现如下图8 7所示 图8 7 WSIF调用方式的伪代码实现 8 6基于CTGJCA的应用实现 本应用将一个基于COMMAREA的CICS应用 利用CTG中的JCA架构 通过J2EE程序进行访问 这里我们利用EJB的SessionBean作为WSIF的调用容器 并且为了更好的对SessionBean的访问接口进行封装 利用EJBAccessBean对其进行进一步的封装 而对于前端的J2EE应用来说只暴露了业务逻辑的访问接口 体现了很好的分层架构思想 下图8 8为整个应用组件的部署示意图 我们利用Windows平台上的CTG来连接远程的CICS服务器 在WAS服务器中 通过EJB组件通过调用WSIF同CICSECI适配器进行交互 图8 8 应用部署架构图 下图8 9为整个应用的分层架构 这里我们根据CICS中程序的COMMAREA的数据结构生成WSDL 它包含了WebService调用的所有细节 例如 请求和响应的数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年人行道养护车项目建议书
- 中职旅游教学课件
- 全球化背景下的教育趋势比较分析
- 学生管理中的情感智能培养策略
- 游戏化学习在在线教育中的应用与挑战
- 中职教育语文课件《边城》
- 教学策略优化与学生心理健康的关联性研究
- 基础护士肿瘤科考试题库及答案
- 2025年铜陵市重点中学高二物理第二学期期末联考模拟试题含解析
- 商业领域的科技资源利用策略
- GB/T 10045-2018非合金钢及细晶粒钢药芯焊丝
- GB 7099-2015食品安全国家标准糕点、面包
- 2023年纳雍县财政局系统事业单位招聘笔试题库及答案解析
- 2023年广东省普通高中学业水平考试及参考答案
- 建筑工程模板施工工艺技术要点讲义丰富课件
- 永能选煤厂生产安全事故应急救援预案
- 浙江省建设领域简易劳动合同(A4版本)
- 位置度公差以及其计算
- 氯化铵危险化学品安全周知卡
- 浙江省本级公务车辆租赁服务验收单(格式)
- 糖代谢紊乱的实验诊断
评论
0/150
提交评论