目前流行的各類網(wǎng)絡(luò)應(yīng)用編程技術(shù)中,開發(fā)人員使用的編程模式有:C/S結(jié)構(gòu)模式(Client/Server)、B/S結(jié)構(gòu)模式(Browser/Server)、Web服務(wù)(Web Service)以及其他傳統(tǒng)C/S結(jié)構(gòu)的變形,例如P2P(Peer to Peer)、智能客戶端等等。
上世紀(jì)80年代和90年代,C/S模式得到了廣泛應(yīng)用。近幾年來,由于網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,很多應(yīng)用系統(tǒng)的體系結(jié)構(gòu)從傳統(tǒng)的C/S模式向更加靈活的多極分布式結(jié)構(gòu)演變,使得軟件系統(tǒng)的網(wǎng)絡(luò)體系結(jié)構(gòu)再次跨入一個(gè)新階段。
與快速發(fā)展的Internet相對應(yīng),B/S模式的編程應(yīng)用也更加廣泛,功能也越來越強(qiáng)。當(dāng)然B/S模式實(shí)際上只是C/S模式的其中一種表現(xiàn)形式,只不過它的客戶端是我們比較熟悉的幾種固定的瀏覽器軟件。為了區(qū)別于傳統(tǒng)的C/S模式,才有意將其稱為B/S模式。
從開發(fā)角度看,C/S模式和B/S模式各有優(yōu)缺點(diǎn),適用的環(huán)境也不相同。
首先,在系統(tǒng)的性能方面,只要擁有可上網(wǎng)的瀏覽器,就可以使用B/S模式的系統(tǒng)。不過,B/S結(jié)構(gòu)的客戶端只能完成瀏覽、查詢、數(shù)據(jù)輸入等簡單功能,絕大部分工作要由服務(wù)器承擔(dān),這就對服務(wù)器提出了很高的要求,因此無形中增加了用戶在這一方面的投入。
其次,在系統(tǒng)升級(jí)方面,C/S結(jié)構(gòu)中若有某一模塊發(fā)生改變,可能要關(guān)聯(lián)到其他模塊的變動(dòng),使系統(tǒng)升級(jí)的成本增大;而B/S結(jié)構(gòu)在開發(fā)、維護(hù)階段幾乎所有的工作都集中在服務(wù)器端,只需更新服務(wù)器端的軟件就可以了。如果系統(tǒng)升級(jí)比較頻繁,那么B/S結(jié)構(gòu)的產(chǎn)品就具有維護(hù)工作量少的優(yōu)勢。
但是,在安全性上,B/S結(jié)構(gòu)則略顯不足,畢竟通過網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)安全系數(shù)并不高,例如,只要擁有合法的用戶名和密碼,任何人都可以進(jìn)入到用戶的系統(tǒng)中;而C/S結(jié)構(gòu)由于需要特定的客戶端軟件,甚至可以限定只有某一臺(tái)計(jì)算機(jī)才可以使用這個(gè)客戶端軟件,因而對安全性有更多的保障。
為了解決傳統(tǒng)C/S模式在系統(tǒng)升級(jí)方面和模塊開發(fā)方面的不足,隨后又發(fā)展了一種新的開發(fā)模式,即Web服務(wù),Web服務(wù)的思想實(shí)際上就是將各種功能做成組件或控件的形式,然后直接將這些組件或控件安裝在服務(wù)器上。這樣,不論是C/S模式還是B/S模式的應(yīng)用程序,都可以通過Internet直接調(diào)用提供的服務(wù)。采用這種形式,一方面解決了模塊不完善引起的功能不足,另一方面也解決了升級(jí)困難的問題。
在網(wǎng)絡(luò)應(yīng)用編程技術(shù)中,除了將數(shù)據(jù)庫、功能實(shí)現(xiàn)與功能界面分離,并有專用的數(shù)據(jù)庫服務(wù)器、應(yīng)用程序服務(wù)器、Web服務(wù)器等專用服務(wù)外,還有一種用于不同計(jì)算機(jī)用戶之間,不經(jīng)過中繼設(shè)備直接交換數(shù)據(jù)或服務(wù)的技術(shù),即P2P(Peer-to-Peer),稱之為對等互聯(lián)或點(diǎn)對點(diǎn)技術(shù)。利用P2P技術(shù)可以讓Internet用戶更充分地利用網(wǎng)絡(luò)資源。每個(gè)人都可以通過Internet直接連接到其他用戶的計(jì)算機(jī),并進(jìn)行文件或數(shù)據(jù)的交換,而不需要經(jīng)過專用服務(wù)器。由于這種技術(shù)消除了中間環(huán)節(jié),因此使網(wǎng)絡(luò)數(shù)據(jù)的傳輸變得更快捷、更直接。
可見,網(wǎng)絡(luò)應(yīng)用開發(fā)的模式多種多樣,編程方法也不盡相同。但是,從另一個(gè)角度來看,不論使用哪種模式,從外觀上主要可以分為以下幾類:
1) Windows應(yīng)用程序
Windows應(yīng)用程序?qū)崿F(xiàn)C/S模式、P2P、智能客戶端等客戶端和服務(wù)器端的功能和用戶操作界面,用于交互性操作較多的場合。例如大型網(wǎng)絡(luò)游戲、復(fù)雜的網(wǎng)絡(luò)辦公軟件、大量網(wǎng)絡(luò)信息傳遞以及其他高端的網(wǎng)絡(luò)開發(fā)設(shè)計(jì)等。
2) Web應(yīng)用程序
Web應(yīng)用程序也叫網(wǎng)站,實(shí)現(xiàn)B/S模式的功能和簡單客戶端用戶操作頁面。用于通過Internet傳遞頁面、交互性操作不多的場合。例如目前流行的各類網(wǎng)站以及功能比較簡單的基于B/S結(jié)構(gòu)的網(wǎng)絡(luò)辦公管理等。
3) 控制臺(tái)應(yīng)用程序
控制臺(tái)應(yīng)用程序使用統(tǒng)一的重定向文本輸出形式,用于交互性操作非常少、主要偏重于內(nèi)部功能實(shí)現(xiàn)的場合。
4) 組件與Web服務(wù)
組件與Web服務(wù)實(shí)現(xiàn)模塊級(jí)的功能。Web服務(wù)主要用于在服務(wù)器端通過Internet提供給Windows應(yīng)用程序和Web應(yīng)用程序調(diào)用的功能模塊。這些模塊既可以提供給服務(wù)器端應(yīng)用程序調(diào)用,也可以提供給客戶端應(yīng)用程序調(diào)用。
在實(shí)際應(yīng)用中,可以根據(jù)具體的客戶要求和使用環(huán)境選擇合適的應(yīng)用程序類型,也可能在一個(gè)解決方案中同時(shí)包含不同應(yīng)用程序類型的項(xiàng)目,即將幾種模式綜合使用。
新聞熱點(diǎn)
疑難解答