如 “使 WebSphere Message Broker 流支持服务”中所述,Willy Li 了解到需要将后端 IMS 应用程序作为服务公开。
Edmund 和 Kai explain 向 Willy Li 解释说,有几种解决方案模式可用于使 IMS 事务支持服务,其中包括:
- 使用 IMS TM 适配器使 IMS 事务支持服务
- 使用 IMS SOAP Gateway 使 IMS 事务支持服务
- 使用 MQ IMS Bridge 使 IMS 事务支持服务
针对构建原型这一目的,Willy Li 将使用与 Edmund 和 Kai 讨论的每种方法将分类帐 IMS 应用程序作为服务公开。Willy Li 计划使用分类帐应用程序,该应用程序是使用 COBOL 编码,并且由 IMS Transaction Manager 托管。
使用 IMS TM 适配器使 IMS 事务支持服务
为了通过 IMS TM 适配器使 IMS 事务支持服务,Willy Li 将使用服务组件间接地公开现有的应用程序功能。
业务一致性通常是通过自顶向下的方式或结合使用自顶向下和中间相遇方法定义服务接口 (WSDL) 来实现的。
通过创建中间层 Web 服务来访问 IMS,可将 IMS 应用程序作为服务间接公开。中间层 Web 服务包装会话 EJB,后者使用 IMS TM 资源适配器与 IMS 连接通信,以访问在其上托管该应用程序的 IMS Transaction Manager。
Willy Li 了解到,通过 IMS TM 适配器使 IMS 事务支持服务将提供最强健的全局事务支持。IMS TM 资源适配器兼容 JCA XA 并支持两阶段提交。
工作方式
图 6 描述了使用 IMS TM 资源适配器组装和部署支持服务的IMS 事务的环境。
图 6 使用 IMS TM 适配器使 IMS 事务支持服务

对于存在 COBOL Copybook 的情形,Willy Li 将该 Copybook 导入到 IBM Rational Application Developer 中。如果不存在 COBOL Copybook,可先使用 IBM Rational Application Developer 来创建该 Copybook,然后将该 Copybook 导入到 Rational Application Developer。
接下来,Willy Li 将使用该工具生成输入和输出转换程序、J2C Bean、服务 WSDL 和服务应用程序。然后将该服务部署到中间层 WebSphere Application Server,并且将 WSDL 发布给 IBM WebSphere Service Registry and Repository。
重要注意事项
使用 IMS TM 适配器使 IMS 事务支持服务的重要注意事项包括:
- IMS TM 资源适配器使用 J2EE Connector Architecture (JCA)标准进行消息传递,使此选项成为最广泛采用的 IMS 连接选项,且具有当今最高的服务质量。
- 提供一个耦合了中介的服务实现。
- 如果客户使用 WebSphere Application Server 创建中间层组件,则非常好的集成选项一般是使用 IMS TM 资源适配器的 J2C。
使用 IMS SOAP Gateway 使 IMS 事务支持服务
Willy Li 了解到,他可以使用 IMS SOAP Gateway 让 IMS 应用程序成为可供帐户开立流程应用程序使用或其他应用程序重用的 Web 服务。
使用 IMS SOAP Gateway,可以在处理数据的方式方面获得更好的灵活性。例如,您可以让该数据将客户端中的 XML 数据发送到能够由新的或增强的 IMS 应用程序处理的 IMS 环境。通过使用 IMS XML DB 功能可以将该数据直接存储在 XML 中,也可以将 XML 数据转换为数据字节。
Willy Li 还了解到,IMS SOAP Gateway 包括两个主要组件:
- IMS SOAP Gateway 部署实用工具
这一端到端部署实用工具使您能够设置属性和创建 IMS SOAP Gateway 用来将 IMS 应用程序作为 Web 服务的运行时代码。
- IMS SOAP Gateway 服务器
该服务器用来处理 SOAP 消息。它可以从客户端应用程序中接收 SOAP 消息,将其转换为 IMS 输入消息,并通过 IMS 连接将其发送给 IMS。然后从 IMS 接收输出消息,将其转换为 SOAP,并将其发回到该客户端。
工作方式
图 7 描述了使用 IMS SOAP Gateway 组装和部署支持服务的 IMS 事务的环境。
图 7 使用 IMS SOAP Gateway 使 IMS 事务支持服务

