第 11 部分:使用 CICS 事务服务器集成业务流程
级别: 高级 Joshy Joseph, 软件工程师, IBMDouglas Griswold, I/T 专家, IBM2005 年 6 月 24 日学习如何生成服务请求者端构件并将它们与业务流程执行语言(Business Pro..
级别: 高级
Joshy Joseph, 软件工程师, IBM
Douglas Griswold, I/T 专家, IBM
2005 年 6 月 24 日
学习如何生成服务请求者端构件并将它们与业务流程执行语言(Business Process Execution Language,BPEL)集成在一起。Joshy Joseph 和 Douglas Griswold 提供了循序渐进 (step-by-step) 的方法来开发服务请求者端构件,这些构件是使用用于 CICS 的简单对象访问协议(Simple Object Access Protocol,SOAP)特性(由 CICS Transaction Server (TS) Version 2.3 提供)从工作流过程中调用遗留客户信息控制系统(Customer Information Control System(R),CICS)业务逻辑所需要的。
引言
在随需应变的业务中,企业级应用程序需要与企业内部和外部的其他应用程序所提供的服务集成在一起。在本文中,我们举例说明了如何使用新的用于 CICS 的 SOAP 特性(由 CICS TS 提供)来将遗留应用程序与在 IBM® WebSphere® Business Integration Server Foundation 中运行的业务流程集成在一起。
在本系列的第 10 部分中,我们展示了如何在 CICS TS 中创建用于从 XML 到 COMMAREA 转换的消息适配器和其他服务提供者端构件。在本文中,我们举例说明了如何创建服务请求者端构件,并且介绍了集成遗留服务与 BPEL 工作流过程所需的循序渐进方法。
服务请求者端的改变
我们使用 WebSphere Studio Application Developer Integration Edition 和 WebSphere Studio Enterprise Developer (Enterprise Developer) 工具生成请求者端构件,这些构件是集成支持 CICS SOAP 的事务提供的服务所需要的。我们使用 WebSphere Studio Application Developer Integration Edition 开发工作流构件,使用 Enterprise Developer 将 COBOL Copybook 转换成 XML Schema 元素。有关 WebSphere Studio Application Developer Integration Edition 和 Enterprise Developer 的更多信息,请参阅参考资料。
Web 服务使用者/客户机使用 Web 服务描述语言(Web Services Description Language,WSDL)文件来描述由 CICS 服务器公开的服务和客户机与服务之间交换的数据的定义。
您可以使用 Enterprise Developer 来执行下列步骤:
从 COBOL Copybook 创建 XML Schema 文件,COBOL Copybook 表示输入和输出业务逻辑程序 COMMAREA (请参见侧栏 Enterprise Developer 工具生成的 COMMAREA XML Schema 的局限性)。
为 CICS 服务器公开的服务生成 WSDL 文件,其中包括上一步创建的 XML Schema 元素。
请注意,在自上而下的方法中,除了 Enterprise Developer 之外,您还可以使用 IBM WebSphere Business Integration Server Foundation 构建 WSDL 文件来表示由支持 CICS SOAP 的事务所提供的服务。
清单 1 显示了表示 CICS 订单验证程序的 WSDL 文件。
清单 1. WSDL 文件
targetNamespace=http://tempuri.org/CoatsCicsServices/ xmlns:tns="http://tempuri.org/CoatsCicsServices/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="http://www.coats.com/schemas/ValidateOrderIInterface" xmlns:xsd2="http://www.coats.com/schemas/ValidateOrderOInterface"> schemaLocation="../www/schemas/ValidateOrderOInterface/ValidateOrderResponse.xsd"> schemaLocation="../www/schemas/ValidateOrderIInterface/ValidateOrderRequest.xsd"> name="ValidateOrderOperationInput"> name="ValidateOrderOperationOutput"> soapAction="http://tempuri.org/CoatsCicsServices/ValidateOrderOperation" /> location="http://cics.server.host:5432/CICS/XWBA/DFHWSDSH/ORDVLDT" />
