Universal Services 是一组简单的、固定的数据库操作,通过这些操作可以查询和修改存储在 DB2 数据库 pureXML 列中的 XML 数据。这些数据库操作 包括插入、更新、删除和查询数据,它们通过 Data Web Service 机制公布为 Web 服务。
Data Web Services 允许将数据库操作(例如插入或更新)公布为 Web 服务,同时不需要编写代码。Data Web Services 还允许将存储过程或用户定义函数公布为 Web 服务。developerWorks 上的其他文章和教程已经谈到了 Data Web Services 的开发。参考资料 小节提供了一系列相关的文章和教程。
图 1 是 Universal Services 架构的概图。
图 1. Universal Services 架构概图
Universal Services 的目标是使 DB2 数据库中的任何 pureXML 列都可以通过 Web 服务操作查询和修改,这些 Web 服务操作可以通过简单的配置和部署步骤实现。本文后面的小节将描述这些步骤。如果需要关于这些步骤的更详细信息,请参阅 Universal Services 下载包的 readme 文件,里面有完整的分步说明。
本文讨论一个示例数据库上的 Universal Services 的配置、部署和修改,因此分成以下三个小节。
- 设置示例数据库:描述示例数据库的设置,本文将使用该数据库演示 Universal Services 的配置
- 安装 Universal Services:描述 Universal Services 的配置和部署
- 修改 Universal Services:描述如何更改 Universal Services 以适合您的环境(如有必要)
每个步骤所需下载的内容可以在本文相应的小节中找到。
要安装和运行 Universal Services,需要在系统上安装 DB2 9.x、Java Runtime Environment 1.5.0 和一个 Web 服务器(例如 WebSphere Application Server V6.x 或 Apache Tomcat V6.x)。注意,Java 运行时是 DB2 安装的一部分。
您还需要获取两个不同的下载,一个是 IRS e-File 1120 包(Industry Formats and Services 在线演示的一部分),一个是 Universal Services 包本身。可以在本文的 下载 小节中找到这些下载的链接。要完成本文中的步骤,这些下载是必需的。
可以在 DB2 数据库的任何 pureXML 列上设置 Universal Services。为了演示这些服务的配置和安装,下面的小节展示如何设置一个示例数据库,本文将通篇使用这个数据库。这里创建的示例数据库基于免费的、可公开下载的数据库,它是名为 Industry Formats and Services with pureXML 的 DB2 pureXML 在线演示的一部分。
每个下载都包含一组脚本,这些脚本使用户可以轻松设置用于特定行业的数据库,例如金融业或医疗保健业。本文中使用的脚本创建示例数据库和一个包含 pureXML 列的表,然后将示例数据装载到数据库中。下载中包括更多的脚本,例如 XML 模式注册、使用注册的 XML 模式对 XML 示例文档的验证以及使用 XQuery 或 SQL/XML 查询 XML 数据,这些脚本可能也很重要,但是本文没有用到。如果需要关于这些特定于行业的下载的更多信息,请参阅 参考资料 小节。
本文基于 IRS e-File 1120 下载,它是 IRS Tax Form 1120 的电子版。本节假设您已经下载了 IRS e-File 1120 包,并将它解压到一个本地的、临时的工作目录中。本文用于数据库脚本的本地临时工作目录是 c:\temp\irs1120。
图 2. IRS e-File 1120 下载内容,该下载被解压到本地的临时工作目录中
用于在系统上设置示例数据库的脚本是 “start.bat”(Linux 用户:“start.sh”)。要执行该脚本,打开 DB2 命令行处理器,将目录更改到包含所下载文件内容的当前工作目录。这个目录也包含将要执行的文件 start.bat。然后,执行 start.bat 脚本。
该脚本执行完后,应该可以看到一条消息,表明数据库设置完毕。如果该消息显示了不同的信息,请参阅 IRS e-File 1120 下载中的 readme 文件。假设设置成功,您的系统上现在有一个 DB2 示例数据库,其中包含一个 pureXML 列,并且 pureXML 列中装载了示例数据。更具体地说,数据库中包含 pureXML 列的表有以下结构:
表 1. 示例表 IRS1120 概览
| 列名 | 列类型 | 描述 |
|---|---|---|
| ID | INTEGER | 表示插入到表中的每个记录的惟一 ID |
| COMMENT | VARCHAR(1000) | 用于存储表中每个记录的注释 |
| DOCUMENT | XML | 这个表的第三列是 XML 类型的列,用于存储 XML 数据。这些都是 IRS e-File 1120 XML 文档 |
有了示例数据库,现在可以展示如何配置和安装用于特定 pureXML 列的 Universal Services,这正是后面小节的主题。
本节假设您已经下载了 Universal Services 包,并且将它解压到一个本地的临时工作目录中。本文使用的这个本地临时工作目录是 c:\temp\UniversalServices。
图 3. Universal Services 下载包的内容,它被解压到本地的临时工作目录中
系统上有了必要的文件和脚本后,就可以继续 Universal Services 安装,安装过程基本上由三个步骤组成。后面将详细描述这些步骤,展示如何:
- 配置 Universal Services 以适合您的本地系统设置
- 将 Universal Services 部署到应用服务器上
- 使用内置的测试页面测试 Universal Services
Universal Services 的配置可以通过下载中提供的一个名为 “configure.bat”(Linux 用户:“configure.sh”)的脚本来完成。但是,在执行该脚本之前,需要对它作一些调整,以适合您的本地系统设置,如表 2 所示。
表 2. 配置脚本参数概览
| 参数名称 | 描述 | 值(取决于示例数据库) |
|---|---|---|
| DB2INSTALLDIR | DB2 安装目录的路径 | C:\Program Files\IBM\SQLLIB |
| DBSCHEMA | 包含 XML 列的表所属的数据库模式的名称 | IRS1120ADMIN |
| DBNAME | 和 Universal Services 一起使用的数据库的名称 | IRS1120 |
| DBTABLE | 包含 XML 列的表的名称 | IRS1120 |
| DBPRIMARY | DBTABLE 中指定的表的主列的名称。这个列的类型可以是 INTEGER 或 VARCHAR | ID |
| DBCOMMENT | DBTABLE 中指定的表的注释列的名称 | COMMENT |
| DBXML | DBTABLE 中指定的表的 XML 列的名称。这是包含 XML 数据的列 | DOCUMENT |
注意,表 2 中的三个参数 DBPRIMARY、DBCOMMENT、DBXML 与表 1 中的参数相同。
根据表 2 中的信息编辑 Universal Services 配置文件。例如,
set DBNAME=SAMPLEDB 需要改为 set DBNAME=IRS1120。
图 4 显示了根据表 2 中的值编辑后的配置文件。
图 4. 编辑配置文件 configure.bat
编辑 configure.bat(Linux 用户:configure.sh)之后,现在可以执行这个脚本,该脚本将对 Universal Services 执行实际的配置,例如调整列名。然后,该脚本创建一个 Web application archive(WAR)文件,这个 WAR 文件包含 Universal Services Web 应用程序所有必需的文件,您可以将它部署到应用服务器上。记住,必须在 DB2 命令行处理器上执行该脚本,否则执行会失败。
如上一节所述,编辑和执行脚本 configure.bat 会创建一个 WAR 文件,现在可以将这个文件部署到应用服务器上。在将 WAR 文件部署到应用服务器之前,需要在应用服务器上配置一个数据源,使 Universal Services 可以访问 DB2 数据库。
要设置数据源,需要遵从应用服务器的标准配置过程。在此过程中惟一需要考虑的要求是数据源的名称,它必须满足以下模式:
jdbc/[database name]。用于本文示例的数据源名称是
jdbc/irs1120。如果需要了解关于如何设置数据源的更多信息,请参阅应用服务器的手册或 Universal Services 下载包中的 readme 文件。
第二步是将实际的 WAR 文件部署到应用服务器上。但是,需要说明的是,由于 WebSphere Application Server V6.x 和 Apache Tomcat V6.x 所需的 Web 服务工件有所不同,配置脚本创建了两个不同的 WAR 文件,每个应用服务器使用一个 WAR 文件。
创建的 WAR 文件可以在子目录 war 中找到,这个子目录在 Universal Services 工作目录 c:\temp\UniversalServices 中。特别地,目录 war 包含两个子目录:tomcat 和 was。目录 tomcat 包含要安装到 Apache Tomcat V6.x 上的 WAR 文件,而目录 was 包含要部署到 WebSphere Application Server V6.x 上的 WAR 文件。为了将 WAR 文件安装到应用服务器上,可遵从标准过程。如果需要更多信息,请参阅应用服务器的手册,或者 Universal Services 下载包中的 readme 文件。
现在可以用 Universal Services 测试包测试您的设置,这个测试包是在部署 WAR 文件时生成的。要继续该测试,请进入下一节。
为了确保本地系统上 Universal Services 的设置和配置是成功的,需要对这些服务进行测试。最容易的方法是使用一个简单的 HTML 页面,这个页面已经在应用服务器上,它是 Universal Services 部署的一部分。
可以通过将 Web 浏览器重定向到 URL http://localhost:8080/UniversalServices/testServices.html 来访问 Universal Services 测试页面。注意,取决于本地系统的设置,需要调整主机名或端口。
图 5. 内置测试页面的屏幕快照
在这个简单的测试页面中,可以通过 Universal Services 插入、更新、删除和查询数据库中的 XML 数据。Web 服务可以通过测试页面提供的按钮来调用。图 6 展示了 Web 服务的响应。执行 Web 服务操作之后,可以通过测试页面上的按钮调用 getPrimaryKeys。
图 6. 调用 Web 服务操作 getPrimaryKeys 之后的响应
如果需要修改 Universal Services,例如引入新的参数,可以将 Universal Services Data Project 下载中提供的 Universal Services Data Development Project 导入到 Data Studio 中。要导入 Data Development Project,只需在 Data Studio 中选择 File 菜单中的 Import 选项。
然后,可以通过 Data Studio 部署修改后的 Universal Services。
本文演示了使用脚本而不必启动单独的工具,通过 Web 服务操作公布 DB2 数据库的 pureXML 列有多么简单。安装 Universal Services 可用于构建您自己的原型或应用程序。
下面三个例子已经使用 Universal Services 作为各自工作的基础:
- Industry Formats and Services with pureXML 的在线交互式演示
- 在 WebSphere ESB 和 DB2 Version 9 pureXML 中使用行业标准数据格式
- 使用 WebSphere Integration Developer 公布 DB2 pureXML
希望 Universal Services 和本文中提供的信息可以帮助您开始自己的 DB2 pureXML 项目。
| 描述 | 名字 | 大小 | 下载方法 |
|---|---|---|---|
| Universal Services 包 | UniversalServices.zip | 3.87MB | HTTP |
更多下载
- 代码示例: IRS e-File 11201
注意:
- Industry Formats and Services with pureXML 在线演示的一部分 — 选择立即下载。
学习
- 您可以参考本文在 developerWorks 全球站点上的 英文原文。
-
Industry Formats and Services with pureXML:免费下载很多不同的例子。每个例子说明了如何使用 XML-based Industry Formats 和 pureXML。这些例子展示了如何注册 XML 模式,如何执行 XML 实例文档的验证,如何使用 XQuery 或 SQL/XML 查询 XML 数据,等等。
- “IBM Data Studio: Data Web Services 入门”(developerWorks,2007 年 11 月):这篇文章就如何开发您的第一个 Data Web Service 提供了非常详细而简单的介绍。
- “Data Web Services:访问 IBM 数据库服务器的新方式 —— 构建 Web 服务”(developerWorks,2008 年 1 月):创建和定制 Data Web Service。这篇文章提供了关于 Data Web Services 的理论背景,包括关于 Data Web Services 的架构概述。这篇文章谈到了 Data Web Services 的各个方面,例如安全性。
-
“使用 WebSphere Integration Developer 公开 DB2 V 9 pureXML”(developerWorks,2007 年 12 月):构建访问 Universal Services 的客户机。
-
developerWorks Information Management 专区:在这里可以学到更多关于 DB2 的知识。还可以找到技术文档、how-to 文章、培训、产品信息等等。
-
随时关注 developerWorks
技术活动和网络广播。
获得产品和技术
-
IBM Data Studio:免费下载用于开发 Data Web Services 的开发环境。
-
DB2 Express-C:下载免费版的 DB2,它包括与其他 Data Servers 相同的核心功能,例如 pureXML 技术。DB2 Express-C 可以免费开发、部署和分发。
-
用可直接从 developerWorks 下载的
IBM
试用软件 构建您的下一个开发项目。
讨论
- 参与论坛讨论。
-
通过参与 developerWorks blogs 加入 developerWorks 社区。

