DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> 集成 XML Forms Generator 和 Data Studio,第 1 部分: 通過創建應
集成 XML Forms Generator 和 Data Studio,第 1 部分: 通過創建應
編輯:XML詳解     

XML Forms Generator (XFG) 為表單開發提供一個好的開端。它能夠快速自動地生成有效的表單,其中包含 XHtml 文檔中內嵌的 XForms 標記。表單生成的輸入可以是帶有或不帶有後端 XML Schema(或 WSDL 文檔)的 XML 數據實例。基於 SQL 腳本和存儲過程的 Data Web Services 是一個與數據庫相關的傳統 Web Services 應用程序。IBM® Data Studio 是通過直接連接到數據庫可視地生成 Data Web Services 的客戶端工具。

  XForms 和 XML Forms Generator

  W3C 已經為表單數據的表示和收集開發了 XForms 標准。如 W3C 推薦標准所述,XForms 的目標是成為 “下一代 Web 表單”。該建議還聲稱 “通過將傳統的 XHtml 表單拆分為 3 部分(XForms 模型、實例數據和用戶界面)把表示與內容分離開來,允許重用,實現了強類型,從而減少了往返服務器的次數,提供了設備獨立性,並且減少了編程”。 XForms 文檔帶有一個包含一個或多個 XML 實例文檔的數據模型。表單將處理這類實例文檔,並且將該 XML 的提交傳遞給後端系統。

  XML Forms Generator 工具為表單開發提供一個好的開端。它能夠快速自動地生成有效的表單,其中包含 XHTML 文檔中內嵌的 XForms 標記(在本文中,我們將這個組合稱為 “XHtml/XForm”)。表單生成的輸入可以是帶有或不帶有後端 XML Schema(或 WSDL 文檔)的 XML 數據實例。

  XML Forms Generator 是開源的 Eclipse Workbench 的一個插件,於 2005 年 4 月首次在 alphaWorks 上發布。這些站點幫助您了解、下載和安裝工具。

  Data Studio 和 Data Web Services

  IBM Data Studio 是一個集成數據管理環境。它為構建數據庫對象、查詢、數據庫邏輯和 pureQuery 應用程序提供一個完整的開發和測試環境。通過使用 Data Studio 工具,您可以借助 SQL 和 XQuery 集成查詢編輯器更快地開發數據庫應用程序,輕松地優化應用程序和查詢,借助交互式例程調試器構建和測試存儲過程(用 Java™ 代碼和 SQL),並且可以在 Java 應用程序內部快速開發或定制 SQL。

  IBM Data Studio 解決方案包含許多新特性,其中之一便是 Data Web Services 支持。Data Web Services 是 IBM 數據庫服務器的下一代 Web 服務供應商。Data Web Services 提供一個完整的 Web 服務界面,該界面支持 REST 式服務(HTTP GET/POST 綁定)、SOAP over HTTP Web 服務,以及自動生成 WSDL。Data Web Services 支持 IBM DB2® 數據庫家族、IBM Informix® Dynamic Server (IDS) 和許多流行的 Web 服務器,比如 Apache Tomcat v5.5、IBM WebSphere® Application Server V6.1 和 IBM WebSphere Application Server Community Edition V1.1。您可以從已發表的 developerWorks 文章更多地了解如何使用 Data Studio 創建 Data Web Services。

  為什麼將 XFG 集成到 Data Studio

  Data Studio 在數據庫和中間件層上大大方便了 Data Web Services 開發,而 XFG 通過 WSDL 文件生成功能能夠提高基於 XForms 的 UI 開發的效率。因此我們將 XFG 集成到 Data Studio,以跨數據庫、Web 服務提供自動的快速開發流程,並且提供一個基於 XForms 的 UI,以創建一個使用 Data Studio 和 XFG 特性的完整解決方案。

  集成 Data Studio 和 XFG 帶來的好處包括:

  XFG 是一個快速的原型化工具和 XML Message 可視化工具,用於 Data Studio 中的數據庫項目。

  XFG 與 Data Studio 是互補的,以幫助快速開發 UI。

  XFG 可以將 DB2 pureXML 數據可視化為 XHtml/XForms。

  XFG 從數據庫元數據和 XML Schema 生成驗證信息。

  這種集成能夠降低開發工作負載,並且能夠大大改善用戶體驗。

  XFG 和 Data Studio 都是 Eclipse 插件,Eclipse 使兩者的集成更加假單。要輕松集成 XFG 和 Data Studio,從更新站點下載 XFG 插件,並且將其安裝到 Eclipse。

  如何結合使用 XFG 和 Data Studio?

  這個小節介紹如何結合使用 XFG 和 Data Studio 來創建 web 應用程序。圖 1 顯示了 XFG 和 Data Studio 之間的架構和交互。