Willy Li 开始从 SCM 检索分类帐应用程序构件,包括 COBOL 程序和 Copybook。这些构件被导入到 IBM Rational Developer for System z 中。Willy Li 使用该工具来生成输入和输出 XML 转换程序、驱动程序和服务 WSDL。
接下来,Willy Li 将生成的 COBOL 源复制到 z/OS,以便为 XML 数据转换和作为 Web 服务调用的 IMS 应用程序编译和准备生成的源代码。生成的 WSDL 将被部署到 IMS SOAP Gateway,并发布给 IBM WebSphere Service Registry and Repository。
重要注意事项
使用 IMS SOAP Gateway 使 IMS 事务支持服务的重要注意事项包括:
- 通过对访问 IMS 事务提供基本的 SOAP 支持,为通过 Web 的消息传递提供轻量级标准。
- 提供一个松散耦合的服务实现。
- 如果客户不想编写 Web 服务包装程序(例如,为 EJB 编写包装程序),则 IMS Gateway 通常是非常好的选项。
使用 MQ IMS Bridge 使 IMS 事务支持服务
如 “使 WebSphere Message Broker 流支持服务”中所述,Willy Li 将通过使 WebSphere Message Broker 流支持服务来访问后端 IMS 分类帐应用程序。
通过使用 WebSphere MQ 和 MQ IMS Bridge,支持服务的 WebSphere Message Broker 流可用来与 IMS 后端系统通信
(请参见图 8)。MQ IMS Bridge 使用特别定义的队列与 IMS 通信,并使用 IMS OTMA 接口从该队列中获取消息并将这些消息发送到 IMS,同时通过 OTMA 接口接收输出消息。
图 8 使用 WebSphere Message Broker 和 MQ IMS Bridge 使 IMS 事务支持服务

使 IMS 事务支持服务的注意事项
表 1 概述了前面部分中介绍的使 IMS 事务支持服务的各种方法的体系结构注意事项。
表 1 使 ISM 事务支持服务的注意事项
| 基准点 | IMS SOAP Gateway | IMS TM 资源适配器 | JMS / MQ (WebSphere Message Broker) |
|---|---|---|---|
| 体系结构限制 |
|
| >32 K 带 IMS 多片段(异步入站和出站) |
| 事务性 | 无全局事务支持 | JCA XA 支持(最强健的全局支持) | 无全局事务支持 |
| 安全性 |
|
|
|
| 可靠性/可用性 |
| 向 WAS 和 IMS 连接提供高可用配置选项(特别是 z/OS TCP/IP Sysplex Distributor) | 基于 IMSplex 和 MQ 工作负载管理的高可用性配置(群集或共享队列) 性能/可扩展性 |
| 性能/可扩展性 | 目前考虑的非常好的选项 |
总结
在短时间内(包括利用工具熟悉解决方案模式和试验的时间),Willy Li 已经准备好创建帐户开立项目所需的那些典型服务。重用由 CICS 和 IMS 托管的现有应用程序比 Willy Li 当初预期的更加容易,并且需要编写的代码很少。Willy Li 发现,用来创建 UML 的 Rational Software Architect 工具、生成 WSDL 和服务的向导、测试以及与 Rational ClearCase 和 ClearQuest 集成非常容易使用。Willy Li 还发现 Rational Developer for System z 和 WebSphere Message Broker Toolkit 也可以使他的开发工作变得更加便捷。
总之,在本案例研究中使用以下软件进行了服务的创建和重用:
模型:
IBM Rational Software Architect
组装:
IBM Rational Application Developer
注意:IBM Rational Application Developer 包括用来组装和单元测试 Web 服务的工具。IBM Rational Software Architect 包括 Rational Application Developer 的功能和建模功能。因此,如果您担任的角色需要建模和组装,则可以使用 IBM Rational Software Architect。
IBM Rational Developer for System z
IBM CICS 和 IMS JCA 资源适配器与工具
IBM WebSphere Message Broker 工具包
IBM WebSphere Studio Asset Analyzer
部署:
IBM WebSphere Application Server
IBM WebSphere Enterprise Service Bus
IBM WebSphere Message Broker
管理:
IBM Tivoli Composite Application Manager for SOA
治理:
IBM WebSphere Service Registry and Repository