用VB开发分布式应用_VB.net_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

用VB开发分布式应用

作者:黑客防线网安VB教程基地 来源:黑客防线网安VB教程基地 浏览次数:0

本篇关键词:应用开发组件使用
黑客防线网安网讯:微软推出的VB是一个功能强大的开发平台。它在“代码重用性”上地加强是一个引人注目的特点。我们可以将需要多次重复使用的功能单元开发成activex组件(activexcontrol,activexexe,activexdl...
微软推出的VB是一个功能强大的开发平台它在“代码重用性”上地加强是一个引人注目的特点我们可以将需要多次重复使用的功能单元开发成activex组件(activexcontrol,activexexe,activexdll)然后在新程序中象使用vb标准控件及类一样使用这些组件。activex组件给开发网络应用带来很大方便。我们可以将这些组件分布在网络的不同机器上构成分布式应用,就好象所有组件都在同一台机器上一样。很多朋友都有开发本地activex组件的经验,本文将结合实例介绍一下如何将activex组件分布在网络上构成分布式应用。
  
  一、概述
  
  “activex"是微软为分布式计算制定的一套标准,它的前身就是大家所熟知的“oleautomation"。当分布式应用通过网络通讯时,activex可以使用两种不同的机制对客户请求作出响应。一种称为“分布组件对象模式(dcom)”,只可以在windowsnt和windows95上使用;另一种是“远程自动化(remoteautomation)",它可以在16位环境下构造分布式应用。
  
  这两种分布式机制,有着极其引人的特点:与组件物理位置的无关性。也就是说,当你构造一个activex组件时,无需知道它将分布在那一台机器上。同样的组件,即可以将它放在本机,也可以将它分布在其它机器上而不需要从新编译。这样,根据网络的性能和网络结构的变化,我们可以方便的调整组件的分布策略。
  
  当然,用activex构建分布式应用的各个独立组件,还有其它优点:
  
  构造远程组件和构造本地组件的编程方法一模一样,无须特殊的工程经验。可以用activex组件在服务器端实现复杂的商业规则。比起用dbms(如sqlserver)来完成同样的工作,我们有更好地编程、维护、排错手段。
  
  有大量的商业组件可以使用。而且这样的组件会越来越多。我们只需将特殊的商业规则开发成组件,与购买的组件配合使用。
  
  二、开发和调试
  
  开发分布式组件和开发本地组件相同,调试也可以在本地完成,本文不在赘述。(可以参看VB所带的例子:sampleclisvrooksaleclientook_cli.vbp客户端程序;sampleclisvrooksaleclientook_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_machinesoftwaremicrosoftoleenableremoteconnection改为“y"。否则,会出现“runtimeerror,activecomponentcannotbecreate”
  
  7.如同在windowsnt上一样,运行dcomcfg.exe并进行配置。->

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-14545-1.html
网站维护教程更新时间:2012-04-03 01:08:49  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer