DADX Web Service

“DADX 文件”向导、“Web Service DADX 组配置”向导和 Web Service 向导帮助您创建用来访问 DB2® 和 DB2 中所存储的 XML 数据的 Web Service。

DB2 XML Extender

DB2 XML Extender 由一组存储过程、用户定义的类型和用户定义的函数组成,它们使应用程序员能够使用 DB2 来存储和检索 XML 数据。XML Extender 使用称为“文档访问定义”(DAD)的 XML 文档格式来定义 XML 与关系数据之间的映射。XML Extender 允许使用下列两种方法中的一种来存储和检索 XML 文档:XML 列访问方法和 XML 集合访问方法。

XML 列访问方法完整地存储 XML 文档(存储为标记数据),并且可以选择性地为副表中的文档建立索引。XML 集合访问方法使用传统的关系数据类型,将分解的 XML 文档作为行的集合存储在表中。

“文档访问定义”(DAD)和“文档访问定义扩展”(DADX)

“文档访问定义”(DAD)文件是一个 XML 文档,它提供对 XML 文档至 DB2 数据库映射的控制以进行存储和检索。DADX 文件是 XML Extender DAD 文件的扩展并且包括不使用 XML Extender 的标准 SQL 功能。DADX 支持创建用于存储和检索由 XML Extender 管理的 XML 文档的 Web Service。DADX 文件指定如何使用由 SQL 语句和 DAD 文件(可选)定义的一组操作来创建 Web Service。

借助于 DB2 版本 8.2 和更高版本,可能可以执行实现静态存储在应用程序服务器上的 Web Service 的数据库操作或让客户机动态确定应执行哪个数据库操作。由客户机动态执行数据库操作称为“动态查询服务”(DQS)。对于 DQS 服务,DADX 文件只包含 DQS 标记,不包含其他操作。所有 DQS 服务(不管它使用哪个数据库)的 WSDL 都是相同的。与 JDBC 和 ODBC 相似,此服务提供了对数据库的较低级别的访问。此服务的操作是生成元数据和执行选择、插入、更新和删除以及存储过程。

基于 XML 和基于 SQL 的操作都是由称为 DADX 的文件控制的。DADX 定义可以由 Web Service 执行的操作。DADX 文件驱动 Web Service 运行时环境,此环境中包括各种数据库管理工具和“Web 对象运行时框架”(WORF)。WORF 运行时环境提供了 XML 模式至 SQL 数据类型的简单映射。DADX 文件中可以包含诸如 SELECT、INSERT、UPDATE、DELETE 和 CALL 语句等标准 SQL 语句,用来查询和更新数据库以及调用存储过程。如果想在运行时处理 SQL 语句,则必须使用只包括 <DQS/> 标记的 DADX 文件来启用 WORF 提供的动态查询服务(DQS)。

对于静态 DADX 文件,支持下列类型的 Web Service 操作:

基于 XML 的操作包括:

  • 查询
  • 存储

基于 XML 的查询使您能够根据关系数据撰写 XML 文档。XML 文档分解为多个组成部件并且存储在关系表中。映射文件(称为 DAD 文件)将创建关系数据与 XML 文档结构之间的关联。用户定义的 SQL 数据至 XML 元素和属性的映射需要 DB2 XML Extender。

基于 SQL 的操作包括:

  • 调用存储过程
  • 插入
  • 更新
  • 删除
  • 查询

基于 SQL 的查询允许您将 SQL 语句(包括存储过程调用)发送至 DB2 并返回带有缺省标记的结果。由于没有 SQL 数据至 XML 元素和属性的用户定义映射,因此基于 SQL 的操作不需要 DB2 XML Extender。将只使用简单 SQL 数据类型映射返回数据,并将列名用作元素。

DADX 文件中还可以包含 DB2 XML Extender 元素(例如,“文档访问定义”(DAD)文件引用)和 XML 集合操作来生成和存储 XML 文档、用户定义的类型(UDT)和用户定义的函数(UDF)。DAD 文件将定义 XML 与关系数据之间的映射。DB2 XML Extender 允许按原样存储 XML 文档,还可以选择在辅助表中建立索引。DB2 XML Extender 使用 XML 列访问方法来完成此任务,或者使用 XML 集合访问方法作为关系表的集合来完成此任务。

DADX Web Service

下图说明了 XML Extender、DAD 与 DADX 之间的关系:

  1. Web Service 客户机将请求发送至 Web Service。对于 DQS,该请求将包括例如 SELECT 语句或存储过程调用之类的信息。
  2. 在运行时,DADX 运行时环境将解析 DADX 组、DADX 文件和 DADX 文件需要的任何参数的名称。DADX 组包含连接(JDBC 和 JNDI)以及组内各 DADX 文件之间共享的其他信息。
  3. 如果 DADX 文件包含对 DAD 文件的引用,则该 DAD 文件是由 DADX 运行时环境装入的。该 DAD 文件指定 XML 请求至数据库的映射。
  4. DADX 运行时环境定位 DADX 组和 DADX 文件,然后将请求发送至数据库。XML Extender 支持使用 DB2 来存储和检索 XML 数据。对于静态 DADX 文件,SQL 请求可在 DADX 中找到,对于 DQS,请求由客户机确定。
  5. DADX 运行时环境即使用 HTTP GET、HTTP POST 或 SOAP 协议将结果作为 XML 文档返回。

图 1. XML Extender、DAD 与 DADX 之间的关系。

图 1 表示 XML Extender、DAD 与 DADX 之间的关系。


反馈