下面是对清单 3 中内容的解释:标为 (1) 的代码部分从内部 Web 服务返回的负载中解析 ID。然后使用该 ID 构建 XQuery 语句,该语句随后将用作 HL7 服务的输入。在代码部分 (2) 中,创建了 HL7 服务调用所需的元素,并设置负载以构建 XQuery。代码部分 (3) 使用中介的参考名来定位服务。这可以通过在中介模块的组装(上文已描述)中连接 InvokeHL7Service 和 HL7ServiceImport 来实现。此连接可以让自定义中介元素使用被调用服务的符号名。实际调用返回符合 HL7 的文档,我们将把该文档发送回整个中介的客户端,这在部分 (4) 中发生,在该部分中,我们将负载从 HL7 Web 服务的响应插入到中介的响应消息结构中。该代码然后将传入 SMO 中的请求消息替换为响应消息,使标头上下文中的任何信息都可以通过,而且省去了重新创建所有这些信息的工作。
实际运用
若要运行和测试应用程序,请从本文的下载部分导入 MedicationProjects.zip 项目交换文件。请确保导入了该文件中包括的所有项目;该文件中包含内部 Web 服务的一个实现以及与中介模块相关的项目。
本示例假定您的测试服务器运行于端口 9081。如果不是这种情况,则在将这些项目部署到服务器之前必须先更新相应的文件,使其指向正确的地址。
在导入项目并且更新了端点地址(如果需要)后,便可以启动测试服务器和添加新的 MedicationSPLModuleApp 和 MedicationWSEAR 项目(使用在右键单击服务器时出现的 Add and remove projects… 菜单选项)。
若要测试中介模块,请右键单击 MedicationSPLModule 项目中的 MedicationSPLExport_MedicationSPLHttp_Service.wsdl 文件(这必须在 J2EE 透视图中),并选择 Web Services => Test with Web Services Explorer。在 Explorer 中,输入任意字符串作为药品名来调用 getSPLInfo 操作(上文已提到,您输入的字符串将被测试实现忽略)。
图 6 显示了在运行本示例后的 Web Services Explorer。若要运行测试,您的系统必须连接到 Internet,因为中介将调用位于 alphaWorks 网站上的 HL7 服务。请注意,收到的响应文档包含一个完全符合 HL7 的 SPL 记录。
图 6. 测试完整的示例
结束语
本文介绍了如何合并 WebSphere ESB 和 DB2 pureXML,以简化对根据特定行业标准存储的 XML 文档的访问。尽管本文中的示例使用的是基于 Health Level 7 (HL7) 的卫生保健标准,但描述的方法适用于其他所有基于 XML 的特定行业标准,如 ACORD(保险业)、FpML(金融衍生行业)、FIXML(金融贸易)、MISMO(抵押)以及其他行业。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
总线技术究竟该不该用?
曾几何时企业服务总线(ESB)被视为企业IT的核心。今天,不仅ESB受到了比被废弃还要糟糕的攻击,若干开发趋势似乎对更简单的消息总线也发起了质疑。
-
从ESB到微服务:如何演变?
从web开发人员的角度看,大量的微服务部署到轻量级的Karaf 容器中,这就符合了ESB的定义。
-
企业IT架构术语之Amazon Dynamo数据库
Dynamo可以用来形容一个精力充沛的人。不用如此惊讶,Amazon Dynamo数据库的创建正是要延续这一理念。