簡單講解VisualBasic開發(fā)分布式
本文向大家介紹VB開發(fā)分布式,可能好多人還不了解VB開發(fā)分布式,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
微軟推出的VB是一個功能強(qiáng)大的開發(fā)平臺。它在“代碼重用性”上地加強(qiáng)是一個引人注目的特點(diǎn)。我們可以將需要多次重復(fù)使用的功能單元開發(fā)成 activex組件(activex control,activex exe,activex dll),然后在新程序中象使用vb標(biāo)準(zhǔn)控件及類一樣使用這些組件。 activex組件給開發(fā)網(wǎng)絡(luò)應(yīng)用帶來很大方便。我們可以將這些組件分布在網(wǎng)絡(luò)的不同機(jī)器上,構(gòu)成分布式應(yīng)用,就好象所有組件都在同一臺機(jī)器上一樣。很多朋友都有開發(fā)本地activex組件的經(jīng)驗(yàn),本文將結(jié)合實(shí)例介紹一下如何將activex組件分布在網(wǎng)絡(luò)上構(gòu)成分布式應(yīng)用。
一、概述
“activex"是微軟為分布式計(jì)算制定的一套標(biāo)準(zhǔn),它的前身就是大家所熟知的”ole automation".當(dāng)分布式應(yīng)用通過網(wǎng)絡(luò)通訊時,activex可以使用兩種不同的機(jī)制對客戶請求作出響應(yīng)。一種稱為“分布組件對象模式(dcom)”,只可以在windows nt和windows 95上使用;另一種是“遠(yuǎn)程自動化(remote automation)",它可以在16位環(huán)境下構(gòu)造分布式應(yīng)用。
這兩種分布式機(jī)制,有著極其引人的特點(diǎn):與組件物理位置的無關(guān)性。也就是說,當(dāng)你構(gòu)造一個activex組件時,無需知道它將分布在那一臺機(jī)器上。同樣的組件,即可以將它放在本機(jī),也可以將它分布在其它機(jī)器上而不需要從新編譯。這樣,根據(jù)網(wǎng)絡(luò)的性能和網(wǎng)絡(luò)結(jié)構(gòu)的變化,我們可以方便的調(diào)整組件的分布策略。
當(dāng)然,用activex構(gòu)建分布式應(yīng)用的各個獨(dú)立組件,還有其它優(yōu)點(diǎn):
構(gòu)造遠(yuǎn)程組件和構(gòu)造本地組件的編程方法一模一樣,無須特殊的工程經(jīng)驗(yàn)?梢杂胊ctivex組件在服務(wù)器端實(shí)現(xiàn)復(fù)雜的商業(yè)規(guī)則。比起用dbms(如sql server)來完成同樣的工作,我們有更好地編程、維護(hù)、排錯手段。
有大量的商業(yè)組件可以使用。而且這樣的組件會越來越多。我們只需將特殊的商業(yè)規(guī)則開發(fā)成組件,與購買的組件配合使用。
二、開發(fā)和調(diào)試
VB開發(fā)分布式組件和開發(fā)本地組件相同,調(diào)試也可以在本地完成,本文不在贅述。(可以參看VB所帶的例子:\sample\clisvr\booksale \client\book_cli.vbp客戶端程序;\sample\clisvr\booksale\client\book_svr.vbp服務(wù)器程序。)在開發(fā)分布式服務(wù)器段組件時,請注意下列問題:
服務(wù)器端的project應(yīng)為activex exe(進(jìn)程外的activex組件)。這也很容易理解,不可能在兩臺機(jī)器上完成同一個進(jìn)程,所以,不可能使用activex dll(進(jìn)程內(nèi)的組件)。
在project properties對話框的組件欄目下,應(yīng)設(shè)為remote server file.這樣,在程序編譯時會生成一個vbr文件,在生成安裝盤時要用。大家知道,windows程序在系統(tǒng)注冊表中有注冊,此文件與注冊有關(guān)。
class屬性應(yīng)設(shè)為mutiuse,以便多個客戶應(yīng)用可以使用它。
相關(guān)推薦:2011年上半年計(jì)算機(jī)等級考試報(bào)名時間匯總
2011計(jì)算機(jī)等級考試二級VB考點(diǎn)及習(xí)題匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |