VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 利用VB、ActiveX以及Web技术开发煤矿井下监控系统
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:17179, 日期:2001-05-05
---- 本文介绍了利用VB、ActiveX以及Web技术实现煤矿井下动态监控系统。用本方法可以使监控人员不论在任何地方都可以通过IE4.0以上版本的浏览器在Internet上浏览并监控井下各种安全参数的状态。本系统采用VB6.0、IIS4.0、InterDev 98及FrontPage 98来完成。

一、系统框架与实现


---- 在上图中IIS是关健,因为它是最终监控人员得以监控各种传感器的桥梁,而这也正是不同于以往应用的关键。数据从传感器到达数据库这一过程可以用我们通常的编程方法实现,我只概述从数据库到客户端浏览器这一过程。

----我使用了VB编写了两类程序来组织这一应用:

----IIS应用程序:它提供业务在IIS上的承载。

----但它与通常的应用程序不同,它生存于IIS4.0之上并响应浏览器请求。它使用 Html 来表示它的用户界面,使用编译的 Visual Basic代码来处理浏览器的请求与响应事件。对用户来说,一个 IIS 应用程序好像是由一系列的Html页面组成。对开发者来说,一个 IIS 应用程序是由一些被称为 webclass 的特殊类型对象组成。而 webclass 包含一系列称为 webitem 的资源。Webclass 作为应用程序的中央功能单元,处理来自浏览器的数据并向用户发送信息。程序员可以定义一系列过程来确定 webclass 如何响应这些请求。IIS应用程序只是一个服务器端应用,它处理来自客户端的各种请求,它同客户的通信使用Html通信协议,它可以同服务器端的ASP应用交互。

----ActiveX控件或文档:ActiveX控件对于大家应该是十分熟悉了,它不但可被各种应用程序调用,而且可以嵌入Web页面,供浏览器调用并控制。

----这样,呈现给最终用户的有两类界面,一类是生存于Web 服务器上IIS应用程序生成并发送的Html页面,一类是嵌入Web页面的ActiveX控件所表现的视图。

----页面的组织采用模板的方式,服务器端存在用InterDev 98 及FrontPage 98编制的Html页面,可以采用背景图和分组标志对页面进行处理,只在需要显示数据的位置放入自定义标志就可以了。IIS应用程序在运行时调入这些模板,将页面中相应位置的自定义标志置换为数据,然后发送回浏览器,而浏览器以一定的时间间隔向位于Web服务器的IIS应用程序请求就可以实现数据的动态刷新。

----以下是几个运行时的画面:




----如果要表现运行时数据曲线等其他应用,就要用到 ActiveX控件了,ActiveX通过WININET控件和位于Web上的IIS应用程序进行通信,获取各种数据。INET控件也叫Microsoft Internet Transfer Control ,它封装了Html和FTP两个通信协议,我在自己编写的ActiveX控件中使用了它。利用它可以使ActiveX控件获取需要的数据,而不像页面文件一样,还要传输各种标志。

----由以上概述可以看到,在这个应用系统的编写过程中没有使用其他方法来发布数据,只使用了Web平台,利用VB编写IIS应用程序来发布数据。因此IIS应用程序是实现这一应用系统的关健所在。我在IIS应用程序中实现了两种应用,一种应用为处理页面模板,将其中自定义的标志替换为实际的数据。以下为一个模板页面的样本:

< html >
< head >
< meta http-equiv=“Content-Type"
content=“text/html; charset=gb2312" >
< title >< WC@HTitle >全部测点显示< /WC@HTitle >< /title >
< meta name=“GENERATOR" content=“Microsoft FrontPage 3.0" >
< link rel=“StyleSheet" type=“text/css" href=“luan.css" >
< /head >

< h3 align=“center" >< WC@HTitle >全部测点显示
< /WC@HTitle >< /h3 >
< div align=“center" >< center >

< table border=“0" width=“87%" cellspacing
=“0" cellpadding=“0" >
< WC@Title >< tr >< td >%PointCode%< /td >
< td >%PointName%< /td >< td >%DateTime%< /td >
< td >%State%< /td >< td >%Value%< /td >< /tr >< /WC@Title >
< WC@All >< tr >< td >%PointCode%< /td >
< td >%PointName%< /td >< td >%DateTime%< /td >
< td >%State%< /td >< td >%Value%< /td >< /tr >< /WC@All >
< /table >
< /center >< /div >
< /body >
< /html >

----其中,蓝色为自定义标志,同Html标志区分开来。

----IIS应用程序在运行时将上述模板文件调入,再进行处理,然后发送给浏览器就可以实现数据的显示了。利用这种方法,可以在编程阶段只考虑数据的实现,而不考虑数据的布局,而数据的布局可以利用CSS等技术来编排,也可以请专门的美工编辑编排。实现了界面与应用的分离。而在应用运行之后,监测人员也可以根据需要,将相应的数据组织在一个页面中,做成一个模板,然后提交给IIS应用程序,实现自定义数据的显示。

----实现的另一种应用就是将从数据库中取出的数据直接发送给所请求的ActiveX控件,由控件来决定数据如何显示。IIS不处理任何页面文件,只是从数据库中将实时数据取出,通过Html协议交给客户端的ActiveX控件。

----以下是ActiveX控件在运行时的画面:



二、系统的安装
----IIS应用程序编写好之后,只需用VB提供的打包工具打包,然后到IIS服务上安装就可以了。而ActiveX控件的安装是浏览器进行的,这就与浏览器的安全性设置有关系了,因为浏览器的缺省安全性不允许没有签名的控件下载安装。
----但是我们可以利用Microsoft Certificate Server对打包后的 CAB包进行签名,这样浏览器的安全性就可以不设置了。下面简述这一过程。

----在进行安装IIS4.0时安装好Microsoft Certificate Server,然后在浏览器中输入你的Microsoft Certificate Server的URL:



----然后点击Certificate Enrollment Tools,再点击Request a Client Authentication Certificate,出现相应画面,填入相应内容后,按“Advanced”按钮,出现以下画面:



----选取以下项:

Key Spec:Signature
Algorithm:和你安装时的一样
Properties:Export Private Keys to File , Create a SPC file

----然后按“OK”键,提示让你输入Private Key文件名、密码和SPC 文件名,之后CA系统就会为你生成证书,你就可以利用它来进行签名了。

----然后可以利用VB提供的signcode.exe对你的CAB文件签名。具体用法请参考signcode提供的帮助。当用你的CA系统为包签名后,浏览器下载时会提示你的CA系统并没有被验证,不过,这无关紧要,因为浏览器已经提示你是否要下载了,你只需要按[是]就可以了。

三、结论
----本文提出了使用VB和ActiveX利用Html协议的井下安全监控系统的一种实现方法。为Internet和Intranet在监控系统和其他应用系统中的使用提出了一种参考模型。VB是一个比较容易实现的编程语言,利用它实现这一系统可以使众多的VB程序员快速转入到Internet和Intranet编程这一领域来。当然本系统客户端的实现也利用了VB的易用性,如果利用Java还可以实现平台无关性。