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