客戶/服務器的開發工作涉及定義客戶/服務器的體系結構, 然後再將該結構與其它一些對於客戶/服務器的實現至關重要的系統結構和技術集成起來。Delphi 2.0的Client/Sever版支持用戶開發客戶/服務器結構的應用程序。本章中我們將闡述客戶服務器體系結構原理、如何用Delphi構建客戶/服務器的環境和Delphi存取遠程SQL服務器的編程和注意事項。
18.1 Delphi客戶/服務器應用開發原理
18.1.1 客戶/服務器體系結構
18.1.1.1 體系結構概述
客戶/服務器系統的體系結構有以下兩個特點:
● 是集合智能用戶工作站作為有效平台使用
● 平台和軟件之間的互操作性
客戶/服務器結構包括連接在一個網絡中的多台計算機。那些處理應用程序,請求另一計算機的服務的計算機稱為客戶機(Client)。而處理數據庫的計算機稱為服務器(Server)。所有用戶都擁有他們自己的計算機來處理應用程序。
客戶機計算機可以是大型機、小型機或微機。但是由於微機具有成本的優勢,因而通常選擇它們作為客戶機。同樣地,服務器通常是一台微機但在需要較大能力時,也可以使用一台大型機或小型機。在數據庫環境下,通過若干稱作中間件(Middleware)的程序設計接口,客戶機可以與服務器通信。這些接口提供應用程序和數據庫之間的連通性。
圖18.1 客戶/服務器體系結構
雖然圖18.1只有一個服務器,但客戶/服務器結構也可以包括多個服務器。然而在這種情況下,每個服務器必定只處理一個不同的數據庫或提供一個唯一的服務。(注意:使用兩上或多個服務器來處理同一個數據庫的結構不認為是客戶/服務器系統,相反它是一個分布式數據庫系統〕
表18.1歸納了計算機在客戶/服務器系統中的既定作用。
表18.1 客戶機和服務器計算機的作用
━━━━━━━━━━━━━━━━━━━━━━━━━━━
客戶機功能 服務器功能
───────────────────────────
管理用戶接口 從客戶機接受數據庫請求
從用戶接受數據 處理數據庫請求
處理應用邏輯 格式化結果並傳送給客戶機
產生數據庫請求 執行完整性檢查
向服務器發送數據庫請求 提供並行訪問控制
從服務器接收結果 執行恢復
格式化結果 優化查詢和更新處理
━━━━━━━━━━━━━━━━━━━━━━━━━━━
18.1.1.2 客戶機概述
如上所述,客戶機運行那些使用戶能闡明其服務請求的程序,並將這些請求傳送到服務器。由客戶機執行的計算稱為前端處理(front-end processing)。前端處理具有所有與提供、操作和顯示數據相關的功能。
客戶機軟件由網絡接口軟件、支持用戶需求的應用程序以及實現網絡能力的實用程序【例如電子郵件(E-Mail)和群件(Groupware)】組成。網絡接口軟件提供各種數據傳輸服務。應用程序軟件執行具體的任務,如字處理、電子表格和數據庫查詢生成。實用程序軟件通常執行幾乎所有網絡用戶都要求的標准任務。
18.1.1.3 服務器概述
在服務器上執行的計算稱為後端處理(back-end processing)。後端硬件(back- end hardware)是一台管理數據資源並執行數據庫引擎功能(如存儲、操作和保護數據)的計算機。在大型機環境下,後端網絡(back-end network)提供大型計算機至大容量存儲設備、控制器以及文件服務器的連接。在識別、評價和選擇適當的服務器平台時,必須考慮將由該平台提供的服務。例如,一個數據庫服務器可能需要快速處理能力。其他可能需要執行的網絡服務有通信、應用程序、文件訪問以及只讀存儲器(CD-ROM)服務。隨著新的應用技術的廣泛使用,可被提供的潛在服務還將繼續增加。
服務器軟件既包括遵循於OSI或其它網絡結構的網絡軟件,又包括由該服務器提供給網絡上客戶機的應用程序或服務軟件。