宋 崴
[摘要]目前,對(duì)于系統(tǒng)開(kāi)發(fā)分為C/S(client/Server)和B/S(Browser/Server)兩種結(jié)構(gòu),首先認(rèn)識(shí)到這些結(jié)構(gòu)的特征,對(duì)于系統(tǒng)的選型而言是很關(guān)鍵的。
[關(guān)鍵詞]B/S結(jié)構(gòu)c/s結(jié)構(gòu)系統(tǒng)模式
中圖分類(lèi)號(hào):TP3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671—7597(2009)0210061—01
隨著PC機(jī)的誕生與應(yīng)用,計(jì)算模式從集中式(數(shù)據(jù)和應(yīng)用程序在一臺(tái)主機(jī)上)轉(zhuǎn)向了分布式(數(shù)據(jù)和應(yīng)用程序跨越多個(gè)節(jié)點(diǎn)機(jī)),尤為典型的是c/s結(jié)構(gòu)(cllent/Server的簡(jiǎn)稱(chēng),客戶機(jī)/服務(wù)器模式)。通過(guò)它可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理分配到client端和Server端來(lái)實(shí)現(xiàn),降低了系統(tǒng)的通訊開(kāi)銷(xiāo)。兩層結(jié)構(gòu)c/s模式,在上個(gè)世紀(jì)八十年代及九十年代初得到了大量應(yīng)用,最直接的原因是可視化開(kāi)發(fā)工具的推廣。隨著Internet的滲透,Web正在改變應(yīng)用系統(tǒng)開(kāi)發(fā)及實(shí)施的方法。C/S體系結(jié)構(gòu)由單一的兩個(gè)層次擴(kuò)展到由客戶、應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器組成的三層結(jié)構(gòu)。有了統(tǒng)一的通信協(xié)議TCP/IP和統(tǒng)一的基于Web瀏覽器的用戶界面。
近年來(lái),隨著網(wǎng)絡(luò)技術(shù)不斷發(fā)展,尤其是基于Web的信息發(fā)布和檢索技術(shù)、Java計(jì)算技術(shù)以及網(wǎng)絡(luò)分布式對(duì)象技術(shù)的飛速發(fā)展,導(dǎo)致了很多應(yīng)用系統(tǒng)的體系結(jié)構(gòu)從c/s結(jié)構(gòu)向更加靈活的多級(jí)分布結(jié)構(gòu)演變,使得軟件系統(tǒng)的網(wǎng)絡(luò)體系結(jié)構(gòu)跨入一個(gè)新階段,即B/S體系結(jié)構(gòu)(Browser/Server的簡(jiǎn)稱(chēng),瀏覽器/服務(wù)器模式)。它是隨著Internet技術(shù)的興起,對(duì)c/s結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。
那么要為開(kāi)發(fā)系統(tǒng)選擇結(jié)構(gòu),首先應(yīng)從以下幾方面對(duì)c/s結(jié)構(gòu)與B/s結(jié)構(gòu)的特點(diǎn)進(jìn)行解析。
一、系統(tǒng)硬件環(huán)境
C/S結(jié)構(gòu)一般建立在局域網(wǎng)基礎(chǔ)上,局域網(wǎng)間再通過(guò)專(zhuān)門(mén)服務(wù)器提供連接和數(shù)據(jù)交換服務(wù)。通常采用高性能Pc、工作站或小型機(jī)并采用大型數(shù)據(jù)庫(kù)系統(tǒng)如Oracle、Sybase、Informix或SQLServer客戶端需要安裝專(zhuān)用客戶端軟件。
B/S結(jié)構(gòu)建立在廣域網(wǎng)的基礎(chǔ)上,不必是專(zhuān)門(mén)網(wǎng)絡(luò)硬件環(huán)境,例如電話上網(wǎng),租用設(shè)備。信息自己管理。比C/S更強(qiáng)適應(yīng)范圍,一般只要有操作系統(tǒng)和瀏覽器就可以了。
二、系統(tǒng)的性能
采用c/s結(jié)構(gòu)時(shí),客戶端和服務(wù)器端都能夠處理任務(wù),雖然對(duì)客戶機(jī)的要求較高,但可以減輕服務(wù)器的壓力。由于客戶端實(shí)現(xiàn)與服務(wù)器的直接相連,沒(méi)有中間環(huán)節(jié),因此響應(yīng)速度快。管理信息系統(tǒng)也具有較強(qiáng)的事務(wù)處理能力,能實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)流程。但由于是針對(duì)性開(kāi)發(fā),因此缺少通用性的特點(diǎn),業(yè)務(wù)變更或改變不夠靈活,需要重新設(shè)計(jì)和開(kāi)發(fā),增加了維護(hù)和管理的難度,進(jìn)一步的業(yè)務(wù)拓展困難較多。
在系統(tǒng)性能方面,B/S結(jié)構(gòu)占有優(yōu)勢(shì)的是其異地瀏覽和信息采集的靈活性。具有分布性特點(diǎn),任何時(shí)間、任何地點(diǎn)、任何系統(tǒng),只要可以使用瀏覽器上網(wǎng),就可以使用B/S系統(tǒng)的終端??墒?,采用B/S結(jié)構(gòu),客戶端只能完成瀏覽、查詢(xún)、數(shù)據(jù)輸入等簡(jiǎn)單功能,絕大部分工作由服務(wù)器承擔(dān),這使得服務(wù)器的負(fù)擔(dān)很重。并且,B/S結(jié)構(gòu)缺乏對(duì)動(dòng)態(tài)頁(yè)面的支持能力,沒(méi)有集成有效的數(shù)據(jù)庫(kù)處理功能。功能弱化,難以實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能要求。
三、系統(tǒng)的開(kāi)發(fā)
C/S結(jié)構(gòu)可以將客戶操作界面設(shè)計(jì)個(gè)性化,具有直觀、簡(jiǎn)單、方便的特點(diǎn),可以滿足客戶個(gè)性化的操作要求。但要求應(yīng)用開(kāi)發(fā)者自己去處理事務(wù)管理、消息隊(duì)列、數(shù)據(jù)的復(fù)制和同步、通信安全等系統(tǒng)級(jí)的問(wèn)題。這對(duì)應(yīng)用開(kāi)發(fā)者提出了較高的要求,而且迫使應(yīng)用開(kāi)發(fā)者投入很多精力來(lái)解決應(yīng)用程序以外的問(wèn)題。這使得應(yīng)用程序的維護(hù)、移植和互操作變得復(fù)雜。如果客戶端是在不同的操作系統(tǒng)上,C/S結(jié)構(gòu)的軟件需要開(kāi)發(fā)不同版本的客戶端軟件。兼容性差,對(duì)于不同的開(kāi)發(fā)工具,具有較大的局限性。若采用不同工具,需要重新改寫(xiě)程序。開(kāi)發(fā)成本較高,需要具有一定專(zhuān)業(yè)水準(zhǔn)的技術(shù)人員才能完成。
但是,B/S結(jié)構(gòu)用戶界面完全通過(guò)wWW瀏覽器實(shí)現(xiàn)部分事務(wù)邏輯在前端實(shí)現(xiàn)但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn)形成所謂3-tier結(jié)構(gòu)。開(kāi)發(fā)簡(jiǎn)單,共享性強(qiáng)。能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN,WkN,Internet/Intranet等)訪問(wèn)和操作共同的數(shù)據(jù)庫(kù):它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全。特別是在JAVA這樣的跨平臺(tái)語(yǔ)言出現(xiàn)之后,B/S架構(gòu)管理軟件更是方便、快捷、高效。
四、系統(tǒng)的升級(jí)維護(hù)
C/S結(jié)構(gòu)分布功能弱,需要專(zhuān)門(mén)的客戶端安裝程序,針對(duì)點(diǎn)多面廣且不具備網(wǎng)絡(luò)條件的用戶群體,不能夠?qū)崿F(xiàn)快速部署安裝和配置。如果各部分模塊中有一部分改變,就要關(guān)聯(lián)到其它模塊的變動(dòng),使系統(tǒng)升級(jí)成本比較大。
B/S結(jié)構(gòu)與c/s結(jié)構(gòu)處理模式相比,則大大簡(jiǎn)化了客戶端,只要客戶端機(jī)器能夠上網(wǎng)就可以。對(duì)于B/s而言,開(kāi)發(fā)、維護(hù)等幾乎所有工作也都集中在服務(wù)器端,當(dāng)企業(yè)對(duì)網(wǎng)絡(luò)應(yīng)用進(jìn)行升級(jí)時(shí),只需更新服務(wù)器端的軟件,即可實(shí)現(xiàn)所有用戶的同步更新。這減輕了異地用戶系統(tǒng)維護(hù)與升級(jí)的成本。如果客戶端的軟件系統(tǒng)升級(jí)比較頻繁,那么B/s架構(gòu)的產(chǎn)品優(yōu)勢(shì)明顯,所有的升級(jí)操作只需要針對(duì)服務(wù)器進(jìn)行,這對(duì)那些點(diǎn)多面廣的應(yīng)用是很有價(jià)值的,例如一些招聘網(wǎng)站就需要采用B/S結(jié)構(gòu)模式,客戶端分散,且應(yīng)用簡(jiǎn)單,只需要進(jìn)行簡(jiǎn)單的瀏覽和少量信息的錄入。
五、系統(tǒng)的安全
c/s結(jié)構(gòu)一般面向相對(duì)固定用戶群,對(duì)信息安全控制能力很強(qiáng)。一般高度機(jī)密信息系統(tǒng)采用c/s結(jié)構(gòu)適宜。可以通過(guò)B/s發(fā)布部分可公開(kāi)信息。
B/S結(jié)構(gòu)建立在廣域網(wǎng)的基礎(chǔ)上,對(duì)安全控制能力相對(duì)比較弱,因?yàn)槊嫦虻氖遣豢芍脩羧骸?/p>
以上是筆者客觀地分析了c/s結(jié)構(gòu)和B/S結(jié)構(gòu)的優(yōu)劣,為今后進(jìn)行系統(tǒng)分析設(shè)計(jì)時(shí)提供一個(gè)良好的依據(jù)。盡管各種模式的產(chǎn)品在擁有自身優(yōu)勢(shì)的同時(shí),也有一定的不足,對(duì)于用戶來(lái)講,對(duì)客戶端應(yīng)用程序要求越來(lái)越高,既要求保持原有客戶端程序的操作方便性,又要求具有Web界面風(fēng)格。所以現(xiàn)在在很多大型信息系統(tǒng)中也采用了B/s和c/s結(jié)構(gòu)混合模式,使其取長(zhǎng)補(bǔ)短,開(kāi)發(fā)出更合理、實(shí)用的系統(tǒng)。