深入理解C/S和B/S模式


B/S模式:browser/server,采用的是瀏覽器/服務器模式。C/S模式:client/server,采用的是客戶端/服務器模式。
C/S模式主要由客戶端應用程序(Client)、服務器管理程序(Server)和中間件(middleware)三個部件組成。
客戶應用程序是系統中用戶與數據進行交互的部件。
服務器管理程序負責有效地管理系統資源,如管理一個信息數據庫,其主要工作是當多個客戶並發地請求服務器上的相同資源時,對這些資源進行最優化管理。
中間件負責聯結客戶應用程序與服務器管理程序,協同完成一個作業,以滿足用戶查詢管理數據的要求。


B/S模式是一種以Web技術為基礎的新型MIS(Management Information System,管理信息系統)系統平台模式。把傳統C/S模式中的服務器部分分解為一個數據服務器與一個或多個應用服務器(Web服務器),從而構成一個三層結構的客戶服務器體系。
  第一層客戶機是用戶與整個系統的接口。客戶的應用程序精簡到一個通用的瀏覽器軟件,如火狐等。瀏覽器將HTML代碼轉化成圖文並茂的網頁,網頁還具備一定的交互功能,允許用戶在網頁提供的表單上輸入信息提交給后台,並提出處理請求,后台處理請求並作出響應,這個后台就是第二層的Web服務器。
  第二層Web服務器將啟動相應的進程來響應這一請求,並動態生成一串HTML代碼,在其中嵌入處理的結果,返回給客戶機的瀏覽器。如果客戶機提交的請求包括數據的存取,Web服務器還需與數據庫服務器協同完成這一處理工作。
  第三層數據庫服務器的任務類似於C/S模式,負責協調不同的Web服務器發出的SQ(查詢)請求,管理數據庫。

一、B/S模式

(1)B/S模式的優勢
首先它簡化了客戶端。它無需像C/S模式那樣在不同的客戶機上安裝不同的客戶應用程序,而只需安裝通用的瀏覽器軟件即可,從而達到了不受地域限制,分布性廣的目的,只要客戶端能夠上網即可完成相應操作。
其次,它簡化了系統的開發和維護。系統的開發者無須再為不同級別的用戶設計開發不同的客戶應用程序,只需把所有的功能都實現在Web服務器上,並就不同的功能為各個組別的用戶設置權限就可以。各個用戶通過HTTP請求在權限范圍內調用Web服務器上不同處理程序,從而完成對數據的查詢或修改操作。
相對於C/S,B/S的維護具有更大的靈活性。當形勢變化時,它無須再為每一個現有的客戶應用程序升級,而只需對Web服務器上的服務處理程序進行修訂即可。如果一個公司有上千台客戶機,並且分布在不同的地點,那么便於維護將會顯得非常重要。
再次,它使用戶的操作變得更加簡單。對於C/S模式,客戶應用程序有自己特定的規格,使用者需要接受專門培訓。而采用B/S模式時,客戶端只是一個簡單易用的瀏覽器軟件。無論是決策層還是操作層的人員都無需培訓就可以直接使用。
最后,B/S模式特別適用於網上信息發布,使得傳統的MIS的功能有所擴展。這是C/S所無法實現的。而這種新增的網上信息發布功能恰是現代企業所需的。這使得企業的大部分書面文件可以被電子文件取代,從而提高了企業的工作效率,使企業行政手續簡化,節省人力物力財力。
B/S模式的新穎與流行,和在某些方面相對於C/S的巨大改進,使B/S成了MIS系統平台的首選。
(2)B/S 模式的劣勢

  • 個性化特點明顯降低,無法實現具有個性化的功能要求。
  • 操作是以鼠標為最基本的操作方式,無法滿足快速操作的要求。
  • 頁面動態刷新,響應速度明顯降低。
  • 無法實現分頁顯示,給數據庫訪問造成較大的壓力。
  • 功能弱化,難以實現傳統模式下的特殊功能要求。

二、C/S模式

(1)C/S模式的優勢
首先,交互性強是C/S固有的一個優點。在C/S中,客戶端有一套完整的應用程序,在出錯提示、在線幫助等方面都有強大的功能,並且可以在子程序間自由切換。B/S雖然由JavaScript等腳本語言提供了一定的交互能力,但與C/S的一整套客戶應用相比還是有一定的局限。
其次,C/S 模式提供了更安全的存取模式。由於C/S是配對的點對點的結構模式,采用適用於局域網、安全性比較好的網絡協議(例如:NT的NetBEUI協議),安全性可以得到較好的保證。而B/S采用點對多點、多點對多點這種開放的結構模式,並采用TCP/IP這一類運用於Internet的開放性協議,其安全性只能靠數據服務器上管理密碼的數據庫來保證。現代企業需要有開放的信息環境,需要加強與外界的聯系,有的還需要通過Internet發展網上營銷業務,這使得大多數企業將他們的內部網與Internet相連。由於采用TCP/IP,他們必須采用一系列的安全措施,如構築防火牆,來防止Internet的用戶對企業內部信息的竊取以及外界病毒的侵入等。
再次,采用B/S模式將降低網絡通信量。B/S采用了邏輯上的三層結構,而在物理上的網絡結構仍然是原來的以太網或環形網。這樣,第一層與第二層結構之間的通信、第二層與第三層結構之間的通信都需占用同一條網絡線路。而C/S只有兩層結構,網絡通信量只包括Client與Server之間的通信量。所以,C/S處理大量信息的能力是B/S所無法比擬的。
最后,C/S模式比B/S模式響應更快。由於C/S在邏輯結構上比B/S少一層,對於相同的任務,C/S完成的速度總比B/S快,快是由於客戶端與服務器的直接相連,沒有中間環節,因此響應速度快。使得C/S更利於處理大量數據。
(2)C/S 模式的劣勢

  • 需要專門的客戶端安裝程序,分布功能弱,主要針對點多面廣且不具備網絡條件的用戶群體,不能夠實現快速部署安裝和配置,升級維護困難。
  • 兼容性差,對於不同的開發工具,具有較大的局限性。若采用不同工具,需要重新改寫程序。
  • 開發成本較高,需要具有一定專業水准的技術人員才能完成。

三、C/S模式與B/S模式相結合方案

系統分析員可以根據系統的特點,靈活地為不同的子功能采用不同的MIS系統平台,將兩種模式交叉並行使用。首先,開發者根據一定的原則,將系統的所有子功能分類,決定哪些子功能適合采用C/S,哪些適合采用B/S。
適合采用C/S的子功能應具備以下特點:

  • 安全性要求高;
  • 要求具有較強的交互性;
  • 使用范圍小,地點固定;
  • 要求處理大量數據。

適合采用B/S的子功能應具備以下特點:

  • 使用范圍廣,地點靈活;
  • 功能變動頻繁;
  • 安全性、交互性要求不是很高。

相對於單獨采用C/S或B/S,這種方案的優點在於:
1、保證敏感數據的安全性,特別是對數據庫的修改和新增記錄加強了控制;
2、經濟有效地利用企業內部計算機的資源,簡化了一部分可以簡化的客戶端;
3、既保證了復雜功能的交互性,又保證了一般功能的易用與統一;
4、系統維護簡便,布局合理;
5、網絡效率利用達到最高。

參考資料:
(1) https://www.cnblogs.com/yan1/p/9693762.html
(2) https://wenku.baidu.com/view/e8b0588a312b3169a551a43e.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM