- jQuery從入門到精通 (軟件開發(fā)視頻大講堂)
- 明日科技
- 1395字
- 2020-11-28 23:47:14
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ā)的。
- 高手是如何做產(chǎn)品設(shè)計的(全2冊)
- JavaScript全程指南
- C# Programming Cookbook
- Java加密與解密的藝術(shù)(第2版)
- 零基礎(chǔ)學(xué)Java程序設(shè)計
- Visual Basic程序設(shè)計實驗指導(dǎo)(第二版)
- HTML5+CSS3 Web前端開發(fā)技術(shù)(第2版)
- Java語言程序設(shè)計教程
- Couchbase Essentials
- Kubernetes進階實戰(zhàn)
- Visual Studio Code 權(quán)威指南
- Mockito Essentials
- Offer來了:Java面試核心知識點精講(框架篇)
- 前端架構(gòu)設(shè)計
- Learning Ionic(Second Edition)