国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用VB開發分布式應用

2019-11-18 17:52:20
字體:
來源:轉載
供稿:網友
微軟推出的VB是一個功能強大的開發平臺。它在“代碼重用性”上地加強是一個引人注目的特點。我們可以將需要多次重復使用的功能單元開發成activex組件(activexcontrol,activexexe,activexdll),然后在新程序中象使用vb標準控件及類一樣使用這些組件。activex組件給開發網絡應用帶來很大方便。我們可以將這些組件分布在網絡的不同機器上,構成分布式應用,就好象所有組件都在同一臺機器上一樣。很多朋友都有開發本地activex組件的經驗,本文將結合實例介紹一下如何將activex組件分布在網絡上構成分布式應用。

一、概述

  “activex"是微軟為分布式計算制定的一套標準,它的前身就是大家所熟知的“oleautomation"。當分布式應用通過網絡通訊時,activex可以使用兩種不同的機制對客戶請求作出響應。一種稱為“分布組件對象模式(dcom)”,只可以在windowsnt和windows95上使用;另一種是“遠程自動化(remoteautomation)",它可以在16位環境下構造分布式應用。

  這兩種分布式機制,有著極其引人的特點:與組件物理位置的無關性。也就是說,當你構造一個activex組件時,無需知道它將分布在那一臺機器上。同樣的組件,即可以將它放在本機,也可以將它分布在其它機器上而不需要從新編譯。這樣,根據網絡的性能和網絡結構的變化,我們可以方便的調整組件的分布策略。

  當然,用activex構建分布式應用的各個獨立組件,還有其它優點:

  構造遠程組件和構造本地組件的編程方法一模一樣,無須特殊的工程經驗。可以用activex組件在服務器端實現復雜的商業規則。比起用dbms(如sqlserver)來完成同樣的工作,我們有更好地編程、維護、排錯手段。

  有大量的商業組件可以使用。而且這樣的組件會越來越多。我們只需將特殊的商業規則開發成組件,與購買的組件配合使用。

二、開發和調試

  開發分布式組件和開發本地組件相同,調試也可以在本地完成,本文不在贅述。(可以參看VB所帶的例子:/sample/clisvr/booksale/client/book_cli.vbp客戶端程序;/sample/clisvr/booksale/client/book_svr.vbp服務器程序。)在開發分布式服務器段組件時,請注意下列問題:

  服務器端的PRoject應為activexexe(進程外的activex組件)。這也很容易理解,不可能在兩臺機器上完成同一個進程,所以,不可能使用activexdll(進程內的組件)。

  在projectproperties對話框的組件欄目下,應設為remoteserverfile。這樣,在程序編譯時會生成一個vbr文件,在生成安裝盤時要用。大家知道,windows程序在系統注冊表中有注冊,此文件與注冊有關。

  class屬性應設為mutiuse,以便多個客戶應用可以使用它。

三、生成安裝盤

  服務器端組件及客戶端程序將安裝在不同的機器上,應利用setupwizard分別生成安裝程序。

  當生成客戶端程序安裝盤時,需提供服務器組件所在的機器名(以后可以修改),這將影響客戶端機器的注冊項,這些注冊項告訴客戶端程序,到那里去尋找相應的服務(即服務器端組件提供的服務)。微軟提供了工具,可以根據需要隨時修改這些注冊項。如果使用remoteautomation機制,可使用remautoconnectionmanager;如使用dcom機制,可使用dcomconfigurationmanager。remautoconnectormanager在VB軟件包中即有,在生成安裝盤時將自動包括它。windowsnt4.0中包含dcomconfigurationmanager,可直接使用。對于windows95,需從www.microsoft.com下載dcom95.exe及dcom95cfg.exe并運行,可得到dcomconfigurationmanager(注意要重新啟動機器)。

  利用上述工具,可實現如下功能:

  1.可以隨時切換服務器組件是在本地還是遠程。這樣可以方便的在本機調試遠程組件。

  2.可隨時改變服務器組件的安裝位置。

  如何生成服務器端安裝程序:

  1.使用setupwizard,按要求指明project文件所在的路徑,并指明“產生安裝程序”。

  2.在進入“shareactiveapplication”畫面時,選擇“安裝為一個共享組件”。如果你準備使用remoteautomation,在畫面下方選擇“yes";如使用dcom,選擇“no”。如果使用remoteautomation,remautoconnectionmanager(racmgr32.exe)、remoteautomationmanager(autmgr32.exe)將自動包含在安裝程序內。

  如何生成客戶端安裝程序:

