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:tempirs1120。
圖 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:tempUniversalServices。
圖 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 FilesIBMSQLLIB 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:tempUniversalServices 中。特別地,目錄 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