跟隨本案例分析,使用 IBM® DB2® 9 for Linux®, UNIX®, and Windows®、XQuery、PHP 和 Dojo JavaScript Framework 快速建立一個優雅的、能夠做出響應的 Web 應用程式。本案例學習建立在 IOD Planner 2006 基礎上,這是一個用於 IBM Information On Demand 2006 Global Conference 的 Web 應用程式。學習 Ajax 方法的優點並瞭解如何逐步實現這種應用程式。
開始之前
關於本教程
本教程的目的有二 —— 展示使用 Ajax/Web 2.0 方法進行 Web 開發的優點,以及展示 DB2 9 pureXML™ 的強大功能。根據這兩個目的,我結合 Information On Demand 2006 Global Conference 編寫了 Information On Demand 2006 Scheduler 應用程式。這是一個簡單的可用來規劃會議議程的應用程式。它利用了 Ajax —— Asynchronous JavaScript and XML —— 方法來進行 Web 編程,從而實現直觀簡單的使用者互動。它還利用了 IBM DB2 9 的快速 pureXML 功能。
圖 1 示範了 IOD Planner 應用程式的開發。在後台進行了全部的載入以避免重新整理延遲,並對錶單欄位、對話方塊和下拉式功能表使用了豐富的組件。
圖 1. IOD Planner 2006
先決條件
您應該對 Web 開發和資料庫有適當的瞭解。教程 “DB2 XML evaluation guide”(developerWorks,2006 年 6 月)對 DB2 9 進行了很好的介紹,而 “Query DB2 XML Data with XQuery”(developerWorks,2006 年 4 月)則介紹了 XQuery。
系統需求
要部署原始碼,需要 Windows 或 Linux 作業系統。在其上,需安裝 Zend Core for IBM(參見 參考資料 中的下載連結)。Zend Core 很方便地捆綁了 DB2 9 Express-C 資料服務器、Apache2 Web 服務器、PHP 指令碼語言、DB2 的 PHP 擴充和一個功能強大的管理主控台。
為什麼使用 Ajax?
圖 2. 傳統的 Web 模型和 Ajax 模型
Ajax 基本原理的關鍵原則是避免載入新的 Web 頁面。相反,可以在後台載入新的內容並在現有頁面中顯示它。這樣就避免了重新載入基本架構的浪費,而且也不需要花時間等待瀏覽器呈現相同的導航和設計。您的使用者不會看到載入中的空頁面。最終的結果是一個迅速的、響應性很好的應用程式。
使用 XMLHTTPRequest 對象向伺服器發送請求,並在響應到達時對其進行非同步處理。和其名字相反,該對象並不只限制於 XML。任何空白的文字格式設定,從 JavaScript (JSON) 到 CSV 再到預先產生的 HTML,都可以使用這種機制接收。我們選擇後者 —— 在伺服器中產生的 HTML。
Ajax 風格的 Web 應用程式主要包括 Bloglines、Del.icio.us、Digg、Flickr、Google Map、Gmail 和 Reddit。