C/S 和 B/S 模式的區別與聯系


  如果要比較兩種事物之間的相同點和不同點,首先,我們要分別對這兩種事物有一個最基本的了解。

 

一、C/S與B/S的定義

 

  •  C/S (Client/Server)結構,即大家熟知的客戶機和服務器結構。它是軟件系統體系結構,通過它可以充分利用兩端硬件環境的優勢,將任務合理分配到Client端和Server端來實現,降低了系統的通訊開銷。
  • B/S(Browser/Server)結構即瀏覽器和服務器結構。它是隨着Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,但是主要事務邏輯在服務器端(Server)實現,形成所謂三層3-tier結構。這樣就大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工作量,降低了用戶的總體成本(TCO)。

 

二、(C/S)   VS  (B/S )

 

  1. 簡單的用一張圖來表示兩者的區別:

 

  1. 優缺點:

 

  • C/S的優缺點:

 

   C/S的最大優點是能夠實現復雜的應用構造,安全性高,數據傳輸速度快。

 

(1)、應用服務器運行數據負荷較輕。

最簡單的C/S體系結構的數據庫應用由兩部分組成,即客戶應用程序和數據庫服務器程序。二者可分別稱為前台程序與后台程序。運行數據庫服務器程序的機器,也稱為應用服務器。一旦服務器程序被啟動,就隨時等待響應客戶程序發來的請求;客戶應用程序運行在用戶自己的電腦上,對應於數據庫服務器,可稱為客戶電腦,當需要對數據庫中的數據進行任何操作時,客戶程序就自動地尋找服務器程序,並向其發出請求,服務器程序根據預定的規則作出應答,送回結果,應用服務器運行數據負荷較輕。

(2)、數據的儲存管理功能較為透明。

在數據庫應用中,數據的儲存管理功能,是由服務器程序和客戶應用程序分別獨立進行的,前台應用可以違反的規則,並且通常把那些不同的(不管是已知還是未知的)運行數據,在服務器程序中不集中實現,例如訪問者的權限,編號可以重復、必須有客戶才能建立定單這樣的規則。所有這些,對於工作在前台程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務器架構的應用中,前台程序不是非常“瘦小”,麻煩的事情都交給了服務器和網絡。在C/S體系的下,數據庫不能真正成為公共、專業化的倉庫,它受到獨立的專門管理。

(3)、C/S架構的劣勢是高昂的維護成本且投資大。

首先,采用C/S架構,要選擇適當的數據庫平台來實現數據庫數據的真正“統一”,使分布於兩地的數據同步完全交由數據庫系統去管理,但邏輯上兩地的操作者要直接訪問同一個數據庫才能有效實現,有這樣一些問題,如果需要建立“實時”的數據同步,就必須在兩地間建立實時的通訊連接,保持兩地的數據庫服務器在線運行,網絡管理工作人員既要對服務器維護管理,又要對客戶端維護和管理,這需要高昂的投資和復雜的技術支持,維護成本很高,維護任務量大。其次,傳統的C/S結構的軟件需要針對不同的操作系統系統開發不同版本的軟件,由於產品的更新換代十分快,代價高和低效率已經不適應工作需要。在JAVA這樣的跨平台語言出現之后,B/S架構更是猛烈沖擊C/S,並對其形成威脅和挑戰。

 

  • B/S的優缺點:

 

B/S最大的優點就是可以在任何地方進行操作而不用安裝任何專門的軟件,只要有一台能上網的電腦就能使用,客戶端零安裝、零維護。系統的擴展非常容易。

 

(1)、維護和升級方式簡單。

 目前,軟件系統的改進和升級越來越頻繁,B/S架構的產品明顯體現着更為方便的特性。對一個稍微大一點單位來說,系統管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構的軟件只需要管理服務器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護。無論用戶的規模有多大,有多少分支機構都不會增加任何維護升級的工作量,所有的操作只需要針對服務器進行;如果是異地,只需要把服務器連接專網即可,實現遠程維護、升級和共享。所以客戶機越來越“瘦”,而服務器越來越“胖”是將來信息化發展的主流方向。今后,軟件升級和維護會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力、時間、費用的節省是顯而易見的,驚人的。因此,維護和升級革命的方式是“瘦”客戶機,“胖”服務器。

