C/S和B/S架構的概念、優缺點、應用以及區別

C/S和B/S架構的概念、優缺點、應用以及區別

1. C/S 架構

    C/S 架構是一種典型的兩層架構,其全程是Client/Server,即客戶端服務器端架構,其客戶端包含一個或多個在用戶的電腦上運行的程序,而服務器端有兩種,一種是數據庫服務器端,客戶端通過數據庫連接訪問服務器端的數據;另一種是Socket服務器端,服務器端的程序通過Socket與客戶端的程序通信。

簡單的說就是第一層是用戶表示層,第二層是數據庫層。

wKiom1bT0m6SjzfZAAAteh_VVrY686.png


    C/S 架構也可以看做是胖客戶端架構。因爲客戶端需要實現絕大多數的業務邏輯和界面展示。這種架構中,作爲客戶端的部分需要承受很大的壓力,因爲顯示邏輯和事務處理都包含在其中,通過與數據庫的交互(通常是SQL或存儲過程的實現)來達到持久化數據,以此滿足實際項目的需要。

想要使用C/S架構的軟件需要下載一個客戶端,安裝後就可以使用。

1.1 C/S 架構的優缺點

1.1.1 優點:

1客戶端與服務器直接相連:點對點模式更安全,實現多層仁恆也不難;可直接操作本地文件;減少了通信流量,客戶可省去部分費用;一層交互,響應速度快。

2客戶端可處理一些邏輯事務:可進行數據處理和數據存儲減少服務器負擔;客戶端有完整的應用程序,功能強大,子程序切換自由。

3客戶端操作界面豐富:可提高用戶體驗,滿足用戶需求,展現特點和個性。

1.1.2 缺點:

1適用面窄,通常用於局域網中

2通用性差:由於需要安裝客戶端,部署麻煩,易擴展。

3對服務器要求高:客戶端用戶增多,服務器會出現擁堵。
4用戶羣固定由於需要安裝客戶端纔可使用,不能隨時隨地訪問,不能實現真正大範圍的信息共享,信息傳達和發佈

5開發和維護成本高初次開發就需要配備好客戶端,服務器發生一次升級,則所有客戶端的程序都需要改變。維護升級成本太高。

1.2 C/S架構應用

C/S架構的軟件是在是數不勝數,從辦公的OFFICEWPSWINRAR到殺毒軟件如金山,瑞金再到我們的娛樂軟件,如播放器,QQ,微信等,無處不見C/S架構。

 

2. B/S架構

B/S架構的全稱爲Browser/Server,即瀏覽器/服務器結構。Browser指的是Web瀏覽器,極少數事務邏輯在前端實現,但主要事務邏輯在服務器端實現

Browser客戶端,Web應用服務器端和數據庫端構成所謂的三層架構。B/S架構的系統無須特別安裝,只有Web瀏覽器即可。它是C/S架構的一種改進,可以說屬於三層C/S架構。

wKiom1bT0n_A36etAAB21Rl3YnQ898.png

主要是利用了不斷成熟的WWW瀏覽器技術,用通用瀏覽器就實現了原來需要複雜專用軟件才能實現的強大功能,並節約了開發成本

B/S架構中,顯示邏輯交給了Web瀏覽器,事務處理邏輯在放在了WebApp上,這樣就避免了龐大的胖客戶端,減少了客戶端的壓力。因爲客戶端包含的邏輯很少,因此也被成爲瘦客戶端。

是多對多的結構。因此在此結構下,很適合在廣域網裏實現巨大的互聯網,甚至是全球網。有着很強大的信息共享性。

2.1 B/S架構的優缺點

2.1.1 優點:

1.瀏覽器客戶端:無需安裝,有Web瀏覽器即可,瀏覽器邏輯簡單,負擔小、好同步,擴展方便,開發簡單,維護成本低。
2.BS架構可以直接放在廣域網上,通過一定的權限控制實現多客戶訪問的目的,交互性較強,所需網速不高。外部用戶也可訪問。界面通用,易掌握。

3.數據集中存儲在服務器,數據安全。
4..BS架構無需升級多個客戶端,升級服務器即可,遠程維護升級共享方便。

5.隨着負載增加,可以平滑地增加服務器的個數並建立集羣服務器系統

6.所有的用戶都是通過一個JDBC連接緩衝池連接到數據庫的,用戶並不保持對數據庫的連接,用戶數基本上是無限的。

7.成本低:軟件重用性強,節約成本;人才培訓成本低;初次投入後基本不需要維護。

2.1.2 缺點:

1)在跨瀏覽器上,BS架構不盡如人意。
2)表現要達到CS程序的程度需要花費不少精力,頁面通用化,沒個性。
3)在速度和安全性上需要花費巨大的設計成本,這是BS架構的最大問題。

4. 功能雖然多樣化,但是不能專門化,不能實現複雜的功能。
5.客戶端服務器端的交互是請求-響應模式,通常需要刷新頁面,這並不是客戶樂意看到的。(在Ajax風行後此問題得到了一定程度的緩解)

