当前位置: 网学 > 编程文档 > VB > 正文

用VB开发分布式应用

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式

微软推出的vb是一个功能强大的开发平台。它在“代码重用性”上地加强是一个引人注目的特点。我们可以将需要多次重复使用的功能单元开发成activex组件(activex control,activex exe,activex dll),然后在新程序中象使用vb标准控件及类一样使用这些组件。 activex组件给开发网络应用带来很大方便。我们可以将这些组件分布在网络的不同机器上,构成分布式应用,就好象所有组件都在同一台机器上一样。很多朋友都有开发本地activex组件的经验,本文将结合实例介绍一下如何将activex组件分布在网络上构成分布式应用。

一、概述

  “activex"是微软为分布式计算制定的一套标准,它的前身就是大家所熟知的“ole automation"。当分布式应用通过网络通讯时,activex可以使用两种不同的机制对客户请求作出响应。一种称为“分布组件对象模式(dcom)”,只可以在windows nt和windows 95上使用;另一种是“远程自动化(remote automation)",它可以在16位环境下构造分布式应用。

  这两种分布式机制,有着极其引人的特点:与组件物理位置的无关性。也就是说,当你构造一个activex组件时,无需知道它将分布在那一台机器上。同样的组件,即可以将它放在本机,也可以将它分布在其它机器上而不需要从新编译。这样,根据网络的性能和网络结构的变化,我们可以方便的调整组件的分布策略。

  当然,用activex构建分布式应用的各个独立组件,还有其它优点:

  构造远程组件和构造本地组件的编程方法一模一样,无须特殊的工程经验。可以用activex组件在服务器端实现复杂的商业规则。比起用dbms(如sql server)来完成同样的工作,我们有更好地编程、维护、排错手段。

  有大量的商业组件可以使用。而且这样的组件会越来越多。我们只需将特殊的商业规则开发成组件,与购买的组件配合使用。

二、开发和调试

  开发分布式组件和开发本地组件相同,调试也可以在本地完成,本文不在赘述。(可以参看VB所带的例子:\sample\clisvr\booksale\client\book_cli.vbp客户端程序;\sample\clisvr\booksale\client\book_svr.vbp服务器程序。)在开发分布式服务器段组件时,请注意下列问题

  服务器端的project应为activex exe(进程外的activex组件)。这也很容易理解,不可能在两台机器上完成同一个进程,所以,不可能使用activex dll(进程内的组件)。

  在project properties对话框的组件栏目下,应设为remote server file。这样,在程序编译时会生成一个vbr文件,在生成安装盘时要用。大家知道,windows程序在系统注册表中有注册,此文件与注册有关。

  class属性应设为mutiuse,以便多个客户应用可以使用它。

三、生成安装盘

  服务器端组件及客户端程序将安装在不同的机器上,应利用setup wizard分别生成安装程序

  当生成客户端程序安装盘时,需提供服务器组件所在的机器名(以后可以修改),这将影响客户端机器的注册项,这些注册项告诉客户端程序,到那里去寻找相应的服务(即服务器端组件提供的服务)。微软提供了工具,可以根据需要随时修改这些注册项。如果使用remote automation机制,可使用remauto connection manager;如使用dcom机制,可使用dcom configuration manager。remauto connector manager在VB软件包中即有,在生成安装盘时将自动包括它。windows nt 4.0中包含dcom configuration manager,可直接使用。对于windows95,需从www.microsoft.com下载dcom95.exe及dcom95cfg.exe并运行,可得到dcom configuration manager(注意要重新启动机器)。

  利用上述工具,可实现如下功能:

  1.可以随时切换服务器组件是在本地还是远程。这样可以方便的在本机调试远程组件。

  2.可随
  • 上一篇资讯: 浏览文件夹中的图片
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号