圖 1. Data Studio 和 XFG 架構和交換圖
集成 XML Forms Generator 和 Data Studio,第 1 部分: 通過創建應用程序開始集成

  在交互流程中,Data Studio 從數據庫元數據生成 Data Web Services。然後,XFG 利用 Data Web Services 和數據庫元數據生成 XHTML/XForms。最後,生成的 XHtml/XForm 通過 REST/SOAP 與 Data Web Services 通信。

  為了演示 Data Studio 和 XFG 如何協同工作的詳細步驟,您需要根據下表的結構創建一個微型的患者信息管理應用程序。

列名 列類型 必需 描述 ID INTEGER Y 表示針對插入到表中的每個記錄的惟一 ID。 NAME VARCHAR(10) Y 患者的姓名。 BIRTHDAY DATE Y 患者的出生日期。 HEIGHT DECIMAL Y 患者的身高。 WEIGHT DECIMAL Y 患者的體重。 DESCRIPTION VARCHAR(10) Y 關於患者的簡短描述。

  要嘗試這個示例,需要下載免費的 DB2 Express-C。使用 DB2 Control Center 創建一個數據庫,然後創建一個與 圖 2 中的描述匹配的表。在這個例子中,我們使用模式 “DB2ADMIN” 創建一個名為 “PATIENT” 的表。

  創建 Data Web Services

  在 DB2 中創建表之後,我們使用 Data Studio 創建 Data Web Services。為完成這個任務,Data Studio 使用創建的 SQL 定義 web 服務(單一的 SQL 語句或存儲過程)。使用 SQL 語句時,所有參數將映射到 Data Web Services 的 WSDL 中的輸入參數。Data Studio 和 XFG 支持兩種參數樣式:未命名參數和命名參數。

  如果使用未命名參數,SQL 語句類似於:

  INSERT INTO DB2ADMIN.PATIENT (NAME, BIRTHDAY, HEIGHT, WEIGHT, DESCRIPTION) VALUES (?,?,?,?,?)

  注意,這些值由變量占位符 (?,?,?,?,?) 表示。

  如果使用命名參數,SQL 語句將帶有一系列包含插入值的命名變量,類似於:

  INSERT INTO DB2ADMIN.PATIENT (NAME, BIRTHDAY, HEIGHT, WEIGHT, DESCRIPTION) VALUES (:NAME, :BIRTHDAY, :HEIGHT, :WEIGHT, :DESCRIPTION)

  使用命名參數時,生成的 XHtml/XForm 中的每個標簽都與對應的參數名相同;使用未命名參數時,將為每個標簽分配名稱,比如 p1,p2 等等。這裡不描述整個過程。在我們的示例中,創建了一個名為 insertPatient.sql 的 SQL 文件,然後創建相應的服務和一個名為 insertPatIEnt.wsdl 的 WSDL 文件。

  生成 XHtml/XForms

  從 Data Studio 創建和部署服務之後,您可以使用 XFG 生成與服務通信的 XHtml/XForm 和相應的 XML 文件。

  使用 XFG 時,選擇 insertPatIEnt.wsdl 文件,右鍵單擊 WSDL 文件,然後從 XForms Generator 菜單項選擇 Generate XHtml/XForms 向導。圖 2 顯示了第一個向導步驟: 

圖 2. 使用 XFG 向導的第一個步驟
集成 XML Forms Generator 和 Data Studio,第 1 部分: 通過創建應用程序開始集成

  查看原圖(大圖)

  這個步驟需要用戶名和密碼,以連接到底層數據庫。對於兩個選項 “Generate validation information” 和 “RetrIEve PureXML instance from Database”,它們在 DB2 中與 pureXML 支持一起使用,我們將在本系列的第二篇文章中討論這個問題;現在,不要選擇這兩個復選框。

  選擇生成 XFG 的操作。選擇 insertPatIEnt 操作。 

