第一篇:CS與BS架構(gòu)的區(qū)別與優(yōu)缺點(diǎn)
C/S與B/S架構(gòu)的區(qū)別與優(yōu)缺點(diǎn)
C/S 架構(gòu)
C/S 架構(gòu)是一種典型的兩層架構(gòu),其全程是Client/Server,即客戶端服務(wù)器端架構(gòu),其客戶端包含一個或多個在用戶的電腦上運(yùn)行的程序,而服務(wù)器端有兩種,一種是數(shù)據(jù)庫服務(wù)器端,客戶端通過數(shù)據(jù)庫連接訪問服務(wù)器端的數(shù)據(jù);另一種是Socket服務(wù)器端,服務(wù)器端的程序通過Socket與客戶端的程序通信。
C/S 架構(gòu)也可以看做是胖客戶端架構(gòu)。因?yàn)榭蛻舳诵枰獙?shí)現(xiàn)絕大多數(shù)的業(yè)務(wù)邏輯和界面展示。這種架構(gòu)中,作為客戶端的部分需要承受很大的壓力,因?yàn)轱@示邏輯和事務(wù)處理都包含在其中,通過與數(shù)據(jù)庫的交互(通常是SQL或存儲過程的實(shí)現(xiàn))來達(dá)到持久化數(shù)據(jù),以此滿足實(shí)際項(xiàng)目的需要。
C/S 架構(gòu)的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
1.C/S架構(gòu)的界面和操作可以很豐富。
2.安全性能可以很容易保證,實(shí)現(xiàn)多層認(rèn)證也不難。3.由于只有一層交互,因此響應(yīng)速度較快。
缺點(diǎn):
1.適用面窄,通常用于局域網(wǎng)中。2.用戶群固定。由于程序需要安裝才可使用,因此不適合面向一些不可知的用戶。3.維護(hù)成本高,發(fā)生一次升級,則所有客戶端的程序都需要改變。
B/S架構(gòu)
B/S架構(gòu)的全稱為Browser/Server,即瀏覽器/服務(wù)器結(jié)構(gòu)。Browser指的是Web瀏覽器,極少數(shù)事務(wù)邏輯在前端實(shí)現(xiàn),但主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),Browser客戶端,WebApp服務(wù)器端和DB端構(gòu)成所謂的三層架構(gòu)。B/S架構(gòu)的系統(tǒng)無須特別安裝,只有Web瀏覽器即可。B/S架構(gòu)中,顯示邏輯交給了Web瀏覽器,事務(wù)處理邏輯在放在了WebApp上,這樣就避免了龐大的胖客戶端,減少了客戶端的壓力。因?yàn)榭蛻舳税倪壿嫼苌伲虼艘脖怀蔀槭菘蛻舳恕?/p>
B/S架構(gòu)的優(yōu)缺點(diǎn)
優(yōu)點(diǎn):
1)客戶端無需安裝,有Web瀏覽器即可。
2)BS架構(gòu)可以直接放在廣域網(wǎng)上,通過一定的權(quán)限控制實(shí)現(xiàn)多客戶訪問的目的,交互性較強(qiáng)。3)BS架構(gòu)無需升級多個客戶端,升級服務(wù)器即可。
缺點(diǎn):
1)在跨瀏覽器上,BS架構(gòu)不盡如人意。
2)表現(xiàn)要達(dá)到CS程序的程度需要花費(fèi)不少精力。
3)在速度和安全性上需要花費(fèi)巨大的設(shè)計成本,這是BS架構(gòu)的最大問題。4)客戶端服務(wù)器端的交互是請求-響應(yīng)模式,通常需要刷新頁面,這并不是客戶樂意看到的。(在Ajax風(fēng)行后此問題得到了一定程度的緩解)3 | 評論(1)
第二篇:BS和CS架構(gòu)之間的區(qū)別和優(yōu)缺點(diǎn)
分層(Laying)是軟件開發(fā)者用來將復(fù)雜的軟件系統(tǒng)分解的最常用的方法。當(dāng)你使用“層”(Lay)這個術(shù)語考慮一個系統(tǒng)時,你可以把軟件中的主要子系統(tǒng)的組織方式想象為多層蛋糕,每一層都位于低層之上。在這個方案中,高層使用低層中定義的各種服務(wù),但低層卻意識不到高層的存在。更進(jìn)一步地,每一層通常都會對其低層隱藏在其上的層,因此,層4使用層3提供的服務(wù),而層3使用層2提供的服務(wù),但是層4不知道層2的存在。將系統(tǒng)分解為不同的層有很多益處:
你可以將單獨(dú)的一層理解為一個整體,而不用過多的了解其它層的細(xì)節(jié)。你可以用實(shí)現(xiàn)相同基本服務(wù)的替代品來替代這些層。你可以減少層之間的依賴性。層可以更好的實(shí)現(xiàn)標(biāo)準(zhǔn)化。
一旦你創(chuàng)建了一層,你就可以在許多更高級的服務(wù)中使用它。分層是一項(xiàng)很重要的技術(shù),但是也有不足:
層封裝了部分功能,但并不能很好地封裝所有功能。因此,你有時必須修改多個層。這個缺點(diǎn)的經(jīng)典案例就是在一個分層的企業(yè)應(yīng)用程序中加入一個需要在UI上顯示的字段,則必須修改數(shù)據(jù)庫,并且修改位于UI和數(shù)據(jù)庫間的每一層。額外的層會影響性能。在每一層數(shù)據(jù)通常需要從一層傳遞到另一層。但是,對于某一功能的封裝通常會給你帶來更高的效率以彌補(bǔ)損失的性能。我們可以通過優(yōu)化控制事務(wù)的層,而加快事務(wù)的處理。
分層架構(gòu)最難的部分是決定應(yīng)該擁有哪些層和這些層的職責(zé)。
一、C/S結(jié)構(gòu)與B/S結(jié)構(gòu)的特點(diǎn)分析
為了區(qū)別于傳統(tǒng)的C/S 式,才特意將其稱為B/S模式。認(rèn)識到這些結(jié)構(gòu)的特征,對于系統(tǒng)的選型而言是很關(guān)鍵的。
1、系統(tǒng)的性能
在系統(tǒng)的性能方面,B/S占有優(yōu)勢的是其異地瀏覽和信息采集的靈活性。任何時間、任何地點(diǎn)、任何系統(tǒng),只要可以使用瀏覽器上網(wǎng),就可以使用B/S系統(tǒng)的終端。不過,采用B/S結(jié)構(gòu),客戶端只能完成瀏覽、查詢、數(shù)據(jù)輸入等簡單功能,絕大部分工作由服務(wù)器承擔(dān),這使得服務(wù)器的負(fù)擔(dān)很重。采用C/S結(jié)構(gòu)時,客戶端和服務(wù)器端都能夠處理任務(wù),這雖然對客戶機(jī)的要求較高,但因此可以減輕服務(wù)器的壓力。而且,由于客戶端使用瀏覽器,使得網(wǎng)上發(fā)布的信息必須是以HTML格式為主,其它格式文件多半是以附件的形式存放。而HTML格式文件(也就是Web頁面)不便于編輯修改,給文件管理帶來了許多不便。
2、系統(tǒng)的開發(fā)
C/S結(jié)構(gòu)是建立在中間件產(chǎn)品基礎(chǔ)之上的,要求應(yīng)用開發(fā)者自己去處理事務(wù)管理、消息隊列、數(shù)據(jù)的復(fù)制和同步、通信安全等系統(tǒng)級的問題。這對應(yīng)用開發(fā)者提出了較高的要求,而且迫使應(yīng)用開發(fā)者投入很多精力來解決應(yīng)用程序以外的問題。這使得應(yīng)用程序的維護(hù)、移植和互操作變得復(fù)雜。如果客戶端是在不同的操作系統(tǒng)上,C/S結(jié)構(gòu)的軟件需要開發(fā)不同版本的客戶端軟件。但是,與B/S結(jié)構(gòu)相比,C/S技術(shù)發(fā)展歷史更為“悠久”。從技術(shù)成熟度及軟件設(shè)計、開發(fā)人員的掌握水平來看,C/S技術(shù)應(yīng)是更成熟、更可靠的。
3、系統(tǒng)的升級維護(hù)
C/S系統(tǒng)的各部分模塊中有一部分改變,就要關(guān)聯(lián)到其它模塊的變動,使系統(tǒng)升級成本比較大。B/S與C/S處理模式相比,則大大簡化了客戶端,只要客戶端機(jī)器能上網(wǎng)就可以。對于B/S而言,開發(fā)、維護(hù)等幾乎所有工作也都集中在服務(wù)器端,當(dāng)企業(yè)對網(wǎng)絡(luò)應(yīng)用進(jìn)行升級時,只需更新服務(wù)器端的軟件就可以,這減輕了異地用戶系統(tǒng)維護(hù)與升級的成本。如果客戶端的軟件系統(tǒng)升級比較頻繁,那么B/S架構(gòu)的產(chǎn)品優(yōu)勢明顯——所有的升級操作只需要針對服務(wù)器進(jìn)行,這對那些點(diǎn)多面廣的應(yīng)用是很有價值的,例如一些招聘網(wǎng)站就需要采用B/S模式,客戶端分散,且應(yīng)用簡單,只需要進(jìn)行簡單的瀏覽和少量信息的錄入。
4、B/S模式的優(yōu)點(diǎn)和缺點(diǎn)
★B/S模式的優(yōu)點(diǎn)
●具有分布性特點(diǎn),可以隨時隨地進(jìn)行查詢、瀏覽等業(yè)務(wù)處理。●業(yè)務(wù)擴(kuò)展簡單方便,通過增加網(wǎng)頁即可增加服務(wù)器功能。
●維護(hù)簡單方便,只需要改變網(wǎng)頁,即可實(shí)現(xiàn)所有用戶的同步更新。●開發(fā)簡單,共享性強(qiáng)。★B/S模式的缺點(diǎn)
●個性化特點(diǎn)明顯降低,無法實(shí)現(xiàn)具有個性化的功能要求。●操作是以鼠標(biāo)為最基本的操作方式,無法滿足快速操作的要求。●頁面動態(tài)刷新,響應(yīng)速度明顯降低。
●無法實(shí)現(xiàn)分頁顯示,給數(shù)據(jù)庫訪問造成較大的壓力。●功能弱化,難以實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能要求。
5、C/S模式的優(yōu)點(diǎn)和缺點(diǎn) ★C/S模式的優(yōu)點(diǎn)
●由于客戶端實(shí)現(xiàn)與服務(wù)器的直接相連,沒有中間環(huán)節(jié),因此響應(yīng)速度快。●操作界面漂亮、形式多樣,可以充分滿足客戶自身的個性化要求。
●C/S結(jié)構(gòu)的管理信息系統(tǒng)具有較強(qiáng)的事務(wù)處理能力,能實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)流程。★C/S模式的缺點(diǎn)
●需要專門的客戶端安裝程序,分布功能弱,針對點(diǎn)多面廣且不具備網(wǎng)絡(luò)條件的用戶群體,不能夠?qū)崿F(xiàn)快速部署安裝和配置。
●兼容性差,對于不同的開發(fā)工具,具有較大的局限性。若采用不同工具,需要重新改寫程序。
●開發(fā)成本較高,需要具有一定專業(yè)水準(zhǔn)的技術(shù)人員才能完成。
奇速網(wǎng)絡(luò)收錄整理:www.tmdps.cn
第三篇:BS模式和CS模式
B/S
B/S結(jié)構(gòu)(Browser/Server結(jié)構(gòu))結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intranet模式下數(shù)據(jù)庫應(yīng)用,相對易于把握、成本也是較低的。它是一次性到位的開發(fā),能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。特別是在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、速度快、效果優(yōu)。
隨著Internet和WWW的流行,以往的主機(jī)/終端和C/S都無法滿足當(dāng)前的全球網(wǎng)絡(luò)開放、互連、信息隨處可見和信息共享的新要求,于是就出現(xiàn)了B/S型模式,即瀏覽器/服務(wù)器結(jié)構(gòu)。B/S模式最大特點(diǎn)是:用戶可以通過WWW瀏覽器去訪問Internet上的文本、數(shù)據(jù)、圖像、動畫、視頻點(diǎn)播和聲音信息,這些信息都是由許許多多的Web服務(wù)器產(chǎn)生的,而每一個Web服務(wù)器又可以通過各種方式與數(shù)據(jù)庫服務(wù)器連接,大量的數(shù)據(jù)實(shí)際存放在數(shù)據(jù)庫服務(wù)器中。客戶端除了WWW瀏覽器,一般無須任何用戶程序,只需從Web服務(wù)器上下載程序到本地來執(zhí)行,在下載過程中若遇到與數(shù)據(jù)庫有關(guān)的指令,由Web服務(wù)器交給數(shù)據(jù)庫服務(wù)器來解釋執(zhí)行,并返回給Web服務(wù)器,Web服務(wù)器又返回給用戶。在這種結(jié)構(gòu)中,將許許多多的網(wǎng)連接到一塊,形成一個巨大的網(wǎng),即全球網(wǎng)。而各個企業(yè)可以在此結(jié)構(gòu)的基礎(chǔ)上建立自己的Intranet。
一、B/S模式的優(yōu)點(diǎn)和缺點(diǎn)
B/S結(jié)構(gòu)的優(yōu)點(diǎn)
(1)、具有分布性特點(diǎn),可以隨時隨地進(jìn)行查詢、瀏覽等業(yè)務(wù)處理。
(2)、業(yè)務(wù)擴(kuò)展簡單方便,通過增加網(wǎng)頁即可增加服務(wù)器功能。
(3)、維護(hù)簡單方便,只需要改變網(wǎng)頁,即可實(shí)現(xiàn)所有用戶的同步更新。
(4)、開發(fā)簡單,共享性強(qiáng)
B/S 模式的缺點(diǎn)
(1)、個性化特點(diǎn)明顯降低,無法實(shí)現(xiàn)具有個性化的功能要求。
(個性化的要求取決以軟件框架,而非架構(gòu),分享B/S軟件就蠻靈活)
(2)、操作是以鼠標(biāo)為最基本的操作方式,無法滿足快速操作的要求。
(如果輔助于插件,照樣可以用鍵盤快速操作)
(3)、頁面動態(tài)刷新,響應(yīng)速度明顯降低。
(分享軟件用分頁保證響應(yīng)速度穩(wěn)定)
(4)、功能弱化,難以實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能要求。
(技術(shù)問題,用微軟C#或java怎么會不能解決任何要求呢)
二、C/S模式的優(yōu)點(diǎn)和缺點(diǎn)
C/S 模式的優(yōu)點(diǎn)
1.由于客戶端實(shí)現(xiàn)與服務(wù)器的直接相連,沒有中間環(huán)節(jié),因此響應(yīng)速度快。
(當(dāng)數(shù)據(jù)少時,速度與B/S軟件一般;當(dāng)數(shù)據(jù)超過十萬時,C/S軟件變慢,B/S軟件能維持穩(wěn)定速度)
2.操作界面漂亮、形式多樣,可以充分滿足客戶自身的個性化要求。
(似乎可以隨意排列界面,但遇到第二客戶要求時又要從頭做起,比較靈活)
3.C/S結(jié)構(gòu)的管理信息系統(tǒng)具有較強(qiáng)的事務(wù)處理能力,能實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)流程。
C/S 模式的缺點(diǎn)
1.需要專門的客戶端安裝程序,分布功能弱,針對點(diǎn)多面廣且不具備網(wǎng)絡(luò)條件的用戶群體,不能夠?qū)崿F(xiàn)快速部署安裝和配置。
2.兼容性差,對于不同的開發(fā)工具,具有較大的局限性。若采用不同工具,需要重新改寫程序。
3.開發(fā)成本較高,需要具有一定專業(yè)水準(zhǔn)的技術(shù)人員才能完成。
(就開發(fā)企業(yè)管理軟件而言,C/S開發(fā)人員比B/S開發(fā)人員的成本低了許多)
三、B/S架構(gòu)軟件的優(yōu)勢與劣勢
(1)、維護(hù)和升級方式簡單。
目前,軟件系統(tǒng)的改進(jìn)和升級越來越頻繁,C/S系統(tǒng)的各部分模塊中有一部分改變,就要關(guān)聯(lián)到其它模塊的變動,使系統(tǒng)升級成本比較大。B/S與C/S處理模式相比,則大大簡化了客戶端,只要客戶端機(jī)器能上網(wǎng)就可以。對于B/S而言,開發(fā)、維護(hù)等幾乎所有工作也都集中在服務(wù)器端,當(dāng)企業(yè)對網(wǎng)絡(luò)應(yīng)用進(jìn)行升級時,只需更新服務(wù)器端的軟件就可以,這減輕了異地用戶系統(tǒng)維護(hù)與升級的成本。如果客戶端的軟件系統(tǒng)升級比較頻繁,那么B/S架構(gòu)的產(chǎn)品優(yōu)勢明顯——所有的 升級操作只需要針對服務(wù)器進(jìn)行,這對那些點(diǎn)多面廣的應(yīng)用是很有價值的,例如一些招聘網(wǎng)站就需要采用B/S模式,客戶端分散,且應(yīng)用簡單,只需要進(jìn)行簡單的瀏覽和少量信息的錄入。
(2)、系統(tǒng)的性能
在系統(tǒng)的性能方面,B/S占有優(yōu)勢的是其異地瀏覽和信息采集的靈活性。任何時間、任何地點(diǎn)、任何系統(tǒng),只要可以使用瀏覽器上網(wǎng),就可以使用B/S系統(tǒng)的終端。不過,采用B/S結(jié)構(gòu),客戶端只能完成瀏覽、查詢、數(shù)據(jù)輸入等簡單功能,絕大部分工作由服務(wù)器承擔(dān),這使得服務(wù)器的負(fù)擔(dān)很重。采用C/S結(jié)構(gòu)時,客戶端和服務(wù)器端都能夠處理任務(wù),這雖然對客戶機(jī)的要求較高,但因此可以減輕服務(wù)器的壓力。而且,由于客戶端使用瀏覽器,使得網(wǎng)上發(fā)布的信息必須是以HTML格式為主,其它格式文件多半是以附件的形式存放。而HTML格式文件(也就是Web頁面)不便于編輯修改,給文件管理帶來了許多不便。比如說很多人每天上“新浪”網(wǎng),只要安裝了瀏覽器就可以了,并不需要了解“新浪”的服務(wù)器用的是什么操作系統(tǒng),而事實(shí)上大部分網(wǎng)站確實(shí)沒有使用windows操作系統(tǒng),但用戶的電腦本身安裝的大部分是windows操作系統(tǒng)。
(3)、系統(tǒng)的開發(fā)
C/S結(jié)構(gòu)是建立在中間件產(chǎn)品基礎(chǔ)之上的,要求應(yīng)用開發(fā)者自己去處理事務(wù)管理、消息隊列、數(shù)據(jù)的復(fù)制和同步、通信安全等系統(tǒng)級的問題。這對應(yīng)用開發(fā)者提出了較高的要求,而且迫使應(yīng)用開發(fā)者投入很多精力來解決應(yīng)用程序以外的問題。這使得應(yīng)用程序的維護(hù)、移植和互操作變得復(fù)雜。如果客戶端是在不同的操作系統(tǒng)上,C/S結(jié)構(gòu)的軟件需要開發(fā)不同版本的客戶端軟件。但是,與B/S結(jié)構(gòu)相比,C/S技術(shù)發(fā)展歷史更為“悠久”。從技術(shù)成熟度及軟件設(shè)計、開發(fā)人員的掌握水平來看,C/S技術(shù)應(yīng)是更成熟、更可靠的。
四、B/S、C/S結(jié)構(gòu)軟件技術(shù)上的比較
其實(shí),無論是B/S還是C/S,他們都不新鮮。C/S(Client/Server,客戶端/服務(wù)器)技術(shù)從上世紀(jì)90年代初出現(xiàn)至今已經(jīng)相當(dāng)成熟,并得到了非常廣泛的應(yīng)用,其結(jié)構(gòu)經(jīng)歷了二層C/S、三層C/S的更迭。B/S(Browser/Server,瀏覽器/服務(wù)器)技術(shù)則是伴隨著Internet的普及而來的。有必要說明的是,B/S最早并不叫“B/S”,此類應(yīng)用國外通常叫Web應(yīng)用,是國內(nèi)一些公司“創(chuàng)造”了“B/S”這個詞。
應(yīng)該說,B/S和C/S各有千秋,他們都是當(dāng)前非常重要的計算架構(gòu)。在適用Internet、維護(hù)工作量等方面,B/S比C/S要強(qiáng)得多;但在運(yùn)行速度、數(shù)據(jù)安全、人機(jī)交互等方面,B/S遠(yuǎn)不如C/S。綜合起來可以發(fā)現(xiàn),凡是C/S的強(qiáng)項(xiàng),便是B/S的弱項(xiàng),反之亦然。因此,問題也就因此而產(chǎn)生了,我們的ERP產(chǎn)品到底該用B/S還是C/S架構(gòu)呢?一場關(guān)于C/S與B/S的口水戰(zhàn)也由此在ERP業(yè)界拉開了序幕。在互聯(lián)網(wǎng)泡沫盛行的2000年至2002年間,這場口水戰(zhàn)達(dá)到了頂峰。但直到現(xiàn)在,人們也沒有辯出誰是誰非。
事實(shí)上,從上面的分析可以看出,這場口水戰(zhàn)不可能有勝負(fù)出現(xiàn),因?yàn)锽/S與C/S具有不同的優(yōu)勢與特點(diǎn),他們無法相互取代。例如,對于以瀏覽為主、錄入簡單的應(yīng)用程序,B/S技術(shù)有很大的優(yōu)勢,現(xiàn)在全球鋪天蓋地的Web網(wǎng)站就是明證;而對于交互復(fù)雜的ERP等企業(yè)級應(yīng)用,B/S則很難勝任,從全球范圍看,成熟的ERP產(chǎn)品大多采用二層或三層C/S架構(gòu),B/S的ERP產(chǎn)品并不多見。
“B/S還是C/S”也就由此成了ERP的技術(shù)之痛。難道這個痛就無藥可救了嗎?是否有可能將B/S與C/S的優(yōu)勢融合呢?答案是肯定的,在這幾年的發(fā)展中將B/S與C/S的優(yōu)勢完美地結(jié)合起來,就是說該平臺的應(yīng)用系統(tǒng)能以B/S的方式發(fā)布運(yùn)行,同時又具有C/S方式的極強(qiáng)的可操作性。這點(diǎn)從該平臺生成的商品化的網(wǎng)絡(luò)協(xié)同商務(wù)管理軟件上得到充分的體現(xiàn)!
五、B/S、C/S結(jié)構(gòu)軟件商業(yè)運(yùn)用上的比較
管理軟件是為企業(yè)服務(wù)的,企業(yè)選用管理軟件不僅要從技術(shù)上考慮,還要從商業(yè)運(yùn)用方面來考慮,下文將從商業(yè)運(yùn)用的角度對兩種結(jié)構(gòu)的軟件進(jìn)行比較。
1,投入成本比較。B/S結(jié)構(gòu)軟件一般只有初期一次性投入成本。對于集團(tuán)來講,有利于軟件項(xiàng)目控制和避免IT黑洞,而C/S結(jié)構(gòu)的軟件則不同,隨著應(yīng)用范圍的擴(kuò)大,投資會連綿不絕。
2,硬件投資保護(hù)比較。在對已有硬件投資的保護(hù)方面,兩種結(jié)構(gòu)也是完全不同的。當(dāng)應(yīng)用范圍擴(kuò)大,系統(tǒng)負(fù)載上升時,C/S結(jié)構(gòu)軟件的一般解決方案是購買更高級的中央服務(wù)器,原服務(wù)器放棄不用,這是由于C/S軟件的兩層結(jié)構(gòu)造成的,這類軟件的服務(wù)器程序必須部署在一臺計算機(jī)上;而B/S結(jié)構(gòu)(如e通管理系列)則不同,隨著服務(wù)器負(fù)載的增加,可以平滑地增加服務(wù)器的個數(shù)并建立集群服務(wù)器系統(tǒng),然后在各個服務(wù)器之間做負(fù)載均衡。有效地保護(hù)了原有硬件投資。
3,企業(yè)快速擴(kuò)張支持上的比較。對于成長中的企業(yè),快速擴(kuò)張是它的顯著特點(diǎn)。例如迪信通公司,每年都有新的配送中心成立,每月都有新的門店開張。應(yīng)用軟件的快速部署,是企業(yè)快速擴(kuò)張的必要保障。對于C/S結(jié)構(gòu)的軟件來講,由于必須同時安裝服務(wù)器和客戶端、建設(shè)機(jī)房、招聘專業(yè)管理人員等,所以無法適應(yīng)企業(yè)快速擴(kuò)張的特點(diǎn)。而B/S結(jié)構(gòu)軟件,只需一次安裝,以后只需設(shè)立賬號、培訓(xùn)即可。
其次,隨著軟件應(yīng)用的擴(kuò)張,對系統(tǒng)維護(hù)人才的需求有可能成為企業(yè)快速擴(kuò)張的制約瓶頸。如果企業(yè)開店上百家,對計算機(jī)專業(yè)人才的需求就將是企業(yè)面臨的巨大挑戰(zhàn)之一。
拋開人力成本不說,一個企業(yè)要招到這么多的專業(yè)人才并且留住他們也是不可能的。所以,采用C/S結(jié)構(gòu)軟件必然會制約企業(yè)未來的發(fā)展。另外,大多數(shù)C/S結(jié)構(gòu)的軟件都是通過ODBC直接連到數(shù)據(jù)庫的,安全性差不說,其用戶數(shù)也是受限的。每個連到數(shù)據(jù)庫的用戶都會保持一個ODBC連接,都會一直占用中央服務(wù)器的資源,對中央服務(wù)器的要求非常高,使得用戶擴(kuò)充受到極大的限制。而B/S結(jié)構(gòu)軟件則不同,所有的用戶都是通過一個JDBC連接緩沖池連接到數(shù)據(jù)庫的,用戶并不保持對數(shù)據(jù)庫的連接,用戶數(shù)基本上是無限的。
從以上的分析可以看出,B/S結(jié)構(gòu)的管理軟件和C/S結(jié)構(gòu)軟件各有各的的優(yōu)勢。而從國外的發(fā)展趨勢來看。目前,國外大型企業(yè)管理軟件要么已經(jīng)是B/S結(jié)構(gòu)的,要么正在經(jīng)歷從C/S到B/S結(jié)構(gòu)的轉(zhuǎn)變。從國內(nèi)諸多軟件廠商積極投入開發(fā)B/S結(jié)構(gòu)軟件的趨勢來看,B/S結(jié)構(gòu)的大型管理軟件可能在將來的幾年內(nèi)占據(jù)管理軟件領(lǐng)域的主導(dǎo)地位。
第四篇:黑馬程序員:Java面試題之BS與CS的聯(lián)系與區(qū)別
C/S是Client/Server的縮寫。服務(wù)器通常采用高性能的PC、工作站或小型機(jī),并采用大型數(shù)據(jù)庫系統(tǒng),如Oracle、Sybase、InFORMix或 SQL Server。客戶端需要安裝專用的客戶端軟件。
B/S是Brower/Server的縮寫,客戶機(jī)上只要安裝一個瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務(wù)器安裝Oracle、Sybase、InFORMix或 SQL Server等數(shù)據(jù)庫。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn)。瀏覽器通過Web Server 同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。
C/S 與 B/S 區(qū)別:
1.硬件環(huán)境不同:
C/S 一般建立在專用的網(wǎng)絡(luò)上, 小范圍里的網(wǎng)絡(luò)環(huán)境, 局域網(wǎng)之間再通過專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù).B/S 建立在廣域網(wǎng)之上的, 不必是專門的網(wǎng)絡(luò)硬件環(huán)境,例與電話上網(wǎng), 租用設(shè)備.信息自己管理.有比C/S更強(qiáng)的適應(yīng)范圍, 一般只要有操作系統(tǒng)和瀏覽器就行
2.對安全要求不同
C/S 一般面向相對固定的用戶群, 對信息安全的控制能力很強(qiáng).一般高度機(jī)密的信息系統(tǒng)采用C/S 結(jié)構(gòu)適宜.可以通過B/S發(fā)布部分可公開信息.B/S 建立在廣域網(wǎng)之上, 對安全的控制能力相對弱, 可能面向不可知的用戶。
3.對程序架構(gòu)不同
C/S 程序可以更加注重流程, 可以對權(quán)限多層次校驗(yàn), 對系統(tǒng)運(yùn)行速度可以較少考慮.B/S 對安全以及訪問速度的多重的考慮, 建立在需要更加優(yōu)化的基礎(chǔ)之上.比C/S有更高的要求 B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢, 從MS的.Net系列的BizTalk 2000 Exchange
2000等, 全面支持網(wǎng)絡(luò)的構(gòu)件搭建的系統(tǒng).SUN 和IBM推的JavaBean 構(gòu)件技術(shù)等,使 B/S更加成熟.4.軟件重用不同
C/S 程序可以不可避免的整體性考慮, 構(gòu)件的重用性不如在B/S要求下的構(gòu)件的重用性好.B/S 對的多重結(jié)構(gòu),要求構(gòu)件相對獨(dú)立的功能.能夠相對較好的重用.就入買來的餐桌可以再利用,而不是做在墻上的石頭桌子
5.系統(tǒng)維護(hù)不同
C/S 程序由于整體性, 必須整體考察, 處理出現(xiàn)的問題以及系統(tǒng)升級.升級難.可能是再做一個全新的系統(tǒng)
B/S 構(gòu)件組成,方面構(gòu)件個別的更換,實(shí)現(xiàn)系統(tǒng)的無縫升級.系統(tǒng)維護(hù)開銷減到最小.用戶從網(wǎng)上自己下載安裝就可以實(shí)現(xiàn)升級.6.處理問題不同
C/S 程序可以處理用戶面固定, 并且在相同區(qū)域, 安全要求高需求, 與操作系統(tǒng)相關(guān).應(yīng)該都是相同的系統(tǒng)
B/S 建立在廣域網(wǎng)上, 面向不同的用戶群, 分散地域, 這是C/S無法作到的.與操作系統(tǒng)平臺關(guān)系最小.7.用戶接口不同
C/S 多是建立的Window平臺上,表現(xiàn)方法有限,對程序員普遍要求較高
B/S 建立在瀏覽器上, 有更加豐富和生動的表現(xiàn)方式與用戶交流.并且大部分難度減低,減低開發(fā)成本.8.信息流不同
C/S 程序一般是典型的中央集權(quán)的機(jī)械式處理, 交互性相對低
B/S 信息流向可變化, B-B B-C B-G等信息、流向的變化, 更像交易中心。
第五篇:CS和BS結(jié)構(gòu)概念的學(xué)習(xí)筆記
C/S和B/S結(jié)構(gòu)概念的學(xué)習(xí)筆記
C/S結(jié)構(gòu)概述:
Client/Server(客戶/服務(wù)器模式):Client和Server常常分別處在相距很遠(yuǎn)的兩臺計算機(jī)上,Client程序的任務(wù)是將用戶的要求提交給Server程序,再將Server程序返回的結(jié)果以特定的形式顯示給用戶;Server程序的任務(wù)是接收客戶程序提出的服務(wù)請求,進(jìn)行相應(yīng)的處理,再將結(jié)果返回給客戶程序。
C/S結(jié)構(gòu)定義:
C/S(Client/Server)結(jié)構(gòu),即大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和Client/Server 應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。
傳統(tǒng)的C/S體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開放性,在特定的應(yīng)用中無論是Client端還是Server端都還需要特定的軟件支持。由于沒能提供用戶真正期望的開放環(huán)境,C/S結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng)百臺電腦以上局域網(wǎng)用戶同時使用。而且代價高,效率低。
C/S結(jié)構(gòu)的優(yōu)點(diǎn):
? C/S結(jié)構(gòu)的優(yōu)點(diǎn)是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對應(yīng)的優(yōu)點(diǎn)就是客戶端響應(yīng)速度快。
? 應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。最簡單的C/S體系結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用由兩部分組成,即客戶應(yīng)用程序和數(shù)據(jù)庫服務(wù)器程序。二者可分別稱為前臺程序與后臺程序。運(yùn)行數(shù)據(jù)庫服務(wù)器程序的機(jī)器,也稱為應(yīng)用服務(wù)器。一旦服務(wù)器程序被啟動,就隨時等待響應(yīng)客戶程序發(fā)來的請求;客戶應(yīng)用程序運(yùn)行在用戶自己的電腦上,對應(yīng)于數(shù)據(jù)庫服務(wù)器,可稱為客戶電腦,當(dāng)需要對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行任何操作時,客戶程序就自動地尋找服務(wù)器程序,并向其發(fā)出請求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果。比如:SNMP管理的MIB庫結(jié)構(gòu)。
? 數(shù)據(jù)的儲存管理功能較為透明。在數(shù)據(jù)庫應(yīng)用中,數(shù)據(jù)的儲存管理功能,是由服務(wù)
器程序和客戶應(yīng)用程序分別獨(dú)立進(jìn)行的,前臺應(yīng)用可以違反的規(guī)則,并且通常把那些不同的(不管是已知還是未知的)運(yùn)行數(shù)據(jù),在服務(wù)器程序中不集中實(shí)現(xiàn),例如訪問者的權(quán)限,編號可以重復(fù)、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺程序不是非常“瘦小”,麻煩的事情都交給了服務(wù)器和網(wǎng)絡(luò)。在C/S體系的下,數(shù)據(jù)庫不能真正成為公共、專業(yè)化的倉庫,它受到獨(dú)立的專門管理。
C/S結(jié)構(gòu)的缺點(diǎn):
? 同步性差: 采用C/S架構(gòu),要選擇適當(dāng)?shù)臄?shù)據(jù)庫平臺來實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)的真正“統(tǒng)一”,使分布于兩地的數(shù)據(jù)同步完全交由數(shù)據(jù)庫系統(tǒng)去管理,但邏輯上兩地的操作者要直接訪問同一個數(shù)據(jù)庫才能有效實(shí)現(xiàn),有這樣一些問題,如果需要建立“實(shí)時”的數(shù)據(jù)同步,就必須在兩地間建立實(shí)時的通訊連接,保持兩地的數(shù)據(jù)庫服務(wù)器在線運(yùn)行,網(wǎng)絡(luò)管理工作人員既要對服務(wù)器維護(hù)管理,又要對客戶端維護(hù)和管理。
? 成本太高:客戶端需要安裝專用的客戶端軟件。首先涉及到安裝的工作量,系統(tǒng)軟
件的每一次升級,每一臺客戶機(jī)需要重新安裝。而且一旦任何一臺電腦出問題,如病毒、硬件損壞,都需要進(jìn)行安裝或維護(hù)。特別是當(dāng)存在很多分支機(jī)構(gòu)的情況下,體現(xiàn)出的不僅僅是工作量大,而且是路程太遠(yuǎn)。
? 擴(kuò)展性差:只適用于局域網(wǎng)。而隨著互聯(lián)網(wǎng)的飛速發(fā)展,移動辦公和分布式辦公越
來越普及,這需要我們的系統(tǒng)具有擴(kuò)展性。這種方式遠(yuǎn)程訪問需要專門的技術(shù),同時要對系統(tǒng)進(jìn)行專門的設(shè)計來處理分布式的數(shù)據(jù)。
? 競爭力差:傳統(tǒng)的C/S結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟
件,由于產(chǎn)品的更新?lián)Q代十分快,代價高和低效率已經(jīng)不適應(yīng)工作需要。在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構(gòu)更是猛烈沖擊C/S,并對其形成威脅和挑戰(zhàn)。
B/S結(jié)構(gòu)的定義
即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成所謂3-tier結(jié)構(gòu)。B/S結(jié)構(gòu),主要是利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語言(VBScript、JavaScript?)和ActiveX技術(shù),用通用瀏覽器就實(shí)現(xiàn)了原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。隨著Windows 98/Windows 2000將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。顯然B/S結(jié)構(gòu)應(yīng)用程序相對于傳統(tǒng)的C/S結(jié)構(gòu)應(yīng)用程序?qū)⑹蔷薮蟮倪M(jìn)步。
B/S結(jié)構(gòu)采用星形拓?fù)浣Y(jié)構(gòu)建立企業(yè)內(nèi)部通信網(wǎng)絡(luò)或利用Internet虛擬專網(wǎng)(VPN)。
前者的特點(diǎn)是安全、快捷、準(zhǔn)確。后者則具有節(jié)省投資、跨地域廣的優(yōu)點(diǎn)。須視企業(yè)規(guī)模和地理分布確定。企業(yè)內(nèi)部通過防火墻接入Internet,整個網(wǎng)絡(luò)采用TCP/IP協(xié)議。
C/S 與 B/S 區(qū)別:
1.硬件環(huán)境不同:
C/S 一般建立在專用的網(wǎng)絡(luò)上,小范圍里的網(wǎng)絡(luò)環(huán)境,局域網(wǎng)之間再通過專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù)。
B/S 建立在廣域網(wǎng)之上的,不必是專門的網(wǎng)絡(luò)硬件環(huán)境,例如電話上網(wǎng),租用設(shè)備。實(shí)現(xiàn)了信息自我管理,有比C/S更強(qiáng)的適應(yīng)范圍,一般只要有操作系統(tǒng)和瀏覽器就行。
2.對安全要求不同
C/S 一般面向相對固定的用戶群,對信息安全的控制能力很強(qiáng)。一般高度機(jī)密的信息系統(tǒng)適宜采用C/S 結(jié)構(gòu),可以通過B/S發(fā)布部分可公開信息。
B/S 建立在廣域網(wǎng)之上,對安全的控制能力相對弱,面向是不可知的用戶群。
3.對程序架構(gòu)不同
C/S 程序可以更加注重流程,可以對權(quán)限多層次校驗(yàn),對系統(tǒng)運(yùn)行速度可以較少考慮。B/S 對安全以及訪問速度的多重的考慮,建立在需要更加優(yōu)化的基礎(chǔ)之上。比C/S有更高的要求 B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢,從MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持網(wǎng)絡(luò)的構(gòu)件搭建的系統(tǒng)。SUN 和IBM推的JavaBean 構(gòu)件技術(shù)等,使 B/S更加成熟。
4.軟件重用不同
C/S 程序可以不可避免的整體性考慮,構(gòu)件的重用性不如在B/S要求下的構(gòu)件的重用性好。
B/S 對的多重結(jié)構(gòu),要求構(gòu)件有相對獨(dú)立的功能,能夠相對較好的重用。就好比是買來的餐桌可以再利用,而不是做在墻上的石頭桌子無法回收。
5.系統(tǒng)維護(hù)不同
C/S 程序由于整體性,必須整體考察,升級困難。甚至可能是再做一個全新的系統(tǒng),系統(tǒng)維護(hù)開銷很大。
B/S 構(gòu)件組成,方面構(gòu)件個別的更換,可以實(shí)現(xiàn)系統(tǒng)的無縫升級。系統(tǒng)維護(hù)開銷減到最小.用戶從網(wǎng)上自己下載安裝就可以實(shí)現(xiàn)升級。
6.處理問題不同
C/S 程序可以處理用戶面固定,并且在相同區(qū)域,安全需求要求高,與操作系統(tǒng)平臺關(guān)系密切。
B/S 建立在廣域網(wǎng)上,面向不同的用戶群,地域分散,這是C/S無法作到的。與操作系統(tǒng)平臺關(guān)系最小。
7.用戶接口不同
C/S 多是建立的Window平臺上,表現(xiàn)方法有限,對程序員普遍要求較高。
B/S 建立在瀏覽器上,有更加豐富和生動的表現(xiàn)方式與用戶交流。并且大部分難度降低,可減少開發(fā)成本。
8.信息流不同
C/S 程序一般是典型的中央集權(quán)的機(jī)械式處理,交互性相對低。
B/S 信息流向可變化,B-B B-C B-G等信息、流向的變化,更類似交易中心。