理解并使用IMS SOAP Web服务

日期: 2011-12-20 作者:Robert Crawford翻译:杨华军 来源:TechTarget中国 英文

让我们从Web服务的角度来审视这一话题。为了通过简单对象访问协议(SOAP)支持Web服务,IMS需要三大部分的东西。首先是Rational Developer for System z(RDz),这是为生成IMS提供web服务所需的产出而提供的工具。IMS SOAP Gateway管理SOAP请求并与IMS Connect通信,后者形成了SOAP Gateway和IMS之间的管道。

  我得指出的是,IBM将SOAP Gateway放进了IMS SOA Integration Suite里面,对于IMS许可持有人来说不再需要额外的成本。   激活IMS SOAP   实现必须从RDz开始,这……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

让我们从Web服务的角度来审视这一话题。为了通过简单对象访问协议(SOAP)支持Web服务,IMS需要三大部分的东西。首先是Rational Developer for System z(RDz),这是为生成IMS提供web服务所需的产出而提供的工具。IMS SOAP Gateway管理SOAP请求并与IMS Connect通信,后者形成了SOAP Gateway和IMS之间的管道。

  我得指出的是,IBM将SOAP Gateway放进了IMS SOA Integration Suite里面,对于IMS许可持有人来说不再需要额外的成本。

  激活IMS SOAP

  实现必须从RDz开始,这为激活IMS SOAP提供了基础。这一工具支持自底向上和自顶向下两种服务生成方式。这两个方向我们都来看一下。

  自底向上的服务生成方法将已有的IMS应用以Web服务的形式展现。RDz会提供一个向导,从用COBOL或PL/1写的高级语言副本(比如说数据结构源模块类似于C的头文件或Java包)中,该向导可生成可扩展标记语言(XML))的Web Services Descriptor(WSDL)文件。该流程从导入描述IMS进出消息格式的副本 到RDz中开始。根据这一信息,RDz向导生成以下东西:

  (1)WSDL,可交给任何希望利用IMS Web服务的客户端。

  (2)在SOAP Gateway XML文档和IMS消息之间进行转换的COBOL程序。

  (3)一个将所有材料帮顶到一起的相关要素文件,包括转换器名字,目标IMS交易及IMS Connect连接规范。

  理想情况下,自底向上过程会将已有的IMS应用以Web服务的方式展现,无需任何编程改变。相比较而言,服务生成的自定下行方法会从web服务提供商的WSDL生成高级语言结构。当前的RDz过程WSDL2PLI被限制为生成PL/1副本。该过程的输出:

  跟上述同名文件功能一样的相关要素文件

  (1)COBOL XML转换器

  (2)一对PL/1副本,每个Web服务操作均有一对

  (3)一对可选的XML Schema Definition(XSD)文件。该XSD文件描述了SOAP消息与语言结构之间的关系。

  完成流程

  在RDz生成了产出之后,在IMS能够使用Web服务之前还有若干的任务要做。首先,无论是自底向上还是自顶向下开发,COBOL XML转换器都必须上传到主机,并进行编译和链接。加载模块应当进入LINKIST或经APF授权对IMS Connect可见的库。其他产出,如WSDL和相关要素文件,必须上传到z/OS Unix System Service(USS)文件系统,让IMS Connect和网关能够访问。

  对于自顶向下开发来说,RDz生成的OL/1副本应当上传至主机,以便需要消费Web服务的程序使用。

  通过网关,IBM提供了SOAP Gateway部署实用工具。该工具是一个文本型的应用,可以让程序员上传生成的产出给SOAP网关。它还允许停止和启动SOAP gateway的非z/OS实例。程序员可现实或修改各种类型的SOAP Gateway实例的属性。最后,部署工具提供了对现实和修改相关要素文件属性的支持。

  遍历一项IMS SOA请求

  一旦组件全部就绪,IMS应该就可以提供并消费Web服务了。这个过程是如何工作的呢?让我们来看一个典型的例子。

  为了消费基于IMS的Web服务,客户端会发送一条SOAP消息给IMS gateway。这一网关会使用一个相关要素文件来识别此消息并决定其命运。一旦识别了此消息,网关就会把这条SOAP消息转为XML文档,再随目标IMS交易代码一起转发给IMS Connect。

  IMS Connect接收XML文档后即调用相应由RDz生成的XML转换器。该转换器将XML文档变成某种看起来类似于普通IMS消息的东西。转换结束后,IMS Connect就会把这条消息发送给IMS处理器。

  IMS将该输入消息放入队列,并对交易进行正常的调度。IMS交易执行此流程并返回一条输出消息给IMS Connect。IMS Connect再次调用转换器,将IMS消息转为XML文档,然后发送给SOAP Gateway。这段旅程的最后一步,则是网关将SOAP消息回给请求的客户端。

  另一个例子,IMS Web服务请求者也要经历相同的步骤,只是次序打乱了。这是从IMS 程序发出ICAL命令代码开始的,ICAL的作用是对非IMS服务进行同步调用。ICAL列表中一个8字节的资源名将会指定Open Transaction Management Access resource(OTMA)描述器。

  OTMA使用该描述器来找出该消息是否应该通过IMS Connect发往SOAP gateway。而对于Connect来说,则要调用相应的转换器模块来将IMS消息转换为XML文档。在转换结束之后,IMS Connect发送文档给网关,后者再转发一条SOAP消息给Web服务提供商。一旦服务提供商返回消息,此进程就会反转直至等待的IMS交易收到响应。

  SOAP Gateway最近的改进

  IMS Enterprise Suite Fixpack 2(APARs PM17547及PM22798)为SOAP  Gateway添加了若干的增强功能。对于IMS V10及以上版本来说,提供了对多操作web服务的支持,同时支持业务事件增强以及新的管理工具。对于V11客户来说,如前面所述,提供了自顶向下Web服务生成的支持,以及对入端Security Assertion Markup Language (SAML)令牌的支持。另一项安全增强提供了通过Application Transport Transport Layer Security (AT-TLS)z/OS服务进行客户鉴权的功能。

作者

Robert Crawford
Robert Crawford

数据中心专家

相关推荐

  • SAP收购CallidusCloud 与Salesforce竞争

    一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。