圖 3. 選擇一個目標操作
集成 XML Forms Generator 和 Data Studio,第 1 部分: 通過創建應用程序開始集成

  查看原圖(大圖)

  為生成的 XHtml 文件指定一個位置。 

圖 4. 為目標文件指定位置
集成 XML Forms Generator 和 Data Studio,第 1 部分: 通過創建應用程序開始集成

  查看原圖(大圖)

  將在 圖 5 中突出顯示的提交目標更改為已部署的 Web 服務的端點。只有正確設置端點之後(虛線矩形內),生成的 XHtml/XForm 才能夠與 Web 服務通信。 

圖 5. 定制輸出文檔
集成 XML Forms Generator 和 Data Studio,第 1 部分: 通過創建應用程序開始集成

  查看原圖(大圖)

  配置 XML 實例創建選項,如 圖 6 所示。 

圖 6. 為 XML 實例的創建選擇選項
集成 XML Forms Generator 和 Data Studio,第 1 部分: 通過創建應用程序開始集成

  查看原圖(大圖)

  為 XML 實例文件輸入或選擇位置。 

圖 7. 指定 XML 文件的位置
集成 XML Forms Generator 和 Data Studio,第 1 部分: 通過創建應用程序開始集成

  查看原圖(大圖)

  提供 XML 模式文件位置。 

圖 8. 指定模式文件的位置
集成 XML Forms Generator 和 Data Studio,第 1 部分: 通過創建應用程序開始集成

  查看原圖(大圖)

  最後,單擊 Finish 生成 XHTML/XForm。生成的 XHTML 文件名為 insertPatIEnt.xHtml。

  在 insertPatIEnt.xHtml 中,XFG 生成一個 XForms 模型和相關的綁定屬性,如 清單 1 所示。在 XForms 模型中,XFG 生成 XForms 綁定屬性形式的數據約束,它與數據庫元數據相對應,比如列類型、長度、是否是必需的,等等。



清單 1. 生成的 XForms 模型和綁定屬性
集成 XML Forms Generator 和 Data Studio,第 1 部分: 通過創建應用程序開始集成

  查看原圖(大圖)

  在 Firefox 中查看 insertPatIEnt.xHtml 時,將看到如圖 9 所示的屏幕:


圖 9. 在 Firefox 浏覽器中查看 insertPatIEnt XHtml/XForms 
集成 XML Forms Generator 和 Data Studio,第 1 部分: 通過創建應用程序開始集成

  查看原圖(大圖)

  從顯示的 insertPatIEnt.xHtml 視圖中,我們可以看到:

  所有必填的字段後面都標有一個紅色的星號。除了 DESCRIPTION 字段之外,其他字段都是必需的。

  如果輸入不正確的值,標簽將變成紅色,警告用戶驗證錯誤。如圖 9 所見,“HEIGHT” 是一個小數,但我們輸入了字符串值。(如果采用彩色顯示,可以看到標簽是紅色的)。

  表單中的每個字段都有提示消息。如您所見,剛才顯示了 “HEIGHT is (decimal, REQUIRED)”。

  對於類型是 Date、Boolean 的字段,或者能夠通過特殊部件可視化的其他字段,當編輯它們的值時,相應的部件將顯示值的字段。例如,Date Picker 將顯示為 Date 類型,而 CheckBox 將顯示為 Boolean 類型。

  使用 insertPatIEnt.xHtml 時,您可以通過提交表單與 Web 服務通信。像前面一樣,Web 服務將調用 SQL INSERT 語句,使用表單中的值將一行插入到表中。您可以轉到後端數據庫表查看內容;您將看到一個相應的記錄已經成功添加到表中。

  結束語

  本文簡單介紹了 XForms、XForms Generator、Data Studio 和 Data Web Services,然後說明集成 XFG 和 Data Studio 的理由。我們演示了 XFG 如何與 Data Studio 協調工作,從而為終端用戶構建完整的數據服務解決方案提供一種無縫的方法。在本系列的第二篇文章中,我們將概述 XFG 中的 DB2 pureXML 支持。我們將討論如何在與 pureXML 實例對應的注冊 XML 模式的支持下,通過集成 XFG 和 Data Studio 將 pureXML 實例可視化為 XHtml/XForms。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved