




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、C/S又稱Client/Server或客戶/服務(wù)器模式。服務(wù)器通常采用高性能的PC、工作站或小型機(jī),并采用大型數(shù)據(jù)庫系統(tǒng),如Oracle、Sybase、Informix或 SQL Server??蛻舳诵枰惭b專用的客戶端軟件。B/S是Brower/Server的縮寫,客戶機(jī)上只要安裝一個瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務(wù)器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫。瀏覽器通過Web Server 同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。C/S的優(yōu)點是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處
2、理后再提交給服務(wù)器。對應(yīng)的優(yōu)點就是客戶端響應(yīng)速度快。缺點主要有以下幾個:只適用于局域網(wǎng)。而隨著互聯(lián)網(wǎng)的飛速發(fā)展,移動辦公和分布式辦公越來越普及,這需要我們的系統(tǒng)具有擴(kuò)展性。這種方式遠(yuǎn)程訪問需要專門的技術(shù),同時要對系統(tǒng)進(jìn)行專門的設(shè)計來處理分布式的數(shù)據(jù)??蛻舳诵枰惭b專用的客戶端軟件。首先涉及到安裝的工作量,其次任何一臺電腦出問題,如病毒、硬件損壞,都需要進(jìn)行安裝或維護(hù)。特別是有很多分部或?qū)Yu店的情況,不是工作量的問題,而是路程的問題。還有,系統(tǒng)軟件升級時,每一臺客戶機(jī)需要重新安裝,其維護(hù)和升級成本非常高。對客戶端的操作系統(tǒng)一般也會有限制。可能適應(yīng)于Win98, 但不能用于win2000或Wind
3、ows XP?;蛘卟贿m用于微軟新的操作系統(tǒng)等等,更不用說Linux、Unix等。B/S最大的優(yōu)點就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個用戶名和密碼,就可以使用了。甚至可以在線申請,通過公司內(nèi)部的安全認(rèn)證(如CA證書)后,不需要人的參與,系統(tǒng)可以自動分配給用戶一個賬號進(jìn)入系統(tǒng)。B/S結(jié)構(gòu)與C/S結(jié)構(gòu)軟件的區(qū)別 一、簡單的說:B/S是瀏覽器服務(wù)器模式,比如E-mail. C/S是客戶端服務(wù)器模式,比如QQ. 二、具體的說: 1、軟件本身: 1)編寫程序要求不同:C/S意思是客戶端的程序
4、編寫,而B/S是服務(wù)器端的編寫, B/S必須有多年的C/S經(jīng)驗才能編寫的. 2)管理信息系統(tǒng)不同:(硬件環(huán)境的要求和操作、)傳統(tǒng)的管理信息系統(tǒng)一般采用C/S架構(gòu)(客戶機(jī)/服務(wù)器,Client/Server)方式來完成。一般建立在專用的網(wǎng)絡(luò)上, 小范圍里的網(wǎng)絡(luò)環(huán)境, 局域網(wǎng)之間再通過專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù),在這一架構(gòu)中,業(yè)務(wù)邏輯位于客戶端,每完成一項事務(wù),都要頻繁地訪問數(shù)據(jù)庫,使得網(wǎng)絡(luò)上數(shù)據(jù)流量非常大,對于慢速連接的用戶,甚至無法使用。而B/S架構(gòu)實際上是三層架構(gòu),建立在廣域網(wǎng)之上的, 不必是專門的網(wǎng)絡(luò)硬件環(huán)境,例如電話上網(wǎng), 租用設(shè)備. 信息自己管理. 有比C/S更強(qiáng)的適應(yīng)范圍, 一
5、般只要有操作系統(tǒng)和瀏覽器就行。在這種架構(gòu)中,業(yè)務(wù)邏輯放置于中間件服務(wù)器上,大量的數(shù)據(jù)流也位于中間件和數(shù)據(jù)庫之間,而客戶機(jī)只是簡單地發(fā)出請求,中間件接受請求后進(jìn)行事務(wù)處理并將處理的結(jié)果返回給客戶機(jī),這一類型的客戶機(jī)也稱之為“廋客戶” 3)信息流不同傳統(tǒng)的C/S架構(gòu)的軟件需要針對不同的操作系統(tǒng)開發(fā)不同版本的軟件,面對眾多的操作系統(tǒng)和軟件快速的升級換代,軟件系統(tǒng)的改進(jìn)和升級越來越頻繁。并且C/S程序一般是典型的中央集權(quán)的機(jī)械式處理, 交互性相對低。用戶使用起來很不方便。而采用Java語言實現(xiàn)的B/S架構(gòu)的軟件產(chǎn)品真正做到了“一次編寫處處運(yùn)行(Write Once, Run Anywhere)” ,
6、所有的客戶端只是瀏覽器,所有的操作都和上網(wǎng)瀏覽網(wǎng)頁類似。 信息流向可變化, B-B B-C B-G等信息、流向的變化, 更象交易中心。 2、成本不同: 二次開發(fā)、維護(hù)需要人財物)傳統(tǒng)的C/S架構(gòu)的軟件需要針對不同的操作系統(tǒng)開發(fā)不同版本的軟件,而面對眾多的操作系統(tǒng)和軟件快速的升級換代,程序由于整體性, 必須整體考察, 處理出現(xiàn)的問題以及系統(tǒng)升級. 升級難. 可能是需要再做一個全新的系統(tǒng),需要大量的人、財、物的投入,并且時間周期漫長。而且C/S 多是建立的Window平臺上,表現(xiàn)方法有限,對維護(hù)人員普遍要求較高。 B/S架構(gòu)的產(chǎn)品在維護(hù)和升級方面具備顯著的優(yōu)勢。B/S 構(gòu)件組成,方面構(gòu)件個別的更換
7、,實現(xiàn)系統(tǒng)的無縫升級. 系統(tǒng)維護(hù)開銷減到最小.用戶從網(wǎng)上自己下載安裝就可以實現(xiàn)升級.,無論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會增加任何維護(hù)升級的工作量,所有的操作只對服務(wù)器進(jìn)行,通過遠(yuǎn)程連接服務(wù)器,異地的運(yùn)維人員甚至于可以做到遠(yuǎn)程維護(hù)和升級,B/S 建立在瀏覽器上, 有更加豐富和生動的表現(xiàn)方式與用戶交流. 并且大部分難度減低,減低開發(fā)成本.這對人力、時間、費(fèi)用的節(jié)省是相當(dāng)驚人的。 3、安全性不同: 傳統(tǒng)的C/S架構(gòu)的軟件需要針對不同的操作系統(tǒng)開發(fā),不同版本的軟件,面對眾多的操作系統(tǒng)和軟件快速的升級換代, 采用這一架構(gòu)開發(fā)軟件,對于企業(yè)的IT投資無疑是一種巨大的風(fēng)險。而采用Java語言實現(xiàn)的B
8、/S架構(gòu)的軟件產(chǎn)品真正做到了“一次編寫處處運(yùn)行”,Java語言實現(xiàn)的軟件具有天然的健壯性。這是Java語言自身的特性保證的。利用Java寫成的軟件幾乎不可能造成系統(tǒng)崩潰,這正是安全性要求很高的企業(yè)級應(yīng)用所不可或缺的特性,對企業(yè)而言,可以規(guī)避將來更換操作系統(tǒng)所帶來的風(fēng)險。B/S 對安全以及訪問速度的多重的考慮, 建立在需要更加優(yōu)化的基礎(chǔ)之上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更加成熟.三、B/S與C/S 架構(gòu)的優(yōu)缺點C/S 架
9、構(gòu)的優(yōu)缺點優(yōu)點:1.C/S架構(gòu)的界面和操作可以很豐富。2.安全性能可以很容易保證,實現(xiàn)多層認(rèn)證也不難。3.由于只有一層交互,因此響應(yīng)速度較快。缺點:1.適用面窄,通常用于局域網(wǎng)中。2.用戶群固定。由于程序需要安裝才可使用,因此不適合面向一些不可知的用戶。3.維護(hù)成本高,發(fā)生一次升級,則所有客戶端的程序都需要改變。B/S架構(gòu)的優(yōu)缺點優(yōu)點:1)客戶端無需安裝,有Web瀏覽器即可。2)BS架構(gòu)可以直接放在廣域網(wǎng)上,通過一定的權(quán)限控制實現(xiàn)多客戶訪問的目的,交互性較強(qiáng)。3)BS架構(gòu)無需升級多個客戶端,升級服務(wù)器即可。缺點:1)在跨瀏覽器上,BS架構(gòu)不盡如人意。2)表現(xiàn)要達(dá)到CS程序的程度需要花費(fèi)不少精力
10、。3)在速度和安全性上需要花費(fèi)巨大的設(shè)計成本,這是BS架構(gòu)的最大問題。4)客戶端服務(wù)器端的交互是請求-響應(yīng)模式,通常需要刷新頁面,這并不是客戶樂意看到的。(在Ajax風(fēng)行后此問題得到了一定程度的緩解)B/S結(jié)構(gòu)模式與C/S結(jié)構(gòu)模式的分析比較商用計算模式從最初的集中式計算,經(jīng)過了Client/Server階段,已發(fā)展到目前最流行的Browser/Server計算模式,本文主要分析比較B/S結(jié)構(gòu)模式與C/S結(jié)構(gòu)模式。集中式計算模式第一代計算模式是集中式計算及主機(jī)模式,由大型機(jī)和多個與之相連的啞終端組成。這種計算模式的主要優(yōu)點是:安全性好;可靠性高;計算能力和數(shù)據(jù)存儲能力強(qiáng);系統(tǒng)維護(hù)和管理的費(fèi)用較低
11、。但是它也存在著一些明顯的缺點,如:硬件的初始投資高;可移植性差;資源利用率低;網(wǎng)絡(luò)負(fù)載大。該模式仍是一些特定應(yīng)用場合下重要的計算處理方式,如金融領(lǐng)域等。盡管其它的計算模式在計算能力和可伸縮性方面已向大型機(jī)逼近,但當(dāng)支持大量用戶和數(shù)據(jù)時,大型機(jī)自頂向下的維護(hù)和管理方式仍顯示著集中式處理的優(yōu)越性。Client/Server模式隨著PC機(jī)的誕生與應(yīng)用,計算模式從集中式(數(shù)據(jù)和應(yīng)用邏輯在一臺主機(jī)上)轉(zhuǎn)向了分布式(數(shù)據(jù)和邏輯跨越多個節(jié)點機(jī)),尤為典型的是Client/Server結(jié)構(gòu),它的發(fā)展經(jīng)歷了兩個階段:從兩層結(jié)構(gòu)到三層結(jié)構(gòu)。兩層結(jié)構(gòu):如上圖所示,它由兩部分構(gòu)成:前端是客戶機(jī),通常是PC,主要完成
12、用戶界面顯示,接受數(shù)據(jù)輸入,校驗數(shù)據(jù)有效性,向后臺數(shù)據(jù)庫發(fā)請求,接受返回結(jié)果,處理應(yīng)用邏輯;后端是服務(wù)器,運(yùn)行DBMS,提供數(shù)據(jù)庫的查詢和管理。應(yīng)用邏輯主要在前端,如在后端則是存儲過程的形式,這種結(jié)構(gòu)在八十年代及九十年代初得到了大量應(yīng)用,最直接的原因是可視化開發(fā)工具的應(yīng)用。隨著應(yīng)用規(guī)模的擴(kuò)大,人們逐漸發(fā)現(xiàn)了兩層C/S結(jié)構(gòu)的許多不足:首先是系統(tǒng)的可伸縮性差,用戶數(shù)一旦大起來,通常會出現(xiàn)通訊堵塞、數(shù)據(jù)庫響應(yīng)慢等各種問題。幾乎所有的應(yīng)用邏輯都在客戶端進(jìn)行,導(dǎo)致應(yīng)用的可擴(kuò)展性差,而且很難和其它系統(tǒng)進(jìn)行互操作。當(dāng)系統(tǒng)需要涉及多個數(shù)據(jù)庫時,依賴于數(shù)據(jù)庫本身的互聯(lián)能力,難以支持多個異構(gòu)數(shù)據(jù)庫??蛻舳顺绦蚝蚐
13、erver端DBMS交互頻繁,網(wǎng)絡(luò)通訊量大??蛻舳说膽?yīng)用程序越來越復(fù)雜,對安全性和業(yè)務(wù)變化的管理能力差,所有客戶機(jī)都需要安裝、配置數(shù)據(jù)庫客戶端軟件,同時要維護(hù)如此“肥”且節(jié)點眾多的客戶機(jī)更是一件十分龐雜的工作。三層結(jié)構(gòu):三層應(yīng)用結(jié)構(gòu)是伴隨著中間件技術(shù)的成熟而興起的。核心概念是利用中間件將應(yīng)用分為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)存儲層三個不同的處理層次。(見圖3)三個層次的劃分是從邏輯上來分的,具體的物理分法可以有多種組合?;谌龑咏Y(jié)構(gòu)的應(yīng)用系統(tǒng)不但具備了大型機(jī)系統(tǒng)穩(wěn)定、安全和處理能力高等特性,同時擁有開放系統(tǒng)成本低、可擴(kuò)展性強(qiáng)、開發(fā)周期短等優(yōu)點。而中間件作為構(gòu)造三層結(jié)構(gòu)應(yīng)用系統(tǒng)的基礎(chǔ)平臺,提供了以下主
14、要功能:負(fù)責(zé)客戶機(jī)與服務(wù)器間、服務(wù)器間與服務(wù)器間的聯(lián)接和通訊;實現(xiàn)應(yīng)用與數(shù)據(jù)庫的高效連接;提供一個三層結(jié)構(gòu)應(yīng)用的開發(fā)、運(yùn)行、部署和管理的平臺。常用的中間件技術(shù)主要有:TransactionProcessingMoni-tor:典型的產(chǎn)品有BEA的Tuxedo和IBM的CICS,尤其適用于OLTP類型的應(yīng)用。RPC(RemoteProcedureCalls):面向過程的透明同步遠(yuǎn)程調(diào)用,在DCE中得到了大量實現(xiàn)。MOM(MessageOrientedMid-dleware):消息中間件,用于保障消息的可靠傳遞。典型的產(chǎn)品有BEA的MessageQ及IBM的MQSeries。ORB(ObjectR
15、equestBro-ker):對象請求代理,OMG的CORBA規(guī)范對此作了相應(yīng)的定義。典型的產(chǎn)品有BEA的Tuxedo、IONA的Orbix及Inprise的VisiBro-ker。三層結(jié)構(gòu)與傳統(tǒng)的兩層C/S結(jié)構(gòu)相比體現(xiàn)了集中式計算的優(yōu)越性:具有良好的開放性;減少整個系統(tǒng)的成本,維護(hù)升級十分方便;系統(tǒng)的可擴(kuò)充性良好;系統(tǒng)管理簡單,可支持異種數(shù)據(jù)庫,有很高的可用性;可以進(jìn)行嚴(yán)密的安全管理。目前三層結(jié)構(gòu)是建立在TPMonitor、CORBA等中間件產(chǎn)品基礎(chǔ)之上的,嚴(yán)格地來講這些產(chǎn)品還缺乏作為企業(yè)級應(yīng)用平臺的一些特性;也沒有類似于Container這樣的運(yùn)行環(huán)境的概念;難以擴(kuò)展到Internet這樣
16、的環(huán)境上去。而且要求應(yīng)用開發(fā)者自己去處理:事務(wù)管理,消息隊列,數(shù)據(jù)的復(fù)制和同步,系統(tǒng)的FailOver和FailBack通訊安全,這些都對應(yīng)用開發(fā)者提出了較高的要求,而且迫使應(yīng)用開發(fā)者投很多精力來解決這些系統(tǒng)級的問題。Browser/Server模式Browser/Server計算模式實質(zhì)上是以Java技術(shù)為核心、以J2EE為平臺的計算模式。其層次結(jié)構(gòu)如圖2:客戶端瀏覽器通過HTTP協(xié)議向Ja-va應(yīng)用服務(wù)器發(fā)送請求。Web層的Servlets或JSPs生成網(wǎng)頁用來完成表示層邏輯,它們的主要作用是接受并檢驗用戶輸入,調(diào)用后端的業(yè)務(wù)邏輯層,并把業(yè)務(wù)邏輯層處理的結(jié)果返回給用戶。JSP和Servle
17、t都運(yùn)行在應(yīng)用服務(wù)器端。業(yè)務(wù)邏輯層由EJB來實現(xiàn),EJB通過JDBC訪問DBMS,或通過其他途徑去訪問遺留系統(tǒng)。處于第一層的是客戶端,與C/S結(jié)構(gòu)中的客戶端不同,Browser/Server結(jié)構(gòu)的客戶層只保留一個Web瀏覽器(如IE或Navigator等),不存放任何應(yīng)用程序,在C/S模式下,用戶在使用之前,他們必須在Client端安裝此應(yīng)用,提供關(guān)于Server的信息,配置Client端的參數(shù)。用戶需要參與Client端軟件的維護(hù),例如升級Client端等。如果用戶工作在不同的平臺上,那還得根據(jù)不同的平臺專門為其開發(fā)相應(yīng)的Client端。處于第二層的是應(yīng)用服務(wù)層,由一臺或多臺服務(wù)器組成,We
18、b服務(wù)器也位于這一層,JavaApplicationServer處理應(yīng)用中的業(yè)務(wù)邏輯,該層具有良好的可擴(kuò)充性,可以隨著應(yīng)用的需要增加服務(wù)器的數(shù)目,由于管理工作主要針對服務(wù)器進(jìn)行,相對于C/S結(jié)構(gòu)而言無論是工作的復(fù)雜性還是工作量都大大減少了。處于第三層的是數(shù)據(jù)層,由數(shù)據(jù)庫系統(tǒng)和遺留系統(tǒng)組成。B/S結(jié)構(gòu)模式與C/S結(jié)構(gòu)模式相比,本質(zhì)區(qū)別在于B/S結(jié)構(gòu)模式是基于標(biāo)準(zhǔn)的J2EE平臺的。傳統(tǒng)的Client/Server程序?qū)?yīng)用邏輯和中間件混在一起,應(yīng)用開發(fā)者不得不關(guān)心很多事情:保持服務(wù)器端的對象的永久性,在網(wǎng)絡(luò)上找到對象,保障對象的安全,杜絕對象共享沖突,避免對象調(diào)用失敗,管理對象的生命周期以及確保對
19、象的粒度和可用性等。這使應(yīng)用的維護(hù)、移植和互操作變得復(fù)雜。而Java應(yīng)用服務(wù)器將企業(yè)的應(yīng)用邏輯和中間件分開,采用EJB及其它基于J2EE的服務(wù),應(yīng)用的開發(fā)可以獨立于底層的中間件,EJB開發(fā)者只需要關(guān)心他們的業(yè)務(wù)邏輯,其余的由服務(wù)器與容器來負(fù)責(zé),Java應(yīng)用服務(wù)器隱藏了這些復(fù)雜性,使開發(fā)者能集中精力于業(yè)務(wù)邏輯本身。BEA系統(tǒng)有限公司高級系統(tǒng)工程師 嵇小峰 國際金融報 (2002年03月12日第八版) 一、什么是C/S和B/S要想對“C/S”和“B/S”技術(shù)發(fā)展變化有所了解,首先必須搞清楚三個問題。第一、什么是C/S結(jié)構(gòu)。C/S(Client/Server)結(jié)構(gòu),即大家熟知的客戶機(jī)和服務(wù)器結(jié)構(gòu)。它
20、是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來實現(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)的CS體系結(jié)構(gòu)雖然采用的是開放模式,但這只是系統(tǒng)開發(fā)一級的開放性,在特定的應(yīng)用中無論是Client端還是Serve
21、r端都還需要特定的軟件支持。由于沒能提供用戶真正期望的開放環(huán)境,C/S結(jié)構(gòu)的軟件需要針對不同的操作系統(tǒng)系統(tǒng)開發(fā)不同版本的軟件,加之產(chǎn)品的更新?lián)Q代十分快,已經(jīng)很難適應(yīng)百臺電腦以上局域網(wǎng)用戶同時使用。而且代價高,效率低。第二、什么是B/S結(jié)構(gòu)。B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)
22、與升級的成本和工作量,降低了用戶的總體成本(TCO)。以目前的技術(shù)看,局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intranet模式下數(shù)據(jù)庫應(yīng)用,相對易于把握、成本也是較低的。它是一次性到位的開發(fā),能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。特別是在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。第三、管理軟件主流技術(shù)。管理軟件技術(shù)的主流技術(shù)與管理思想一樣,也經(jīng)歷了三個發(fā)展時期。首先,界面技術(shù)從上世紀(jì)DOS字
23、符界面到Windows圖形界面(或圖形用戶界面GUI),直至Browser瀏覽器界面三個不同的發(fā)展時期。其次,今天所有電腦的瀏覽器界面,不僅直觀和易于使用,更主要的是基于瀏覽器平臺的任何應(yīng)用軟件其風(fēng)格都是一樣的,使用人對操作培訓(xùn)的要求不高,而且軟件可操作性強(qiáng),易于識別;再者,平臺體系結(jié)構(gòu)也從過去單用戶發(fā)展到今天的文件/服務(wù)器(F/S)體系、客戶機(jī)/服務(wù)器(C/S)體系和瀏覽器/服務(wù)器(B/S)體系。二、C/S和B/S之比較C/S和B/S是當(dāng)今世界開發(fā)模式技術(shù)架構(gòu)的兩大主流技術(shù)。C/S是美國Borland公司最早研發(fā),B/S是美國微軟公司研發(fā)。目前,這兩項技術(shù)以被世界各國所掌握,國內(nèi)公司以C/S
24、和B/S技術(shù)開發(fā)出產(chǎn)品也很多。這兩種技術(shù)都有自己一定的市場份額和客戶群,各家企業(yè)都說自己的管理軟件架構(gòu)技術(shù)功能強(qiáng)大、先進(jìn)、方便,都能舉出各自的客戶群體,都有一大群文人墨客為自己搖旗吶喊,廣告滿天飛,可謂仁者見仁,智者見智。1、C/S架構(gòu)軟件的優(yōu)勢與劣勢(1)、應(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ù)
25、進(jìn)行任何操作時,客戶程序就自動地尋找服務(wù)器程序,并向其發(fā)出請求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。(2)、數(shù)據(jù)的儲存管理功能較為透明。在數(shù)據(jù)庫應(yīng)用中,數(shù)據(jù)的儲存管理功能,是由服務(wù)器程序和客戶應(yīng)用程序分別獨立進(jìn)行的,前臺應(yīng)用可以違反的規(guī)則,并且通常把那些不同的(不管是已知還是未知的)運(yùn)行數(shù)據(jù),在服務(wù)器程序中不集中實現(xiàn),例如訪問者的權(quán)限,編號可以重復(fù)、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺程序不是非?!笆菪 ?,麻
26、煩的事情都交給了服務(wù)器和網(wǎng)絡(luò)。在C/S體系的下,數(shù)據(jù)庫不能真正成為公共、專業(yè)化的倉庫,它受到獨立的專門管理。(3)、C/S架構(gòu)的劣勢是高昂的維護(hù)成本且投資大。首先,采用C/S架構(gòu),要選擇適當(dāng)?shù)臄?shù)據(jù)庫平臺來實現(xiàn)數(shù)據(jù)庫數(shù)據(jù)的真正“統(tǒng)一”,使分布于兩地的數(shù)據(jù)同步完全交由數(shù)據(jù)庫系統(tǒng)去管理,但邏輯上兩地的操作者要直接訪問同一個數(shù)據(jù)庫才能有效實現(xiàn),有這樣一些問題,如果需要建立“實時”的數(shù)據(jù)同步,就必須在兩地間建立實時的通訊連接,保持兩地的數(shù)據(jù)庫服務(wù)器在線運(yùn)行,網(wǎng)絡(luò)管理工作人員既要對服務(wù)器維護(hù)管理,又要對客戶端維護(hù)和管理,這需要高昂的投資和復(fù)雜的技術(shù)支持,維護(hù)成本很高,維護(hù)任務(wù)量大。其次,傳統(tǒng)的C/S結(jié)構(gòu)的
27、軟件需要針對不同的操作系統(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)。2、B/S架構(gòu)軟件的優(yōu)勢與劣勢(1)、維護(hù)和升級方式簡單。目前,軟件系統(tǒng)的改進(jìn)和升級越來越頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對一個稍微大一點單位來說,系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護(hù)。無論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會增加任何維護(hù)升級的工作量,
28、所有的操作只需要針對服務(wù)器進(jìn)行;如果是異地,只需要把服務(wù)器連接專網(wǎng)即可,實現(xiàn)遠(yuǎn)程維護(hù)、升級和共享。所以客戶機(jī)越來越“瘦”,而服務(wù)器越來越“胖”是將來信息化發(fā)展的主流方向。今后,軟件升級和維護(hù)會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力、時間、費(fèi)用的節(jié)省是顯而易見的,驚人的。因此,維護(hù)和升級革命的方式是“瘦”客戶機(jī),“胖”服務(wù)器。(2)、成本降低,選擇更多。大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標(biāo)準(zhǔn)配置,但在服務(wù)器操作系統(tǒng)上windows并不是處于絕對的統(tǒng)治地位?,F(xiàn)在的趨勢是凡使用B/S架構(gòu)的應(yīng)用管理軟件,只需安裝在Linux服務(wù)器上即可,而且安全性高。所以服
29、務(wù)器操作系統(tǒng)的選擇是很多的,不管選用那種操作系統(tǒng)都可以讓大部分人使用windows作為桌面操作系統(tǒng)電腦不受影響,這就使的最流行免費(fèi)的Linux操作系統(tǒng)快速發(fā)展起來,Linux除了操作系統(tǒng)是免費(fèi)的以外,連數(shù)據(jù)庫也是免費(fèi)的,這種選擇非常盛行。比如說很多人每天上“網(wǎng)易”(原文為新浪)網(wǎng),只要安裝了瀏覽器就可以了,并不需要了解“網(wǎng)易”的服務(wù)器用的是什么操作系統(tǒng),而事實上大部分網(wǎng)站確實沒有使用windows操作系統(tǒng),但用戶的電腦本身安裝的大部分是windows操作系統(tǒng)。(3)、應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重。由于B/S架構(gòu)管理軟件只安裝在服務(wù)器端(Server)上,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界
30、面主要事務(wù)邏輯在服務(wù)器(Server)端完全通過WWW瀏覽器實現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護(hù)。但是,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重,一旦發(fā)生服務(wù)器“崩潰”等問題,后果不堪設(shè)想。因此,許多單位都備有數(shù)據(jù)庫存儲服務(wù)器,以防萬一。3,C/S與B/S區(qū)別Client/Server是建立在局域網(wǎng)的基礎(chǔ)上的,Browser/Server是建立在廣域網(wǎng)的基礎(chǔ)上的。(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)境,例如電
31、話上網(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)限多層次校驗,對系統(tǒng)運(yùn)行速度可以較少考慮。B/S對安全以及訪問速度的多重的考慮,建立在需要更加優(yōu)化的基礎(chǔ)之上。比C/S有更高的要求,B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢,從MS的.Net系列的BizTalk2000Exchange
32、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)件相對獨立的功能。能夠相對較好的重用。就如買來的餐桌可以再利用,而不是做在墻上的石頭桌子。(5)、系統(tǒng)維護(hù)不同系統(tǒng)維護(hù)是軟件生存周期中,開銷大,相當(dāng)重要C/S程序由于整體性,必須整體考察,處理出現(xiàn)的問題以及系統(tǒng)升級難,可能是再做一個全新的系統(tǒng)。B/S構(gòu)件組成方面構(gòu)件個別的更換,實現(xiàn)系統(tǒng)的無縫升級。系統(tǒng)維護(hù)開銷減到最小,用戶從網(wǎng)上自己下載安裝就可以實現(xiàn)升級。(6)
33、、處理問題不同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信息流向可變化,BB、BC、BG等信息流向的變化,更象交易中心。 打印該頁 返回前頁 B/S結(jié)構(gòu)的軟件與C/S結(jié)構(gòu)軟件的區(qū)
34、別 近段時間,客戶以及渠道商反應(yīng)B/S與C/S軟件之間的區(qū)別比較迷惑,于是筆者通過多種渠道,整理有關(guān)于這兩種架構(gòu)區(qū)別的對話以及論述。希望能對我們的客戶以及渠道商有所幫助,同時希望各位看官能以辨證和理性的角度去看待這兩者之間的區(qū)別,從而選擇較為合適的軟件,以幫助您解決您現(xiàn)實中遇到的種種問題。一、簡單的說:B/S是瀏覽器服務(wù)器模式,比如E-mail. C/S是客戶端服務(wù)器模式,比如QQ. 二、具體的說: 1、B/S的報表不靈活、套打不靈活、配載不靈活、核銷不靈活。 2、速度慢,安全性差,不能夠做個性化設(shè)置,報表無法根據(jù)客戶要求調(diào)整,需要調(diào)整要另外收費(fèi)。招商銀行的網(wǎng)上銀行都是要裝客戶端的。 3、業(yè)務(wù)
35、數(shù)據(jù)由別人掌管,很難放心的。有可能每年還要另外交托管費(fèi)。 4、ASP代碼的水平,根本不可能達(dá)到我們那種配載的功能。每一個報表的排序或格式,都要重新動開發(fā)。 5、維護(hù)起來很費(fèi)勁,人家就不是當(dāng)一個產(chǎn)品來做企業(yè)的。有可能只是賺個短平快的錢。 c/s 不流行 b/s 瘦客戶端,以后的發(fā)展趨勢 c/s: client/server 客戶端/服務(wù)器端模式 b/s: browser/server 瀏覽器/服務(wù)器端模式 b/s模式的優(yōu)點在于客戶端不用專門去安裝龐大客戶端程序(相對而言),只需用瀏覽器即可(當(dāng)然可能會需要從頁面下載相應(yīng)的插件).但是受到瀏覽器的限制,實現(xiàn)的功能相對不強(qiáng)大,受到的限制較多。 C/S
36、結(jié)構(gòu)的限制 網(wǎng)絡(luò)應(yīng)用絕大部分都可分為以下四個層次:表現(xiàn)層、事務(wù)層、數(shù)據(jù)邏輯層和數(shù)據(jù)存儲層。在C/S結(jié)構(gòu)中,表現(xiàn)層和事務(wù)層都放在客戶端,而數(shù)據(jù)邏輯層和數(shù)據(jù)存儲層則置于服務(wù)器端。這種組織安排帶來諸多的限制: 1、客戶端很龐大,以致于應(yīng)用程序升級和維護(hù)時十分困難且耗資很大; 2、事務(wù)層不能與跨平臺的客戶端共享; 3、孤立了不同的邏輯組件; 4、沒有統(tǒng)一的數(shù)據(jù)邏輯層來提供不同種類的數(shù)據(jù)存儲層; 做過C/S結(jié)構(gòu)下的MIS開發(fā)和維護(hù)的人們對第1點體會頗深:對應(yīng)用程序一個小小的改動,就必須通知或親臨每一個客戶端去更新;新增或升級一臺機(jī)器,都要把應(yīng)用及其相關(guān)的文件安裝在客戶端上。如果整個系統(tǒng)有成千上萬個客戶端
37、,可以想象維護(hù)的工作量有多大。 C/S的客戶端一般是用一些高級語言如C,C+,VC,VB,DELPHI,.開發(fā)的應(yīng)用程序,當(dāng)然也可以做成自動升級的客戶端,對于公司來說,C/S結(jié)構(gòu)開發(fā)的工作量較大,對于用戶來說,需要操作的是安裝和使用WINDOWS應(yīng)用程序B/S使用的是IE/NS瀏覽器,對于公司來說,使用JSP,ASP,HTML,J2EE等工具語言進(jìn)行開發(fā),看起來稍微簡單一些,省去了WINDOWS圖形界面設(shè)計和高級語言的代碼設(shè)計,但是一樣需要調(diào)試;其實用那種語言和方式都不太要緊,重要的是開發(fā)思路和流程要對,要實用就可以了! C/S比較適用于大量的客戶端與服務(wù)器間大數(shù)據(jù)量的復(fù)雜處理(如果把服務(wù)器端
38、的應(yīng)用程序和數(shù)據(jù)庫分開,就是三層結(jié)構(gòu))。 B/S應(yīng)用于客戶端和服務(wù)器間簡單數(shù)據(jù)庫處理。當(dāng)少量客戶端與服務(wù)器相連時,處理比較快。否則,會很慢。比如很多人點擊同一條新聞時,你就會感覺很慢。 相對來說,c/s中c端操作比較專業(yè)。b/s中b端操作比較容易。 B/S 是一種特殊的 C/S 結(jié)構(gòu),它的客戶端是瀏覽器,B/S 大部分的邏輯、數(shù)據(jù)分析都在服務(wù)器完成,客戶端基本只負(fù)責(zé)界面的表達(dá)(瘦客戶端)。如果你編寫的客戶端可以實現(xiàn) JS,VBS,Html等腳本的解析,服務(wù)器端實現(xiàn) ASP、PHP、JSP等服務(wù)器腳本的解析,客戶端與服務(wù)器端支持HTTP等協(xié)議的通訊,那么完全可以用 C/S 結(jié)構(gòu)編寫出 B/S(瀏
39、覽器/服務(wù)器)的結(jié)構(gòu)。至于說B/S不用安裝那也不對,恐怕只有IE瀏覽器不用安裝吧, 如果瀏覽器版本有更新一樣得上網(wǎng)做升級。C/S 結(jié)構(gòu)不支持Internet 這是不對的,網(wǎng)絡(luò)游戲幾乎都是用 C/S編的。 B/S(Browser/Server)是一種特殊的 C/S(Client/Server)結(jié)構(gòu)。在早期是沒有B/S的概念的,只有C/S,后來隨著Internet的流行,某幾種Server和某幾種Client做得非常優(yōu)秀,他們之間的協(xié)議也基本固定下來,于是就有人在這個基礎(chǔ)上做開發(fā),就出現(xiàn)了B/S結(jié)構(gòu) 上面說的某幾種優(yōu)秀的Server有Apache、IIS等,某幾種優(yōu)秀的Client有IE、Nets
40、cape等,它們之間的協(xié)議也就是HTTP,F(xiàn)TP等。還有一系列語法HTML,Javascript等 用B/S的優(yōu)點是不用去寫Client端,只需要按照html,js的語法來就可以了。在Server端也不需要自己完整的寫,可以寫個exe,dll等讓Server調(diào)用,這也就是CGI、ISAPI等;可以寫些文本代碼,讓Server去解釋,PHP,ASP等也就是這樣的 B/S結(jié)構(gòu)因為很多東西不需要自己寫了,減少了很多工作量,因而開發(fā)及維護(hù)都變得較容易。但某些功能及靈活性不如C/S結(jié)構(gòu);C/S結(jié)構(gòu)兩端都自己寫,協(xié)議可以自己定義,因而很靈活,功能很強(qiáng),但開發(fā)及維護(hù)的工作量較大。 用B/S還是用C/S,取決
41、于你要做什么 B/S是在C/S的基礎(chǔ)上發(fā)展起來的,就是指使用Browser作為客戶端。 既然是使用Browser作為客戶端,那么就是使用WEB協(xié)議作為與服務(wù)端的通信協(xié)議,從而發(fā)展出了三層結(jié)構(gòu)-瀏覽器/WEB服務(wù)器/數(shù)據(jù)庫服務(wù)器。 傳統(tǒng)的C/S是兩層的-客戶端/服務(wù)器,當(dāng)然你也可以設(shè)計成三層,把服務(wù)器分成應(yīng)用程序服務(wù)器和數(shù)據(jù)庫服務(wù)器。 C/S的方式由于客戶端不一定是Browser,往往是自己設(shè)計的客戶端,因此客戶端/服務(wù)器之間的通信協(xié)議不一定是WEB協(xié)議,可以是自己在Socket基礎(chǔ)上定義自己的內(nèi)部協(xié)議。 c/s和b/s各有他的用途,b/s靈活,c/s功能更強(qiáng)大,我覺得c/s和b/s結(jié)合起來用是
42、最好的,也是現(xiàn)在的發(fā)展趨勢。 c/s 很多事務(wù)在客戶端需要處理 而b/s 的b只是負(fù)責(zé)顯示而已 b/s對于安裝部署以及升級維護(hù)都比c/s有很大的優(yōu)勢 B/S和C/S的主要區(qū)別在于軟件組件的部署上。B/S結(jié)構(gòu)的軟件將組件放在服務(wù)器端,這樣作的主要好處是安裝簡單,易于維護(hù),不用到每臺機(jī)器上去安裝客戶端,升級也比較容易,客戶端基本上不用作什么配置就可以使用系統(tǒng),這也就是所謂的廋客戶機(jī);而C/S結(jié)構(gòu)的軟件,將大部分組件都放在客戶端的機(jī)器上,傳統(tǒng)的做法在服務(wù)器上只是放置數(shù)據(jù)庫服務(wù),這樣的系統(tǒng)的一般都是在一個局域網(wǎng)中部署,而客戶端一般也都是采用GUI的形式,如此,系統(tǒng)的界面友好性以及操作方便等方面都提供了
43、更好的性能,但在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)量比較大,安裝和維護(hù)都比較困難,和廋客戶機(jī)相對,這種方式稱為胖客戶機(jī)。 我認(rèn)為c/s、b/s結(jié)合才是最好的,因為各有各的優(yōu)缺點,目前的web services正是因為第一代的基于瀏覽器的方式既有局限性,因此原來的MIME協(xié)議變?yōu)镾OAP消息協(xié)議,這樣所面對的用戶將更加廣泛。 Client/Server是建立在局域網(wǎng)的基礎(chǔ)上的. Browser/Server是建立在廣域網(wǎng)的基礎(chǔ)上的 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)境,例與電
44、話上網(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)限多層次校驗,對系統(tǒng)運(yùn)行速度可以較少考慮. B/S 對安全以及訪問速度的多重的考慮,建立在需要更加優(yōu)化的基礎(chǔ)之上.比C/S有更高的要求 B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢, 從MS的.Net系列的BizTalk2
45、000 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)件相對獨立的功能. 能夠相對較好的重用.就入買來的餐桌可以再利用,而不是做在墻上的石頭桌子 5 系統(tǒng)維護(hù)不同 系統(tǒng)維護(hù)是軟件生存周期中,開銷開銷最大的一部分 。 C/S 程序由于整體性, 必須整體考察, 處理出現(xiàn)的問題以及系統(tǒng)升級. 升級難. 可能是再做一個全新的系統(tǒng) B/S 構(gòu)件組成,方面構(gòu)件個別的更換,實現(xiàn)系統(tǒng)的無縫升級.
46、 系統(tǒng)維護(hù)開銷減到最小.用戶從網(wǎng)上自己下載安裝就可以實現(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
47、等信息、流向的變化,更象交易中心? B/S結(jié)構(gòu)簡介及與C/S結(jié)構(gòu)的區(qū)別 一、什么是C/S和B/S 要想對“C/S”和“B/S”技術(shù)發(fā)展變化有所了解,首先必須搞清楚三個問題。 第一、什么是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端來實現(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ù)處理
48、,應(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)的CS體系結(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)用戶同時使用。而且代價高,效率低。 第二、什么是B/S結(jié)構(gòu)。 B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)
49、構(gòu)。它是隨著 Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過WWW瀏覽器來實現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實現(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ā),能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式(比如LAN,WAN,Intern
50、et/Intranet等)訪問和操作共同的數(shù)據(jù)庫;它能有效地保護(hù)數(shù)據(jù)平臺和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。特別是在JAVA這樣的跨平臺語言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。 第三、管理軟件主流技術(shù)。 管理軟件技術(shù)的主流技術(shù)與管理思想一樣,也經(jīng)歷了三個發(fā)展時期。首先,界面技術(shù)從上世紀(jì)DOS字符界面到Windows圖形界面(或圖形用戶界面GUI),直至Browser瀏覽器界面三個不同的發(fā)展時期。其次,今天所有電腦的瀏覽器界面,不僅直觀和易于使用,更主要的是基于瀏覽器平臺的任何應(yīng)用軟件其風(fēng)格都是一樣的,使用人對操作培訓(xùn)的要求不高,而且軟件可操作性強(qiáng),易于識別;再者,平臺體系結(jié)構(gòu)也
51、從過去單用戶發(fā)展到今天的文件/服務(wù)器(F/S)體系、客戶機(jī)/服務(wù)器(C/S)體系和瀏覽器/服務(wù)器(B/S)體系。 二、C/S和B/S之比較 C/S和B/S是當(dāng)今世界開發(fā)模式技術(shù)架構(gòu)的兩大主流技術(shù)。C/S是美國Borland公司 最早研發(fā),B/S是美國微軟公司研發(fā)。目前,這兩項技術(shù)以被世界各國所掌握,國內(nèi)公司以C/S和B/S技術(shù)開發(fā)出產(chǎn)品也很多。這兩種技術(shù)都有自己一定的市場份額和客戶群,各家企業(yè)都說自己的管理軟件架構(gòu)技術(shù)功能強(qiáng)大、先進(jìn)、方便,都能舉出各自的客戶群體,都有一大群文人墨客為自己搖旗吶喊,廣告滿天飛,可謂仁者見仁,智者見智。 1、C/S架構(gòu)軟件的優(yōu)勢與劣勢 (1)、應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)
52、荷較輕。 最簡單的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é)果,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。 (2)、數(shù)據(jù)的儲存管理功能較為透明。 在數(shù)據(jù)庫應(yīng)用中,數(shù)據(jù)的儲存管理功能,是由服務(wù)器程序和客戶應(yīng)用程序分別獨立進(jìn)行的,前臺應(yīng)用可以違反的規(guī)則
53、,并且通常把那些不同的(不管是已知還是未知的)運(yùn)行數(shù)據(jù),在服務(wù)器程序中不集中實現(xiàn),例如訪問者的權(quán)限,編號可以重復(fù)、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺程序不是非?!笆菪 ?,麻煩的事情都交給了服務(wù)器和網(wǎng)絡(luò)。在C/S體系的下,數(shù)據(jù)庫不能真正成為公共、專業(yè)化的倉庫,它受到獨立的專門管理。 (3)、C/S架構(gòu)的劣勢是高昂的維護(hù)成本且投資大。 首先,采用C/S架構(gòu),要選擇適當(dāng)?shù)臄?shù)據(jù)庫平臺來實現(xiàn)數(shù)據(jù)庫數(shù)據(jù)的真正“統(tǒng)一”,使分布于兩 地的數(shù)據(jù)同步完全交由數(shù)據(jù)
54、庫系統(tǒng)去管理,但邏輯上兩地的操作者要直接訪問同一個數(shù)據(jù)庫才能有效實現(xiàn),有這樣一些問題,如果需要建立“實時”的數(shù)據(jù)同步,就必須在兩地間建立實時的通訊連接,保持兩地的數(shù)據(jù)庫服務(wù)器在線運(yùn)行,網(wǎng)絡(luò)管理工作人員既要對服務(wù)器維護(hù)管理,又要對客戶端維護(hù)和管理,這需要高昂的投資和復(fù)雜的技術(shù)支持,維護(hù)成本很高,維護(hù)任務(wù)量大。 其次,傳統(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)。 2、B/S架構(gòu)軟件的優(yōu)勢與劣勢 (1)、維護(hù)和升級方式簡單。 目前
55、,軟件系統(tǒng)的改進(jìn)和升級越來越頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對一個稍微大一點單位來說,系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護(hù)。無論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會增加任何維護(hù)升級的工作量,所有的操作只需要針對服務(wù)器進(jìn)行;如果是異地,只需要把服務(wù)器連接專網(wǎng)即可,實現(xiàn)遠(yuǎn)程維護(hù)、升級和共享。所以客戶機(jī)越來越“瘦”,而服務(wù)器越來越“胖”是將來信息化發(fā)展的主流方向。今后,軟件升級和維護(hù)會越來越容易,而使用起來會越來越簡單,這對用戶人力、物力、時間、費(fèi)用的節(jié)省是顯而易見的,驚人的。因此,維護(hù)和升級革命的方式是“瘦”客戶機(jī),“胖”服務(wù)器。 (2)、成本降低,選擇更多。 大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標(biāo)準(zhǔn)配置,但在服務(wù)器操作系統(tǒng)上windows并不是處于絕對的統(tǒng)治地位?,F(xiàn)在的趨勢是凡使用B/S架構(gòu)的應(yīng)用管理軟件,只需安裝在Linux服務(wù)器上即可,而且安全性高。所以服務(wù)器操作系統(tǒng)的選擇是很多的,不管選用那種操作系
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)英語課堂流動攤販英語口語交際能力培養(yǎng)策略論文
- 高中數(shù)學(xué)建模競賽中的數(shù)學(xué)建模問題發(fā)現(xiàn)與解決研究論文
- 蕪湖分公司管理制度
- 蘋果店規(guī)章管理制度
- 蛋白粉與免疫力提升
- 課標(biāo)專用5年高考3年模擬A版2024高考物理專題十一電磁感應(yīng)試題
- 教學(xué)目標(biāo)知識與能力1培養(yǎng)觀察日常生活中的景物事物的
- 山東省濟(jì)寧市鄒城市第一中學(xué)2024-2025學(xué)年高一下學(xué)期5月月考地理試卷(含答案)
- 江蘇省南通市2024-2025學(xué)年八年級下學(xué)期數(shù)學(xué)期末考試模擬試卷(含答案)
- 設(shè)計與共享經(jīng)濟(jì)
- 2025年重慶市中考數(shù)學(xué)試卷真題(含標(biāo)準(zhǔn)答案)
- 農(nóng)機(jī)耕地合同協(xié)議書范本
- 書法鑒賞智慧樹知到期末考試答案章節(jié)答案2024年紹興文理學(xué)院
- 脫碳塔CO2脫氣塔設(shè)計計算
- 最新藥店員工手冊
- 系列螺桿冷水機(jī)組操作培訓(xùn)
- 五金用樣品承認(rèn)書
- 催化劑對異氰酸酯反應(yīng)活性的影響
- 國家開放大學(xué)《C語言程序設(shè)計》綜合測試題參考答案
- 老年人生活自理能力評估表
- 火電機(jī)組能耗指標(biāo)分析指導(dǎo)性意見
評論
0/150
提交評論