三層C/S的結構特點

傳統的二層C/S結構有以下幾個侷限性:
1、二層C/S結構是單一服務器組成以局域網爲中心,難以擴展到大型企業的廣域網或Internet。
2、軟硬結合有限。
3、客戶機負荷太重,難以管理大量的客戶機。
4、數據安全性不好。
正是因爲二層C/S有這麼多缺點,因此,三層C/S結構應運而生。三層C/S結構是將應用功能分成表示層、功能層和數據層三個部分,如圖2所示。
  
圖 2 三層C/S結構示意圖
  表示層是應用的用戶接口部分,它擔負着用戶與應用間的對話功能。它用於檢查用戶從鍵盤等輸入的數據,顯示應用輸出的數據。爲使用戶能直觀地進行操作,一般要使用圖形用戶接口,操作簡單、易學易用。在變更用戶接口時,只需改寫顯示控制和數據檢查程序,而不影響其他兩層。檢查的內容也只限於數據的形式和取值的範圍,不包括有關業務本身的處理邏輯。
  功能層相當於應用的本體,它是將具體的業務處理邏輯編入程序中。例如,在製作訂購合同時要計算合同金額,按照定好的格式配置數據、打印訂購合同,而處理所需的數據則要從表示層或數據層取得。表示層和功能層之間的數據交往要儘可能簡潔。例如,用戶檢索數據時,要設法將有關檢索要求的信息一次性地傳送給功能層,而由功能層處理過的檢索結果數據也一次性地傳送給表示層。
  通常,在功能層中包含有確認用戶對應用和數據庫存取權限的功能以及記錄系統處理日誌的功能。功能層的程序多半是用可視化編程工具開發的,也有使用COBOL和C語言的。
  數據層就是數據庫管理系統,負責管理對數據庫數據的讀寫。數據庫管理系統必須能迅速執行大量數據的更新和檢索。因此,一般從功能層傳送到數據層的要求大都使用SQL語言。
  三層C/S的解決方案是:對這三層進行明確分割,並在邏輯上使其獨立。原來的數據層作爲數據庫管理系統已經獨立出來,所以,關鍵是要將表示層和功能層分離成各自獨立的程序,並且還要使這兩層間的接口簡潔明瞭。
  一般情況是隻將表示層配置在客戶機中,如果連功能層也放在客戶機中,與二層C/S結構相比,其程序的可維護性要好得多,但是其他問題並未得到解決。客戶機的負荷太重,其業務處理所需的數據要從服務器傳給客戶機,所以系統的性能容易變壞。
  如果將功能層和數據層分別放在不同的服務器中,則服務器和服務器之間也要進行數據傳送。但是,由於在這種形態中三層是分別放在各自不同的硬件系統上的,所以靈活性很高,能夠適應客戶機數目的增加和處理負荷的變動。例如,在追加新業務處理時,可以相應增加裝載功能層的服務器。因此,系統規模越大這種形態的優點就越顯著。
  與傳統的二層結構相比,三層C/S結構具有以下優點:   (1)允許合理地劃分三層結構的功能,使之在邏輯上保持相對獨立性,從而使整個系統的邏輯結構更爲清晰,能提高系統和軟件的可維護性和可擴展性。
  (2)允許更靈活有效地選用相應的平臺和硬件系統,使之在處理負荷能力上與處理特性上分別適應於結構清晰的三層;並且這些平臺和各個組成部分可以具有良好的可升級性和開放性。例如,最初用一臺Unix工作站作爲服務器,將數據層和功能層都配置在這臺服務器上。隨着業務的發展,用戶數和數據量逐漸增加,這時,就可以將Unix工作站作爲功能層的專用服務器,另外追加一臺專用於數據層的服務器。若業務進一步擴大,用戶數進一步增加,則可以繼續增加功能層的服務器數目,用以分割數據庫。清晰、合理地分割三層結構並使其獨立,可以使系統構成的變更非常簡單。因此,被分成三層的應用基本上不需要修正。   (3)三層C/S結構中,應用的各層可以並行開發,各層也可以選擇各自最適合的開發語言。使之能並行地而且是高效地進行開發,達到較高的性能價格比;對每一層的處理邏輯的開發和維護也會更容易些。
  (4)允許充分利用功能層有效地隔離開表示層與數據層,未授權的用戶難以繞過功能層而利用數據庫工具或***手段去非法地訪問數據層,這就爲嚴格的安全管理奠定了堅實的基礎;整個系統的管理層次也更加合理和可控制。
  三、C/S與B/S混合軟件體系結構
  B/S與C/S混合軟件體系結構是一種典型的異構體系結構。
  B/S軟件體系結構,即Browser/Server (瀏覽器/服務器)結構,是隨着Internet技術的興起,對C/S體系結構的一種變化或者改進的結構。在B/S體系結構下,用戶界面完全通過WWW瀏覽器實現,一部分事務邏輯在前端實現,但是主要事務邏輯在服務器端實現。
  B/S體系結構主要是利用不斷成熟的WWW瀏覽器技術,結合瀏覽器的多種腳本語言,用通用瀏覽器就實現了原來需要複雜的專用軟件才能實現的強大功能,並節約了開發成本,是一種全新的軟件體系結構。基於B/S體系結構的軟件,系統安裝、修改和維護全在服務器端解決。用戶在使用系統時,僅僅需要一個瀏覽器就可運行全部的模塊,真正達到了"零客戶端"的功能,很容易在運行時自動升級。B/S體系結構還提供了異種機、異種網、異種應用服務的聯機、聯網、統一服務的最現實的開放性基礎。
  但是,與C/S體系結構相比,B/S體系結構也有許多不足之處,例如:
  (1)B/S體系結構缺乏對動態頁面的支持能力,沒有集成有效的數據庫處理功能。
  (2)B/S體系結構的系統擴展能力差,安全性難以控制。
  (3)採用B/S體系結構的應用系統,在數據查詢等響應速度上,要遠遠地低於C/S體系結構。
  (4)B/S體系結構的數據提交一般以頁面爲單位,數據的動態交互性不強,不利於在線事務處理(OLTP)應用。
  從上面的對比分析中,我們可以看出,傳統的C/S體系結構並非一無是處,而新興的B/S體系結構也並非十全十美。由於C/S體系結構根深蒂固,技術成熟,原來的很多軟件系統都是建立在C/S體系結構基礎上的,因此,B/S體系結構要想在軟件開發中起主導作用,要走的路還很長。我們認爲,C/S體系結構與B/S體系結構還將長期共存。
  我們在實現藍電變電站信息管理系統解決方案中,就使用了C/S與B/S混合軟件體系結構的方式,其結構如圖3所示。
  
圖3 C/S與B/S混合軟件體系結構   變電站內部用戶通過局域網直接訪問數據庫服務器,外部用戶(包括縣調、地調和省局的用戶及普通Internet用戶)通過Internet訪問Web服務器,再通過Web服務器訪問數據庫服務器。該解決方案把B/S和C/S這兩種軟件體系結構進行了有機的結合,揚長避短,有效地發揮了各自的優勢。同時,因外部用戶只需一臺接入Internet的計算機,就可以通過Internet查詢運行生產管理情況,無須做太大的投入和複雜的設置。這樣也方便所屬電業局及時瞭解各變電站所的運行生產情況,對各變電站的運行生產進行宏觀調控。
  C/S與B/S混合軟件體系結構的優點是外部用戶不直接訪問數據庫服務器,能保證企業數據庫的相對安全。企業內部用戶的交互性較強,數據查詢和修改的響應速度較快。
  C/S與B/S混合軟件體系結構的缺點是企業外部用戶修改和維護數據時,速度較慢,較煩瑣,數據的動態交互性不強。

2

收藏

aoxiao

14篇文章,5W+人氣,0粉絲

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章