實現 Ajax 客戶機和伺服器層

來源:互聯網
上載者:User
  Ajax(Asynchronous JavaScript + XML)正在迅速地成為時髦的技術,它可以為在瀏覽器中啟動並執行 Web 應用程式提供具有案頭品質的軟體特性……         本文將開發銀行情境的一些部分。具體地說,將使用 MySQL 資料庫建立一個後端資料庫。我們將研究幾個 MySQL 命令列工具,並使用這些工具串連資料庫、在資料庫中建立、定義和填充與銀行相關的資料。然後,開發一個中介層 PHP 模組來提供銀行的商務邏輯,這個模組使用 ODBC 串連 MySQL 資料庫。最後,開發一個銀行門戶,使用者可以通過這個簡單的瀏覽器使用者介面與這個端到端應用程式進行互動,這個應用程式不久之後就可以在 Zend Core 上運行。

  簡介

  本文這個銀行情境主要提供銀行出納員執行的基本服務。客戶資料是這個情境的重要部分。在此之後,可以通過 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 資料庫

  MySQL 是一種開放源碼資料庫。在我們的情境中,使用社區伺服器版本,這是一個緊湊的資料庫伺服器,具有許多有用的特性。因為這個銀行情境的實現基於開放源碼產品,所以 MySQL 和 Zend Core PHP 是合適的組合。Zend Core 本身支援 MySQL,還有各種支援 MySQL 管理和編程的工具。在我們的情境中,只使用 MySQL 命令列客戶機執行 MySQL 的管理。我們將用 MySQL 資料庫為這個情境建立銀行帳戶資料庫。

  建立並填充銀行資料庫

  在這個情境中,將為給定的客戶儲存以下帳戶資訊:

  •   AccountHolderName
  •   AccountNumber
  •   CheckingBalance
  •   StockName
  •   StockQuantity
  •   StockValue

  給定客戶的帳戶資訊包括帳戶持有人的姓名、帳戶號、當前的資產餘額、客戶擁有的一隻股票的編號、擁有的股票總數以及股票投資組合的當前市值。下面幾節詳細介紹如何建立資料庫表,然後用一些虛構的銀行客戶的帳戶資訊填充這個表。我們開始吧!

  按照以下步驟建立資料庫,然後用應用程式相關資料填充這個表:

  •   如果 Eclipse 還未啟動並執行話,就啟動它(c:\eclipse\eclipse.exe)。
  •   確保在 Eclipse 中啟用了 PHP 透視圖:
    •   選擇 Window->Open Perspective->Other->PHP 並單擊 OK。
  •   在 Eclipse 中,選擇 File->New->Project。
  •   選擇 General->Project 並單擊 Next。
  •   在 project name 欄位中輸入 BankDB。
  •   單擊 Finish。
  •   右擊 BankDB project 並選擇 New->Other。
  •   選擇 General-> File 並單擊 Next。
  •   在 File name 欄位中,輸入 BankDB.sql 並單擊 Finish。
  •   輸入或粘貼 清單 1 中的代碼作為 BankDB.sql 的內容。
  •   儲存並關閉這個檔案。
  •   為了啟動 MySQL 命令列客戶機,單擊 Windows Start Menu->All Programs->MySQL->MySQL Server->MySQL Command Line Client。
  •   在 MySQL 命令列視窗中,輸入密碼 webtech 並按 Enter。
  •   在 mysql> 提示下,輸入 source c:\eclipse\workspace\BankDB\BankDB.sql 並按 Enter。
  •   檢查 BankDB 資料庫是否存在,以此確認前面的命令已經正確地執行了。檢查所用的命令如下:
    •   show databases;
    •   use bankdb;
    •   show tables;
    •   describe account;
  •   在 MySQL 命令列客戶機中,輸入 exit 關閉它。

  清單 1. BankDB.sql 檔案的內容

-- This file is part of the End-to-End Ajax development article in
-- the IBM developerWorks. This file contains a simple DB script to
-- create a database and populate it with the data.
--
-- Last Modified: May/10/2007
--
-- To execute the following statements in MySQL, do the following steps.
-- 1) Start MySQL command line client.
-- 2) Enter your MySQL admin password.
-- 3) Type the following line by substituting <YOUR_SQL_FILE_DIR> with the
--    directory name where the file is stored.
--    source <YOUR_SQL_FILE_DIR>\bankdb.sql

--
-- Table structure for table 'BankDB'
--

DROP DATABASE BankDB;

CREATE DATABASE BankDB;

USE BankDB;

CREATE TABLE account (
   AccountHolderName VARCHAR(20) NOT NULL,
   AccountNumber INTEGER NOT NULL,
   CheckingBalance DOUBLE NOT NULL,
   StockName VARCHAR(6),
   StockQuantity INTEGER,
   StockValue DOUBLE,
   PRIMARY KEY(AccountHolderName, AccountNumber)
);

--
-- Populating data for table 'account'
--

insert into ACCOUNT values ('Frodo', 435245, 2344.45, 'GOOG', 100, 3453.32);
insert into ACCOUNT values ('Sam', 928462, 7583.32, 'CSCO', 200, 5323.43);
insert into ACCOUNT values ('Pippin', 234233, 3444.62, 'INTC', 300, 4213.76);
insert into ACCOUNT values ('Merry', 642445, 1005.32, 'MSFT', 250, 1353.32);
insert into ACCOUNT values ('Aragorn', 972321, 6424.24, 'HPQ', 525, 12043.94);
insert into ACCOUNT values ('Gandalf', 432134, 5392.23, 'IBM', 400, 10043.78);
insert into ACCOUNT values ('Legolas', 590134, 4313.82, 'DELL', 325, 5926.62);

  使用 PHP 訪問 MySQL 資料庫

  PHP 最受人喜愛的特性之一是,它為訪問不同廠商的資料庫中的資料提供了簡單且出色的支援,包括 MySQL。它提供了一種整合商務邏輯和資料庫的簡便有效方法。在過去幾年中,PHP 社區完成了幾項改進,比如 PHP Data Objects(PDO),PDO 提供一個抽象層,無論使用哪種資料庫伺服器,這個抽象層都公開同樣的 API 函數。有兩種風格的 PHP 資料庫 API 函數:過程式的和物件導向的。在這個情境中,我們使用針對 MySQL 的直接資料庫 API 來獲得一個基本的瞭解。PHP 提供兩種訪問 MySQL 的方法:

  •   MySQL
  •   MySQL Improved

……

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.