6.服務器責任重大,負荷過重。服務器崩潰後果嚴重。

2.2 B/S架構應用

當時在講解典型的C/S架構時,提到了了常用的QQ軟件。現在新出來了一個WEBQQ,從WEBQQ名稱中的WEB就不難看出它屬於B/S架構,是一種瀏覽器服務器結構。事實上也是如此,因爲WEBQQ根本不需要安裝客戶端,只需要有瀏覽器就可以進行聊天交互了。

 

 

3. C/S和B/S關係概述

B/S架構是從C/S架構改進而來,隨着WEB技術的飛速發展以及人們對網絡的依賴程度加深,B/S一舉成爲當今最流行的網絡架構。

在響應速度,用戶界面,數據安全等方面,C/S強於B/S

但是在業務擴展和適用www條件下,B/S明顯勝過C/S

可以這麼說,B/S的強項就是C/S的弱項,反之亦然。它們各有優缺點,相互無法取代。

3.1 比較大的差別

1、結構 C/S兩層,B/S三層

C/S是兩層架構,由客戶端和服務器組成,而B/S是三層架構,由瀏覽器,WEB服務器和數據庫服務器組成。


2、邏輯事務處理 C/S客戶端分擔邏輯處理,B/S全靠服務器
    C/S架構讓客戶端和服務器承擔一部分邏輯事務處理,使得服務器的負擔減輕了,而且客戶端也能進行一些數據處理和存儲的功能。

B/S架構的瀏覽器就是它的客戶端,只進行一些簡單的輸入輸出和信息發佈共享的功能,主要的邏輯事務處理還是要靠服務器,所以服務器的負擔很重。


3、工作原理: C/S 點對點,B/S多對多
 C/S架構是客戶端和服務器直接相連,實現點對點的通信.

B/S是瀏覽器通過WEB服務器向數據庫服務器發送數據請求,實現多對多的通信。


4、響應速度C/S >B/S
C/S架構的客戶端和服務器直接相連,響應速度快,尤其是在用戶增多時更加明顯。

B/S架構響應速度慢,主要的重任在數據庫服務器身上,由於B/S架構的無限擴展性,當用戶激增,訪問量龐大時,服務器相應速度慢,服務器存在癱瘓的危險。


5、成本C/S >B/S,尤其是後期
C/S架構開發時,硬件需要一次性購買,費用較高,且需要訓練有素的技術人員,培訓費用高,而且軟件後期也需要不斷投入大量資金。

B/S架構只需要一次性投入幾乎可以一勞永逸,有利於軟件項目控制和IT黑洞。


6、維護、升級以及擴展C/S 難,B/S
C/S架構一旦有業務的變更或要升級,客戶端界面就要重新設計,需要投入大量的人力物力。軟件維護也比較麻煩,需要專業人士進行維護。用戶擴展也比較麻煩,需要安裝客戶端,對軟硬件要求高。

B/S架構的維護和升級都非常容易,只要更改頁面內容或者增減頁面即可,客戶端幾乎是零維護,只需要維護好服務器。所以相對來說更簡易,方便。由於B/S可以隨時隨地的訪問,所以極易擴展。


7、信息共享C/S 範圍小,B/S範圍廣
C/S架構是建立在局域網之上的,面向的是可知的有限用戶,信息共享只在小範圍內。

B/S架構建立在廣域網之上,用戶隨時隨地都可以訪問,外部用戶也可以訪問,尤其是WEB技術的不斷髮展,B/S面對的是幾乎無限的用戶羣體,所以信息共享性很強。


8、客戶端界面C/S 個性化,B/S通用化
C/S架構可以針對不同的功能設計出不同的很有特色的用戶界面,實現個性化。但是一旦業務改變就需要重新設計,很麻煩。

B/S架構的用戶界面很通用,不能針對用戶突出個性,但是業務改變時只需要改變界面內容或者增減頁面,很輕鬆就能實現。

3.2 其他差別

1、適用的網絡C/S局域網。B/S建立在廣域網的基礎上,有更大的使用範圍。
2、訪問C/S需要裝客戶端,而B/S可以隨時隨地訪問,只要有網有瀏覽器,方便快捷。  
3、數據庫連接類型C/S採用的ODBC連接,所以只要用戶連接了數據庫就一直保持連接不會斷開,所以限制了用戶數B/S採用的JDBC接,用戶並不保持對數據庫的連接,所以用戶數幾乎是無限的。
4、功C/S能實現複雜功能,如財政管理等,較大型的ERP系統仍是C/S架構B/S架構的界面比較通用,所能處理的邏輯事務較少,所以功能較弱。
5、安全性C/S局域網,用戶固定,安全性高於在廣域網面對不可知用戶的B/S
6、信息流向不同C/S中央集權的機械式處理交互性相對低B/S 信息流向可變化更像個交易中心。
7、對技術人員的要求C/S更高C/S的功能比較專業化,對設計和開發人員的要求較高,需要專業的培訓。B/S的界面比較人性化,通用化,所以不需要多高的技能。

 


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