ActiveX技术在B/S模式监控系统中的应用
发布时间:2008/5/29 0:00:00 访问次数:954
随着internet技术的飞速发展,利用web服务器的信息服务能力和数据库的数据处理能力来构造大规模的系统已成为当前人们关注的热点。与此同时,软件的开发环境和开发技术也在不断的变化,b/s(browser/server)模式管理信息系统与传统的c/s(client/server)模式管理信息系统相比,具有使用简单、维护方便、具有广泛通用性和跨平台性、安全性好等优点,因而日益受到广大用户的青睐。
但是由于各个系统具体需要的不同,要建立符合工程实际情况,满足用户要求的系统,这就需要根据工程的具体情况,采用具体的技术手段来组建具有自己特色的系统。本文以基于b/s模式的监控管理系统为例,对activex技术进行了详细研究。采用activex技术和b/s模式结合的方式,实现了某大型工程高效实时的监控需求。
1 分析
1.1 b/s模式监控系统的系统架构与功能
在b/s体系结构中,用户通过浏览器向分布在网络上的web服务器发出请求,web服务器接受客户请求,首先需执行相应的扩展应用程序执行对应的操作,然后将相应的信息返回给浏览器。
基于b/s模式的管理信息系统从结构上主要分为三个层次,如图1所示:图1b/s(browser/server)模式系统架构图分别为internet浏览器、web服务器和数据库服务器。用户通过客户端的internet浏览器以表单或者其他形式向web服务器发送http请求,web服务器请求数据库服务器,并将获得的结果以html页面的形式返回给客户端的internet浏览器,供用户查看。如图1所示。
b/s模式具有很多优势:平台无关性;使用简单,易于扩展;减少数据库并发用户;代码可重用性好,易于维护。因此b/s模式逐渐成为一种流行的应用系统开发平台。然而b/s也并非完美,随着应用的逐步普及,b/s模式逐渐暴露了它的缺陷,如执行效率低,web服务器负担过重、安全性有待加强等。特别对于一些实时性要求比较高、数据量比较大的应用系统,比如实时监控远程控制等,b/s模式无法满足系统的需求。
1.2 activex组件技术
activex是microsoft提出的采用com(componentobject model)和dcom(distributed component objectmodel)使软件组件在网络环境中进行交互的一组技术集,它是在com之上建立的一种理论和概念,与具体的编程语言无关,包括activex dll组件和activex控件。
activex控件同其他的activex组件相比具有以下特点:能通过设置属性控制其行为,从而实现用户接口;在客户端的浏览器执行,能够缓解服务器的负荷;在有需要时,还可以由应用程序调用activex摔件,扩展应用程序的功能。作为针对web应用开发的技术,activex控件被广泛应用于web服务器以及客户端应用的各个方面。
activex控件常用的形式是.exe、.dll或.ocx的形式。通常以动态链接库形式存在,因此必须在容器中运行。activex控件能够直接嵌入到浏览器和其他应用程序中,并具有和应用程序一样强大的数据处理,磁盘操作等能力。
activex控件在以浏览器为主的结构中的作用如图2所示。
activex控件由三大要素组成:属性、方法和事件。属性是控件的基本特性,是控制的一部分,在控制装入时或控制正在进行时可以改变;方法是控件提供给外界的一个接口,类似与一个函数调用接口,用户可通过方法来设置控件的某些性质、执行某项动作或者进行某些运算以实现一定的功能;事件是控件对外部操作或控件内部处于某种状态时所发出的通知,它由控件本身所触发,并与容器进行通信。从外界看,activex控件就像一个黑盒,用户只能看到它的三大要素,如图3所示。
要使用activex控件,首先要创建控件实例对象,对控件进行实例化后,对控件属性的设置和操作就可以通过实例对象的属性和方法来实现。activex控件能在asp.net页面中通过< object >标签创建,< object >标签包含类id(clsid),用于识别需要实例化的activex控件。如下面的代码所示:
< object >元素的属性有id,classid,codebase,height,width等。
其中id的属性值objectjk是用于唯一表示aetivex控件的名称,classid属性值“clsid:49f8cfdf-6b01-4115-baf4-d579db51931b”是aetivex控件在系统中唯一标识号,codebase属性值“../ikocx.cab”是aetivex控件的安装文件所在的目录,此处指位于服务器根目录下。
控件技术的具体实现如下:当浏览器发出请求时,web服务器向用户浏览器回传内嵌activex控件的页面,由浏览器负责解释。在解释过程中首先用该控件的在页面
随着internet技术的飞速发展,利用web服务器的信息服务能力和数据库的数据处理能力来构造大规模的系统已成为当前人们关注的热点。与此同时,软件的开发环境和开发技术也在不断的变化,b/s(browser/server)模式管理信息系统与传统的c/s(client/server)模式管理信息系统相比,具有使用简单、维护方便、具有广泛通用性和跨平台性、安全性好等优点,因而日益受到广大用户的青睐。
但是由于各个系统具体需要的不同,要建立符合工程实际情况,满足用户要求的系统,这就需要根据工程的具体情况,采用具体的技术手段来组建具有自己特色的系统。本文以基于b/s模式的监控管理系统为例,对activex技术进行了详细研究。采用activex技术和b/s模式结合的方式,实现了某大型工程高效实时的监控需求。
1 分析
1.1 b/s模式监控系统的系统架构与功能
在b/s体系结构中,用户通过浏览器向分布在网络上的web服务器发出请求,web服务器接受客户请求,首先需执行相应的扩展应用程序执行对应的操作,然后将相应的信息返回给浏览器。
基于b/s模式的管理信息系统从结构上主要分为三个层次,如图1所示:图1b/s(browser/server)模式系统架构图分别为internet浏览器、web服务器和数据库服务器。用户通过客户端的internet浏览器以表单或者其他形式向web服务器发送http请求,web服务器请求数据库服务器,并将获得的结果以html页面的形式返回给客户端的internet浏览器,供用户查看。如图1所示。
b/s模式具有很多优势:平台无关性;使用简单,易于扩展;减少数据库并发用户;代码可重用性好,易于维护。因此b/s模式逐渐成为一种流行的应用系统开发平台。然而b/s也并非完美,随着应用的逐步普及,b/s模式逐渐暴露了它的缺陷,如执行效率低,web服务器负担过重、安全性有待加强等。特别对于一些实时性要求比较高、数据量比较大的应用系统,比如实时监控远程控制等,b/s模式无法满足系统的需求。
1.2 activex组件技术
activex是microsoft提出的采用com(componentobject model)和dcom(distributed component objectmodel)使软件组件在网络环境中进行交互的一组技术集,它是在com之上建立的一种理论和概念,与具体的编程语言无关,包括activex dll组件和activex控件。
activex控件同其他的activex组件相比具有以下特点:能通过设置属性控制其行为,从而实现用户接口;在客户端的浏览器执行,能够缓解服务器的负荷;在有需要时,还可以由应用程序调用activex摔件,扩展应用程序的功能。作为针对web应用开发的技术,activex控件被广泛应用于web服务器以及客户端应用的各个方面。
activex控件常用的形式是.exe、.dll或.ocx的形式。通常以动态链接库形式存在,因此必须在容器中运行。activex控件能够直接嵌入到浏览器和其他应用程序中,并具有和应用程序一样强大的数据处理,磁盘操作等能力。
activex控件在以浏览器为主的结构中的作用如图2所示。
activex控件由三大要素组成:属性、方法和事件。属性是控件的基本特性,是控制的一部分,在控制装入时或控制正在进行时可以改变;方法是控件提供给外界的一个接口,类似与一个函数调用接口,用户可通过方法来设置控件的某些性质、执行某项动作或者进行某些运算以实现一定的功能;事件是控件对外部操作或控件内部处于某种状态时所发出的通知,它由控件本身所触发,并与容器进行通信。从外界看,activex控件就像一个黑盒,用户只能看到它的三大要素,如图3所示。
要使用activex控件,首先要创建控件实例对象,对控件进行实例化后,对控件属性的设置和操作就可以通过实例对象的属性和方法来实现。activex控件能在asp.net页面中通过< object >标签创建,< object >标签包含类id(clsid),用于识别需要实例化的activex控件。如下面的代码所示:
< object >元素的属性有id,classid,codebase,height,width等。
其中id的属性值objectjk是用于唯一表示aetivex控件的名称,classid属性值“clsid:49f8cfdf-6b01-4115-baf4-d579db51931b”是aetivex控件在系统中唯一标识号,codebase属性值“../ikocx.cab”是aetivex控件的安装文件所在的目录,此处指位于服务器根目录下。
控件技术的具体实现如下:当浏览器发出请求时,web服务器向用户浏览器回传内嵌activex控件的页面,由浏览器负责解释。在解释过程中首先用该控件的在页面