在這個分三部分的系列的 第 1 部分 中,瞭解了 Firefox、Zend Core 和 MySQL 等開放源碼技術的重要特性。我們討論了一個比較複雜的銀行情境,這個情境跨越 Ajax 應用程式的所有三層。還設定了開發端到端 Ajax 應用程式所需的資料庫伺服器、中介層伺服器和基於 Eclipse 的 IDE。在本系列的第 2 部分中,將開發銀行情境的一些部分。具體地說,將使用 MySQL 資料庫建立一個後端資料庫。我們將研究幾個 MySQL 命令列工具,並使用這些工具串連資料庫、在資料庫中建立、定義和填充與銀行相關的資料。然後,開發一個中介層 PHP 模組來提供銀行的商務邏輯,這個模組使用 ODBC 串連 MySQL 資料庫。最後,開發一個銀行門戶,使用者可以通過這個簡單的瀏覽器使用者介面與這個端到端應用程式進行互動,這個應用程式不久之後就可以在 Zend Core 上運行。
簡介
正如 第 1 部分 所指出的,這個銀行情境主要提供銀行出納員執行的基本服務。如果您還不瞭解這個情境,請閱讀 第 1 部分。客戶資料是這個情境的重要部分。對於本系列的情境,所有客戶資料將同時填充進資料庫表中。在此之後,可以通過 Zend Core 提供的 ODBC MySQL 驅動程式擷取和更新儲存的客戶資料。處理了客戶資料之後,重點轉移到提供銀行出納功能所需的核心銀行邏輯。我們開發一個 PHP 代碼模組來提供核心銀行邏輯,並使用 ODBC 進行必要的資料庫訪問。使用 Zend Core 和 PHP 實現銀行邏輯的主要優點是,可以利用內建的 MySQL 支援。
在建立資料庫並開發 PHP 模組之後,為銀行出納員提供執行四個核心功能的使用者介面。我們通過一個瘦客戶機訪問 PHP 模組中封裝的核心銀行邏輯。具體地說,這個基於 Web 的瘦客戶機是按照 Ajax 風格產生的:XHTML、Cascading Style Sheet(CSS)、JavaScript 和 XMLHttpRequest(XHR)。它為銀行出納員提供執行核心銀行功能的簡單使用者介面。這個瀏覽器使用者介面還示範瀏覽器客戶機邏輯與伺服器端 PHP 邏輯進行網路通訊的方法。
到本文結束時,我們會建立資料庫、一個提供核心銀行邏輯的 PHP 模組以及一個單頁面瀏覽器使用者介面,這些都是銀行情境的組成部分。
MySQL 資料庫
正如在 第 1 部分 中指出的,MySQL 是一種開放源碼資料庫。在我們的情境中,使用社區伺服器版本,這是一個緊湊的資料庫伺服器,具有許多有用的特性。因為這個銀行情境的實現基於開放源碼產品,所以 MySQL 和 Zend Core PHP 是合適的組合。Zend Core 本身支援 MySQL,還有各種支援 MySQL 管理和編程的工具。在我們的情境中,只使用 MySQL 命令列客戶機執行 MySQL 的管理。我們將用 MySQL 資料庫為這個情境建立銀行帳戶資料庫。
建立並填充銀行資料庫
在這個情境中,將為給定的客戶儲存以下帳戶資訊:
AccountHolderName
AccountNumber
CheckingBalance
StockName
StockQuantity
StockValue
給定客戶的帳戶資訊包括帳戶持有人的姓名、帳戶號、當前的資產餘額、客戶擁有的一隻股票的編號、擁有的股票總數以及股票投資組合的當前市值。下面幾節詳細介紹如何建立資料庫表,然後用一些虛構的銀行客戶的帳戶資訊填充這個表。我們開始吧!