官术网_书友最值得收藏!

1.1 網(wǎng)絡(luò)程序開發(fā)體系結(jié)構(gòu)

隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,單機的軟件程序?qū)㈦y以滿足網(wǎng)絡(luò)計算的需要。為此,產(chǎn)生了各種各樣的網(wǎng)絡(luò)程序開發(fā)體系結(jié)構(gòu),其中運用最多的可以分為兩種,一種是基于瀏覽器/服務(wù)器的B/S結(jié)構(gòu),另一種是基于客戶端/服務(wù)器的C/S結(jié)構(gòu)。下面進行詳細(xì)介紹。

1.1.1 C/S結(jié)構(gòu)介紹

C/S是Client/Server的縮寫,即客戶端/服務(wù)器結(jié)構(gòu)。在這種結(jié)構(gòu)中,服務(wù)器通常采用高性能的PC機或工作站,并采用大型數(shù)據(jù)庫系統(tǒng)(如Oracle或SQL Server),客戶端則需要安裝專用的客戶端軟件,如圖1.1所示。這種結(jié)構(gòu)可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到客戶端和服務(wù)器,從而降低了系統(tǒng)的通信開銷。在2000年以前,C/S結(jié)構(gòu)占據(jù)網(wǎng)絡(luò)程序開發(fā)領(lǐng)域的主流。

圖1.1 C/S體系結(jié)構(gòu)

1.1.2 B/S結(jié)構(gòu)介紹

B/S是Browser/Server的縮寫,即瀏覽器/服務(wù)器結(jié)構(gòu)。在這種結(jié)構(gòu)中,客戶端不需要開發(fā)任何用戶界面,而統(tǒng)一采用如IE和火狐等瀏覽器,通過Web瀏覽器向Web服務(wù)器發(fā)送請求,由Web服務(wù)器進行處理,并將處理結(jié)果逐級傳回客戶端,如圖1.2所示。這種結(jié)構(gòu)利用不斷成熟和普及的瀏覽器技術(shù)實現(xiàn)原來需要復(fù)雜專用軟件才能實現(xiàn)的強大功能,從而節(jié)約了開發(fā)成本,是一種全新的軟件體系結(jié)構(gòu)。這種體系結(jié)構(gòu)已經(jīng)成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。

圖1.2 B/S體系結(jié)構(gòu)

說明

B/S由美國微軟公司研發(fā),C/S由美國Borland公司最早研發(fā)。

1.1.3 兩種體系結(jié)構(gòu)的比較

C/S結(jié)構(gòu)和B/S結(jié)構(gòu)是當(dāng)今世界網(wǎng)絡(luò)程序開發(fā)體系結(jié)構(gòu)的兩大主流。目前,這兩種結(jié)構(gòu)都有自己的市場份額和客戶群。但是,這兩種體系結(jié)構(gòu)又各有各的優(yōu)點和缺點,以下將從3個方面進行比較說明。

1.開發(fā)和維護成本方面

C/S結(jié)構(gòu)的開發(fā)和維護成本都比B/S高。采用C/S結(jié)構(gòu)時,對于不同客戶端要開發(fā)不同的程序,而且軟件的安裝、調(diào)試和升級均需要在所有的客戶機上進行。例如,如果一個企業(yè)共有10個客戶站點使用一套C/S結(jié)構(gòu)的軟件,則這10個客戶站點都需要安裝客戶端程序。當(dāng)這套軟件進行了哪怕很微小的改動后,系統(tǒng)維護員都必須將客戶端原有的軟件卸載,再安裝新的版本并進行配置,最可怕的是客戶端的維護工作必須不折不扣的進行10次。若某個客戶端忘記進行這樣的更新,則該客戶端將會因軟件版本不一致而無法工作。而B/S結(jié)構(gòu)的軟件,則不必在客戶端進行安裝及維護。如果我們將前面企業(yè)C/S結(jié)構(gòu)的軟件換成B/S結(jié)構(gòu)的,這樣在軟件升級后,系統(tǒng)維護員只需要將服務(wù)器的軟件升級到最新版本,對于其他客戶端,只要重新登錄系統(tǒng)就可以使用最新版本的軟件了。

2.客戶端負(fù)載

C/S的客戶端不僅負(fù)責(zé)與用戶的交互,收集用戶信息,而且還需要完成通過網(wǎng)絡(luò)向服務(wù)器請求對數(shù)據(jù)庫、電子表格或文檔等信息的處理工作。由此可見,應(yīng)用程序的功能越復(fù)雜,客戶端程序也就越龐大,這也給軟件的維護工作帶來了很大的困難。而B/S結(jié)構(gòu)的客戶端把事務(wù)處理邏輯部分交給了服務(wù)器,由服務(wù)器進行處理,客戶端只需要進行顯示。這樣,將使應(yīng)用程序服務(wù)器的運行數(shù)據(jù)負(fù)荷較重,一旦發(fā)生服務(wù)器“崩潰”等問題,后果不堪設(shè)想。因此,許多單位都備有數(shù)據(jù)庫存儲服務(wù)器,以防萬一。

3.安全性

C/S結(jié)構(gòu)適用于專人使用的系統(tǒng),可以通過嚴(yán)格的管理派發(fā)軟件,達到保證系統(tǒng)安全的目的,這樣的軟件相對來說安全性比較高。而對于B/S結(jié)構(gòu)的軟件,由于使用的人數(shù)較多,且不固定,相對來說安全性就會低些。

綜上所述,B/S相對于C/S具有更多的優(yōu)勢,現(xiàn)今大量的應(yīng)用程序開始轉(zhuǎn)移到應(yīng)用B/S結(jié)構(gòu),許多軟件公司也爭相開發(fā)B/S版的軟件,也就是Web應(yīng)用程序。隨著Internet的發(fā)展,基于HTTP協(xié)議和HTML標(biāo)準(zhǔn)的Web應(yīng)用呈幾何數(shù)量級增長,而這些Web應(yīng)用又是由各種Web技術(shù)所開發(fā)的。

主站蜘蛛池模板: 阿拉善盟| 中方县| 江油市| 黑龙江省| 禹城市| 郓城县| 利辛县| 贡山| 大英县| 湖州市| 侯马市| 日喀则市| 海南省| 汝南县| 南京市| 石家庄市| 榆中县| 荆门市| 新民市| 溧水县| 宁远县| 临城县| 舞钢市| 南郑县| 霸州市| 泰安市| 古丈县| 高州市| 岐山县| 米林县| 湟中县| 酒泉市| 南和县| 都兰县| 盘山县| 囊谦县| 名山县| 临桂县| 南部县| 新宁县| 浦江县|