1.使用setupwizard,按要求指明project文件所在的路徑,并指明“產生安裝程序”。

2.進入“activex組件”畫面時,按addremote按紐指定服務器組件對應的vbr文件(包含服務器組件的objectid等注冊信息)。

3.這時,會彈出“remoteconnectiondetails”對話框。選擇使用remoteautomation或dcom;輸入服務器的機器名。如果使用remoteautomation,還需確定通訊協議,如tcp/ip等。驗證級別用來保證客戶端與服務器間通訊的安全性。這是一個較為復雜的問題,為了簡化期間,選擇none即可。

4.返回“activexservercomponents”畫面。如果你的程序使用多個遠程組件,可逐一加入。相關的本地組件,可按“addlocal”一一加入。注意,系統缺省會將一些組件當作本地組件,不要將同一組件即當作遠程組件,又當作本地組件。

四、安裝與使用

  windowsnt4.0支持dcom,可直接安裝dcom分布式應用。對于windows95,需要安裝附加程序,以支持dcom分布式應用。但,windows95可直接安裝remoteautomation應用。

remoteautomation模式:

  分別在服務器及客戶端機器上安裝相應程序。在服務器端,要先啟動automationmanager(autmgr32.exe,安裝程序會自動將該文件拷到系統目錄下),客戶端才可建立連接。這種模式對操作系統要求較低,windows3.1,windows95,windowsnt等均可做服務器或客戶端。

  本方法提供的安全性較差,無法限制那些用戶可以連接或不可以連接。不過,系統還是提供了許多安全管理措施。讀者在學習時不妨做簡化處理:

  在服務器端啟動remoteautomationconnectionmanager(racmgr32.exe),在左側選相應的server組件,在右側clientaccess欄目下,選擇allowallremotecreates。

  關于客戶端的安裝,我們前面作過討論。利用remoteautomationconnectionmanager(racmgr32.exe),在serverconnection欄目下,我們可以隨時調整服務器組件的分布位置。

  remoteautomation這種模式提供了很大的靈活性,在安全性要求不高的場合,可以使用該模式。

dcom模式:

  要構造dcom應用,服務器端最好使用windowsntserver或windowsntworkstation,客戶端可使用windowsnt或windows95。這也符合實際應用的策略,servercomponent要求有較高的可靠性,一般分布在專用服務器上。
  在服務器組件安裝完畢后,要確定rpcservice是啟動的。在客戶端能夠建立連接之前,還需要配置訪問權限。

  為了簡單期間,你可以這樣做:

1.運行dcomcfg.exe(在系統目錄下)。

2.選擇相應組件,設置其properties。

3.在location欄目下,設為:runapponthiscomputer;在security欄目下,選擇定制安全性,并將權限給everyonefullcontrol。

  在客戶端的機器上,通過dcomcfg.exe,在location欄目下,可以指定服務器組件的安裝位置。
在windows95下構建dcom應用的特殊考慮:

  如果使用windows95做客戶端,應從VB的光盤或從www.microsoft.com找如下兩個文件:dcom95.exe,dcm95cfg.exe。安裝并重新啟動機器即可。

  如server端使用windows95,須考慮下列問題:

1.安全性將受到限制。

2.應手工在startup中加進server組件的啟動程序。

3.運行rpCSS.exe后,客戶端才可建立連接。

4.由于servercomponent是一個class,當沒有客戶程序參照它時,它會自動終止。可是,windows95沒有自動啟動它的機制。所以,要保證servercomponent不會從內存卸載。辦法是:在servercomponent中加入一個form,visible為false。程序從form啟動。

5.應從VB的光盤或從www.microsoft.com找如下兩個文件:dcom95.exe,dcm95cfg.exe。安裝并重新啟動機器。

6.手工改變注冊表:hkey_local_machine/software/microsoft/ole/enableremoteconnection改為“y"。否則,會出現“runtimeerror,activecomponentcannotbecreate”

7.如同在windowsnt上一樣,運行dcomcfg.exe并進行配置。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湖南省| 元氏县| 信宜市| 白城市| 曲水县| 安义县| 古交市| 荥经县| 昔阳县| 呼玛县| 清苑县| 淮南市| 古田县| 正阳县| 钦州市| 贵港市| 灵璧县| 沽源县| 三门峡市| 扶余县| 新龙县| 垣曲县| 安庆市| 西充县| 廊坊市| 嘉峪关市| 伊春市| 淅川县| 于田县| 黄龙县| 西青区| 同江市| 彩票| 康平县| 乌兰察布市| 万荣县| 桦甸市| 福建省| 石渠县| 雷山县| 谢通门县|