一、C/S結(jié)構(gòu)與B/S結(jié)構(gòu)的特點(diǎn)分析
隨著計算機(jī)技術(shù)的不斷發(fā)展與應(yīng)用,計算模式從集中式轉(zhuǎn)向了分布式,尤為典型的是C/S結(jié)構(gòu)(Client/Server的簡稱,客戶機(jī)/服務(wù)器模式)。兩層結(jié)構(gòu)C/S模式,在上個世紀(jì)八十年代及九十年代初得到了大量應(yīng)用,最直接的原因是可視化開發(fā)工具的推廣。之后,它開始向三層結(jié)構(gòu)發(fā)展。近年來,隨著網(wǎng)絡(luò)技術(shù)不斷發(fā)展,尤其是基于Web的信息發(fā)布和檢索技術(shù)、Java計算技術(shù)以及網(wǎng)絡(luò)分布式對象技術(shù)的飛速發(fā)展,導(dǎo)致了很多應(yīng)用系統(tǒng)的體系結(jié)構(gòu)從C/S結(jié)構(gòu)向更加靈活的多級分布結(jié)構(gòu)演變,使得軟件系統(tǒng)的網(wǎng)絡(luò)體系結(jié)構(gòu)跨入一個新階段,即B/S體系結(jié)構(gòu)(Browser/Server的簡稱,瀏覽器/服務(wù)器模式)。基于Web的B/S方式其實(shí)也是一種客戶機(jī)/服務(wù)器方式,只不過它的客戶端是瀏覽器。為了區(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ù)管理、消息隊(duì)列、數(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)行簡單的瀏覽和少量信息的錄入。
在系統(tǒng)安全維護(hù)上,B/S則略顯不足,B/S結(jié)構(gòu)尤其得考慮數(shù)據(jù)的安全性和服務(wù)器的安全性,畢竟現(xiàn)在的網(wǎng)絡(luò)安全系數(shù)并不高。以O(shè)A軟件為例,B/S結(jié)構(gòu)要實(shí)現(xiàn)辦公協(xié)作過程中復(fù)雜的工作流控制與安全性控制,還有很多技術(shù)上的難點(diǎn)。因此,當(dāng)前雖然出現(xiàn)了B/S結(jié)構(gòu)的OA系統(tǒng)產(chǎn)品,但尚未大范圍推廣。