级别: 中级 Susan Malaika, 高级技术人员, IBM Christian Pichler, Data Server Solutions(带薪实习), IBM
2008 年 8 月 04 日 Universal Services 是一组数据库操作,包括插入、更新、删除和查询,这组操作被公布为 Web 服务操作。当 DB2® 数据库中有 pureXML™ 列时,可以使用这些服务来快速设置数据库 Web 服务操作,例如用于原型。然后,用户可以使用这些服务并通过 REST 或 SOAP 查询和修改 pureXML 列中存储的 XML 数据,而这又可以作为进一步开发各种不同应用程序(例如表单或 SOA 应用程序)的基础。本文可以作为配置、测试和修改 Universal
Services 的入门文章。要了解详细的信息,请参阅下载的 Universal Services 附带的 readme 文件中的详细说明。
简介
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
本节假设您已经下载了 Universal Services 包,并且将它解压到一个本地的临时工作目录中。本文使用的这个本地临时工作目录是 c:\temp\UniversalServices。
图 3. Universal Services 下载包的内容,它被解压到本地的临时工作目录中
系统上有了必要的文件和脚本后,就可以继续
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 命令行处理器上执行该脚本,否则执行会失败。
部署 Universal
Services
如上一节所述,编辑和执行脚本 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
为了确保本地系统上 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,例如引入新的参数,可以将 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 |
|---|
更多下载 注意: - Industry Formats and Services with pureXML 在线演示的一部分 — 选择立即下载。
参考资料 学习
获得产品和技术
-
IBM Data Studio:免费下载用于开发 Data Web Services 的开发环境。
-
DB2 Express-C:下载免费版的 DB2,它包括与其他 Data Servers 相同的核心功能,例如 pureXML 技术。DB2 Express-C 可以免费开发、部署和分发。
-
用可直接从 developerWorks 下载的
IBM
试用软件 构建您的下一个开发项目。
讨论
作者简介  | 
|  | Susan Malaika 是 IBM Information Management Group(属于 IBM Software Group)的一名高级技术人员。她的专长包括 XML、Web 和数据库。她曾在 Global Grid Forum 开发过支持网格环境数据的标准。她与人合作出版了关于 Web 的专著,发表了关于事务处理和 XML 的文章。她是 IBM Academy of Technology 的成员。 |
 | 
|  | Christian Pichler 是来自奥地利维也纳技术大学的带薪实习生,正在撰写计算机工程和计算机科学双硕士学位的论文,论文主题是医疗保健。在 IBM 的实习阶段,Christian 现在从事将 XML 存储到 DB2,以及通过 Web 服务、提要和 XForm 访问 XML 方面的工作。他专长于医疗保健方面的 XML 标准。 |
对本文的评价
|