在WebSphere和DB2中使用标准数据格式(三)

日期: 2007-12-23 作者:Mohab El-Hilaly 来源:TechTarget中国

  alphaWorks demo 演示了如何通过简单的方式(不使用映射)在 pureXML 数据库中存储和查询 XML(特别是行业格式,如 HL7)。还介绍如何通过 Web 服务、RESTful 服务、Atom Feed 和 Xform 来检索数据。本文仅使用 Web 服务选项。

  alphaWorks 演示和举例说明如何创建一个通用服务层,以便通过公开一组简单的 CRUD(创建、替换、更新和删除)和查询服务来访问存储的消息。该演示使用 DB2 pureXML 列(XML 集合)来存储 XML 文档。如果 XML 格式的结构得到了改进,它仍可以继续存储在相同的表格中,而不用进行任何显著的修改,如重新映射。

  alphaWorks Web 服务接口提供了多个检索方法。其中的两个检索方法是:

  getXMLDocumentByKey:返回特定的 XML 文档
  runxquery:在表中的 XML 文档上执行 XQuery 查询

  本例使用后一个方法,该方法使用 DB2 pureXML 功能在数据库的 XML 列上执行 XQuery 查询。在中介模块中,此 XQuery 使用药品的 UUID 表示,并调用 Web 服务方法来检索匹配的药品文档。

  清单 2 显示了 alphaWorks HL7 服务接口的部分内容。其中显示了要在 alphaWorks SPL 数据服务上调用的 runxquery 操作的定义。

  清单 2. alphaWorks HL7 SPL 数据服务的 WSDL 接口演示
               

      <element name="runxqueryResponse">
        <complexType>
          <sequence>
            <element name="queryresult">
              <complexType>
                <sequence>
                  <element ref="tns:runXQuery"/>
                </sequence>
              </complexType>
            </element>
          </sequence>
        </complexType>
      </element>
      <element name="runxquery">
        <complexType>
          <sequence>
            <element name="query" type="string"/>
          </sequence>
        </complexType>
      </element>

  <message name="runxquerySoapInput">
    <part element="xsd1:runxquery" name="request"/>
  </message>
  <message name="runxquerySoapOutput">
    <part element="xsd1:runxqueryResponse" name="response"/>
  </message>

<portType name="theSoapPortType">
 …
    <operation name="runxquery">
      <input message="tns:runxquerySoapInput"/>
      <output message="tns:runxquerySoapOutput"/>
    </operation>
 …
</portType>

 
  中介模块

  我们的实现依赖于 WebSphere ESB 中介功能来实现中介流,该中介流可实现描述的场景。中介流负责接口转换和服务调用;它调用内部服务来获得药品 UUID,然后使用药品 UUID 来调用 alphaWorks 服务,并向调用方返回结果 HL7 文档。

 

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