1、CS、BS架構定義
CS(Client/Server):客戶端----服務器結構。C/S結構在技術上很成熟,它的主要特點是交互性強、具有安全的存取模式、網絡通信量低、響應速度快、利于處理大量數據。因為客戶端要負責絕大多數的業務邏輯和UI展示,又稱為胖客戶端。它充分利用兩端硬件,將任務分配到Client 和Server兩端,降低了系統的通訊開銷。C/S結構的軟件需要針對不同的操作系統系統開發不同版本的軟件,加之產品的更新換代十分快,已經很難適應百臺電腦以上局域網用戶同時使用。
C/S 架構是一種典型的兩層架構,其客戶端包含一個或多個在用戶的電腦上運行的程序,而服務器端有兩種,一種是數據庫服務器端,客戶端通過數據庫連接訪問服務器端的數據;另一種是Socket服務器端,服務器端的程序通過Socket與客戶端的程序通信。
BS(Browser/Server):瀏覽器----服務器結構,是目前應用系統的發展方向。BS是伴隨著Internet技術的興起,對C/S架構的改進,為了區別于傳統的C/S 模式,特意稱為B/S模式。在這種結構下,通過W3瀏覽器來進入工作界面,極少部分事務邏輯在前端(Browser)實現,主要事務邏輯在服務器端(Server)實現,形成三層(3-tier)結構。這樣使得客戶端電腦負荷大大簡化(因此被稱為瘦客戶端),減輕了系統維護、升級的支出成本,降低了用戶的總體成本(TCO)。
BS的主要特點是分布性強、維護方便、開發簡單且共享性強、總體擁有成本低。但數據安全性問題、對服務器要求過高、數據傳輸速度慢、軟件的個性化特點明顯降低,難以實現傳統模式下的特殊功能要求。它是瘦客戶端,對大量的數據輸入以及報表的應答等都需要通過瀏覽器與服務器進行交互,通信開銷大,而且對于實現復雜的應用構造有較大的困難。
2、CS、BS 對硬件環境的要求
(1)C/S 用戶固定,一般只應用于局域網中,要求擁有相同的操作系統,如果對于不同操作系統還要相應開發不同的版本,并且對于計算機電腦配置要求也較高。
(2)B/S 要求有操作系統和瀏覽器就行,與操作系統平臺無關
(可以實現跨平臺),對客戶端的計算機電腦配置要求較低。
3、CS的優缺點
(1)優點:
- 能充分發揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務器,所以CS客戶端響應速度快。
- 操作界面漂亮、形式多樣,可以充分滿足客戶自身的個性化要求。
- 安全性能可以很容易保證,C/S一般面向相對固定的用戶群,程序更加注重流程,它可以對權限進行多層次校驗,提供了更安全的存取模式,對信息安全的控制能力很強。一般高度機密的信息系統采用C/S結構適宜。
(2)缺點:
- 需要專門的客戶端安裝程序,分布功能弱,針對點多面廣且不具備網絡條件的用戶群體,不能夠實現快速部署安裝和配置。
- 兼容性差,對于不同的開發工具,具有較大的局限性。若采用不同工具,需要重新改寫程序。
- 開發、維護成本較高,需要具有一定專業水準的技術人員才能完成,發生一次升級,則所有客戶端的程序都需要改變。。
- 用戶群固定。由于程序需要安裝才可使用,因此不適合面向一些不可知的用戶,所以適用面窄,通常用于局域網中。
4、BS的優缺點
(1)優點:
- 分布性強,客戶端零維護。只要有網絡、瀏覽器,可以隨時隨地進行查詢、瀏覽等業務處理。
- 業務擴展簡單方便,通過增加網頁即可增加服務器功能。
- 維護簡單方便,只需要改變網頁,即可實現所有用戶的同步更新。
- 開發簡單,共享性強。
(2)缺點:
- 個性化特點明顯降低,無法實現具有個性化的功能要求。不過隨著html5的普及,這個缺點越來越弱化了。
- 客戶端服務器端的交互是請求-響應模式,通常動態刷新頁面,響應速度明顯降低(Ajax可以一定程度上解決這個問題)。無法實現分頁顯示,給數據庫訪問造成較大的壓力。
小結:CS響應速度快,安全性強,一般應用于局域網中,但是開發維護成本高;BS可以實現跨平臺,客戶端零維護,但是個性化能力低,響應速度較慢。
您可能感興趣的文章:- 了解java架構之微服務架構—雪崩效應
- 淺談Java分布式架構下如何實現分布式鎖
- Java多線程及分布式爬蟲架構原理解析
- Java高級架構之FastDFS分布式文件集群詳解
- java使用三層架構實現電影購票系統
- 淺析JavaWeb項目架構之Redis分布式日志隊列
- java學生信息管理系統MVC架構詳解
- 10本Java架構師必讀書籍
- java三層架構原理與作用小結
- 詳解Java 微服務架構