1. 程式人生 > >C/S結構的兩層模型、三層模型及多層模型

C/S結構的兩層模型、三層模型及多層模型

(1)兩層結構
在C/S結構中有傳統的兩層結構和新型的三層結構之分。二層結構最早在20世紀80年代後期引入業界的,它為多使用者系統提供了前所未有的雙向交流感和靈活性,革命性的改變了傳統的應用設計和系統實現方式,很快便在各種型別的軟體系統設計與開發中獲得了廣泛應用。兩層結構的處理流程可表示為:

兩層網路計算模式=多Client+單/多Data Server+動態計算

兩層結構的應用軟體模型可表示為:
這裡寫圖片描述
在這種模式中,伺服器只負責各種資料的處理和維護,為各個客戶機應用程式管理資料;客戶機包含文件處理軟體、決策支援工具、資料查詢等應用邏輯程式,通過網路使用SQL語言傳送、請求和分析從伺服器接收的資料。這是一種“胖客戶機(Fat Client)”、“瘦伺服器(Thin Server)”的網路結構模式。目前眾多的基於Internat/Internet網路農業專家軟體均屬這種結構。

隨著C/S結構應用範圍的不斷擴大和計算機網路技術的發展,這種結構帶來的問題如系統的可靠性有所降低、缺乏靈活性、資源浪費嚴重以及維護費用較高等等日益明顯,網路計算模式逐漸從兩層模式擴充套件到N展模式,並且結合動態計算,解決了這一問題。

(2)三層結構

目前最流行的多層模式是三層結構,其處理流程可表示為:

三層網路計算模式=多瀏覽器+單Web伺服器+多資料伺服器+動態計算

三層結構的應用軟體模型可表示為:

這裡寫圖片描述
在三層結構中,應用邏輯程式己從客戶機上分離出來,不但作為一個應用伺服器,而且又成為一個瀏覽的Web伺服器。這是一種“瘦客戶機(Thin Client)”網路結構模式,客戶端只存在介面顯示程式,只需在伺服器端隨機增加應用服務,即可滿足系統的需要,可以用較少的資源建立起具有很強伸縮性的系統,這也是當前Internet上最先進的技術之一。

(3)多層結構

多層結構的應用程式把業務邏輯獨立出來,組成一層或多層。形成客戶層介面、中間業務處理層(可由多層組成)和後端資料服務層,應用系統開發模式變為:

(1)客戶端人機介面的開發。開發大大簡化,只注重人機介面的設計,不必關心業務邏輯和資料庫的訪問,可以是瘦客戶機。

(2)中間業務邏輯層。提供客戶端程式呼叫的業務邏輯規則,以完成其業務操作,業務邏輯改變時,客戶端介面可以不作變化。

(3)資料庫服務層。提供對資料庫進行各種操作的方法,被中間業務邏輯層呼叫完成業務邏輯。

多層結構中,層次的劃分不是物理上的劃分,而是結構邏輯上的劃分,按應用目標劃分。如果客戶端要求響應速度很快,業務元件的體積較小,業務元件可以放在客戶端;如果業務元件包含大量對資料庫的操作,可以配置在資料庫伺服器上,以減少網路負載,提高運算速度;如果業務元件可供大多數客戶機程式訪問,則可以使用業務元件構成一個應用伺服器,供大家訪問。

多層結構的優點是:(1)可伸縮性好。可按應用要求部署邏輯層次,適應於本地網和廣域網。(2)網路效率高。經過合理的佈局,通過網路的傳輸資料量大大減少,提高了網路效率。(3)可管理性強。系統客戶層基本實現“零維護”,主要管理工作集中在應用邏輯層,業務邏輯的修改對客戶層沒有影響。(4)可重用性好。按可提供的服務構築應用,每種服務可以被不同的應用重用。由於採用面向物件的元件構成,進一步增加了系統的可重用性。(5)安全性較好。

採用多層結構的也存在一些困難:(1)初始開發週期延長。按元件方式開發,多層結構比傳統C/S結構需要做的工作量多。(2)開發的複雜性增加。除了考慮應用核心業務以外,開發人員還應考慮應用程式的效能、安全性、伸縮性、可靠性和可恢復能力。要求開發人員對系統有更深層次的瞭解。(3)、對系統的設計、規劃要求更高。對系統結構的設計、根據業務規劃合理劃分元件,以及服務的佈局,將是設計人員考慮的重點。

             本文部分資料摘自王寶金的文章