(2)、成本降低,選擇更多。

大家都知道windows在桌面電腦上幾乎一統天下,瀏覽器成為了標准配置,但在服務器操作系統上windows並不是處於絕對的統治地位。現在的趨勢是凡使用B/S架構的應用管理軟件,只需安裝在Linux服務器上即可,而且安全性高。所以服務器操作系統的選擇是很多的,不管選用那種操作系統都可以讓大部分人使用windows作為桌面操作系統電腦不受影響,這就使的最流行免費的Linux操作系統快速發展起來,Linux除了操作系統是免費的以外,連數據庫也是免費的,這種選擇非常盛行。比如說很多人每天上“網易”(原文為新浪)網,只要安裝了瀏覽器就可以了,並不需要了解“網易”的服務器用的是什么操作系統,而事實上大部分網站確實沒有使用windows操作系統,但用戶的電腦本身安裝的大部分是windows操作系統

(3)、應用服務器運行數據負荷較重。

由於B/S架構管理軟件只安裝在服務器端(Server)上,網絡管理人員只需要管理服務器就行了,用戶界面主要事務邏輯在服務器(Server)端完全通過WWW瀏覽器實現,極少部分事務邏輯在前端(Browser)實現,所有的客戶端只有瀏覽器,網絡管理人員只需要做硬件維護。但是,應用服務器運行數據負荷較重,一旦發生服務器“崩潰”等問題,后果不堪設想。因此,許多單位都備有數據庫存儲服務器,以防萬一。

 

三、追本溯源

 

必須強調:C/S和B/S並沒有本質的區別:B/S是基於特定通信協議(HTTP)的C/S架構,也就是說B/S包含在C/S中,是特殊的C/S架構

之所以在C/S架構上提出B/S架構,是為了滿足瘦客戶端、一體化客戶端的需要,最終目的節約客戶端更新、維護等的成本,及廣域資源的共享。

  1. B/S屬於C/S,瀏覽器只是特殊的客戶端;
  1. C/S可以使用任何通信協議,而B/S這個特殊的C/S架構規定必須實現HTTP協議;
  1. 瀏覽器是一個通用客戶端,本質上開發瀏覽器,還是實現一個C/S系統。

 

        C/S和B/S是當今世界開發模式技術架構的兩大主流技術。C/S是美國 Borland公司最早研發,B/S是美國微軟公司研發。目前,這兩項技術以被世界各國所掌握,這兩種技術都有自己一定的市場份額和客戶群。

 

        我們不能簡單的說是C/S還是B/S好,B/S結構的主要特點是分布性強、維護方便、開發簡單且共享性強、總體擁有成本低。但數據安全性問題、對服務器要求過高、數據傳輸速度慢、軟件的個性化特點明顯降低,這些缺點是有目共睹的,難以實現傳統模式下的特殊功能要求。例如通過瀏覽器進行大量的數據輸入或進行報表的應答、專用性打印輸出都比較困難和不便。此外,實現復雜的應用構造有較大的困難。雖然可以用ActiveX、Java等技術開發較為復雜的應用,但是相對於發展已非常成熟C/S的一系列應用工具來說,這些技術的開發復雜,並沒有完全成熟的技術工具供使用。只能說兩種開發模式各有優缺點和使用的范圍:B/S適用於用戶群龐大,或客戶需求經長發生變化的情況。C/S功能強大,可以減輕服務器端壓力,如果用戶的需求特別復雜,用C/S。

 

          但是隨着Windows將瀏覽器技術植入操作系統內部,B/S結構已越來越受到歡迎,客戶機越來越"瘦"而服務器越來越"胖"是將來軟件的主流發展方向

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com