簡(jiǎn)單講解VB開發(fā)分布式
本文向大家介紹VB開發(fā)分布式,可能好多人還不了解VB開發(fā)分布式,沒(méi)有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會(huì)你更多東西。
微軟推出的VB是一個(gè)功能強(qiáng)大的開發(fā)平臺(tái)。它在“代碼重用性”上地加強(qiáng)是一個(gè)引人注目的特點(diǎn)。我們可以將需要多次重復(fù)使用的功能單元開發(fā)成 activex組件(activex control,activex exe,activex dll),然后在新程序中象使用vb標(biāo)準(zhǔn)控件及類一樣使用這些組件。 activex組件給開發(fā)網(wǎng)絡(luò)應(yīng)用帶來(lái)很大方便。我們可以將這些組件分布在網(wǎng)絡(luò)的不同機(jī)器上,構(gòu)成分布式應(yīng)用,就好象所有組件都在同一臺(tái)機(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)用通過(guò)網(wǎng)絡(luò)通訊時(shí),activex可以使用兩種不同的機(jī)制對(duì)客戶請(qǐng)求作出響應(yīng)。一種稱為“分布組件對(duì)象模式(dcom)”,只可以在windows nt和windows 95上使用;另一種是“遠(yuǎn)程自動(dòng)化(remote automation)",它可以在16位環(huán)境下構(gòu)造分布式應(yīng)用。
這兩種分布式機(jī)制,有著極其引人的特點(diǎn):與組件物理位置的無(wú)關(guān)性。也就是說(shuō),當(dāng)你構(gòu)造一個(gè)activex組件時(shí),無(wú)需知道它將分布在那一臺(tái)機(jī)器上。同樣的組件,即可以將它放在本機(jī),也可以將它分布在其它機(jī)器上而不需要從新編譯。這樣,根據(jù)網(wǎng)絡(luò)的性能和網(wǎng)絡(luò)結(jié)構(gòu)的變化,我們可以方便的調(diào)整組件的分布策略。
當(dāng)然,用activex構(gòu)建分布式應(yīng)用的各個(gè)獨(dú)立組件,還有其它優(yōu)點(diǎn):
構(gòu)造遠(yuǎn)程組件和構(gòu)造本地組件的編程方法一模一樣,無(wú)須特殊的工程經(jīng)驗(yàn)。可以用activex組件在服務(wù)器端實(shí)現(xiàn)復(fù)雜的商業(yè)規(guī)則。比起用dbms(如sql server)來(lái)完成同樣的工作,我們有更好地編程、維護(hù)、排錯(cuò)手段。
有大量的商業(yè)組件可以使用。而且這樣的組件會(huì)越來(lái)越多。我們只需將特殊的商業(yè)規(guī)則開發(fā)成組件,與購(gòu)買的組件配合使用。
二、開發(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ù)器段組件時(shí),請(qǐng)注意下列問(wèn)題:
服務(wù)器端的project應(yīng)為activex exe(進(jìn)程外的activex組件)。這也很容易理解,不可能在兩臺(tái)機(jī)器上完成同一個(gè)進(jìn)程,所以,不可能使用activex dll(進(jìn)程內(nèi)的組件)。
在project properties對(duì)話框的組件欄目下,應(yīng)設(shè)為remote server file.這樣,在程序編譯時(shí)會(huì)生成一個(gè)vbr文件,在生成安裝盤時(shí)要用。大家知道,windows程序在系統(tǒng)注冊(cè)表中有注冊(cè),此文件與注冊(cè)有關(guān)。
class屬性應(yīng)設(shè)為mutiuse,以便多個(gè)客戶應(yīng)用可以使用它。
【編輯推薦】























