[學習筆記]BS架構與CS架構


整理自:http://www.iteye.com/problems/102411

前兩天面試的時候被問到這個問題,沒有回答上來因此在這里學習整理一下。

 

B/S架構 

B/S架構的全稱為Browser/Server,即瀏覽器/服務器結構。Browser指的是Web瀏覽器,極少數事務邏輯在前端實現,但主要事務邏輯在服務器端實現,Browser客戶端,WebApp服務器端和DB端構成所謂的三層架構。B/S架構的系統無須特別安裝,只有Web瀏覽器即可。 
B/S架構中,顯示邏輯交給了Web瀏覽器,事務處理邏輯在放在了WebApp上,這樣就避免了龐大的胖客戶端,減少了客戶端的壓力。因為客戶端包含的邏輯很少,因此也被成為瘦客戶端。 

B/S架構的優缺點 

優點: 
1)客戶端無需安裝,有Web瀏覽器即可。 
2)BS架構可以直接放在廣域網上,通過一定的權限控制實現多客戶訪問的目的,交互性較強。
3)BS架構無需升級多個客戶端,升級服務器即可。 

缺點: 
1)在跨瀏覽器上,BS架構不盡如人意。 
2)表現要達到CS程序的程度需要花費不少精力。 
3)在速度和安全性上需要花費巨大的設計成本,這是BS架構的最大問題。 
4)客戶端服務器端的交互是請求-響應模式,通常需要刷新頁面,這並不是客戶樂意看到的。(在Ajax風行后此問題得到了一定程度的緩解) 

 

C/S 架構


C/S 架構是一種典型的兩層架構,其全稱是Client/Server,即客戶端服務器端架構,其客戶端包含一個或多個在用戶的電腦上運行的程序,而服務器端有兩種,一種是數據庫服務器端,客戶端通過數據庫連接訪問服務器端的數據;另一種是Socket服務器端,服務器端的程序通過Socket與客戶端的程序通信。 
C/S 架構也可以看做是胖客戶端架構。因為客戶端需要實現絕大多數的業務邏輯和界面展示。這種架構中,作為客戶端的部分需要承受很大的壓力,因為顯示邏輯和事務處理都包含在其中,通過與數據庫的交互(通常是SQL或存儲過程的實現)來達到持久化數據,以此滿足實際項目的需要。 

C/S 架構的優缺點 

優點: 
1.C/S架構的界面和操作可以很豐富。 
2.安全性能可以很容易保證,實現多層認證也不難。 
3.由於只有一層交互,因此響應速度較快。 

缺點: 
1.適用面窄,通常用於局域網中。 
2.用戶群固定。由於程序需要安裝才可使用,因此不適合面向一些不可知的用戶。 
3.維護成本高,發生一次升級,則所有客戶端的程序都需要改變。 

 

C/S 與 B/S 區別: 


Client/Server是建立在局域網的基礎上的.Browser/Server是建立在廣域網的基礎上的. 
1.硬件環境不同: 
C/S 一般建立在專用的網絡上, 小范圍里的網絡環境, 局域網之間再通過專門服務器提供連接和數據交換服務. 
B/S 建立在廣域網之上的, 不必是專門的網絡硬件環境,例與電話上網, 租用設備. 信息自己管理. 有比C/S更強的適應范圍, 一般只要有操作系統和瀏覽器就行 
2.對安全要求不同 
C/S 一般面向相對固定的用戶群, 對信息安全的控制能力很強. 一般高度機密的信息系統采用C/S 結構適宜. 可以通過B/S發布部分可公開信息. 
B/S 建立在廣域網之上, 對安全的控制能力相對弱, 面向是不可知的用戶群. 
3.對程序架構不同 
C/S 程序可以更加注重流程, 可以對權限多層次校驗, 對系統運行速度可以較少考慮. 
B/S 對安全以及訪問速度的多重的考慮, 建立在需要更加優化的基礎之上. 比C/S有更高的要求 。B/S結構的程序架構是發展的趨勢, 從MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持網絡的構件搭建的系統. SUN 和IBM推的JavaBean 構件技術等,使 B/S更加成熟. 
4.軟件重用不同 
C/S 程序可以不可避免的整體性考慮, 構件的重用性不如在B/S要求下的構件的重用性好. 
B/S 對的多重結構,要求構件相對獨立的功能. 能夠相對較好的重用.就入買來的餐桌可以再利用,而不是做在牆上的石頭桌子 
5.系統維護不同 
系統維護是軟件生存周期中,開銷大, -------重要 
C/S 程序由於整體性, 必須整體考察, 處理出現的問題以及系統升級. 升級難. 可能是再做一個全新的系統 
B/S 構件組成,方面構件個別的更換,實現系統的無縫升級. 系統維護開銷減到最小.用戶從網上自己下載安裝就可以實現升級. 
6.處理問題不同 
C/S 程序可以處理用戶面固定, 並且在相同區域, 安全要求高需求, 與操作系統相關. 應該都是相同的系統 
B/S 建立在廣域網上, 面向不同的用戶群, 分散地域, 這是C/S無法作到的. 與操作系統平台關系最小. 
7.用戶接口不同 
C/S 多是建立的Window平台上,表現方法有限,對程序員普遍要求較高 
B/S 建立在瀏覽器上, 有更加豐富和生動的表現方式與用戶交流. 並且大部分難度減低,減低開發成本. 
8.信息流不同 
C/S 程序一般是典型的中央集權的機械式處理, 交互性相對低 
B/S 信息流向可變化, B-B B-C B-G等信息、流向的變化, 更象交易中心

 


免責聲明!

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



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