明辉站/技术开发/内容

ActiveX技术综述(一) 

技术开发2023-07-19 阅读
[摘要]1.1.ActiveX的定义   ActiveX是Microsoft提出的一组使用COM(ComponentObjectModel,部件对象模型)使得软件部件在网络环境中进行交互的技术集。它与具体的编程语言无关。作为针对Internet应用开发的技术,ActiveX被广泛应用于WEB服务器以及客户...
1.1.ActiveX的定义

  ActiveX是Microsoft提出的一组使用COM(ComponentObjectModel,部件对象模型)使得软件部件在网络环境中进行交互的技术集。它与具体的编程语言无关。作为针对Internet应用开发的技术,ActiveX被广泛应用于WEB服务器以及客户端的各个方面。同时,ActiveX技术也被用于方便地创建普通的桌面应用程序。

1.2.ActiveX的内容

  ActiveX既包含服务器端技术,也包含客户端技术。其主要内容是:

  *ActiveX控制(ActiveXControl);用于向WEB页面、MicrosoftWord等支持ActiveX的容器(Container)中插入COM对象。

  *ActiveX文档(ActiveXDocument);用于在WEBBrowser或者其它支持ActiveX的容器中浏览复合文档(非HTML文档),例如MicrosoftWord文档,Microsoft Excel文档或者用户自定义的文档等。

  *ActiveX脚本描述(ActiveXScripting);用于从客户端或者服务器端操纵ActiveX控制和Java程序,传递数据,协调它们之间的操作。

  *ActiveX服务器框架(ActiveXServerFramework);提供了一系列针对WEB服务器应用程序设计各个方面的函数及其封装类,诸如服务器过滤器、HTML数据流控制等。

  *在InternetExplorer中内置Java虚拟机(JavaVirtualMachine),从而使JavaApplet能够在InternetExplorer上运行,并可以与ActiveX控制通过脚本描述语言进行通信。

1.3.ActiveX与Java的比较

  ActiveX提供了一种扩展包括Java在内的任何编程语言的机制,Java的开发人员可以在Applet中使用ActiveX技术,直接嵌入ActiveX控制,或者以ActiveX技术为桥梁,将其它开发商提供的多种语言的程序对象集成到Java中。与Java的字节码技术相比,ActiveX提供了“代码签名”(CodeSigning)技术保证其安全性。

1.4.InternetExplorer和NetscapeNavigator

  不言而喻,Microsoft的InternetExplorer全面支持ActiveX。同时,Microsoft提供了NetscapeNavigator的插件(Plug-In),从而使Navigator也可以浏览包含有ActiveX部件的WEB站点。

2.ActiveX控制和Internet

  ActiveX控制是OLE控制的更新版本。控制(Control)是建立可编程部件(Component)的主要元素。ActiveX控制可以用于所有支持COM规范的容器中,或者作为Internet控制嵌入到WEB页面中。用户访问该页面时将下载该控制并自动在本地注 册。利用脚本描述语言(Script)可以在控制之间以及客户与服务器之间通过设置属性(Property)、调用方法(Method)和激活事件(Event)进行通信。

  ActiveX控制与以前的OLE控制相比,具有更少的接口,并且可以没有窗口。所有的ActiveX控制都支持IUnknown接口。

  目前,很多第三方开发商编制了各式各样的ActiveX控制。在Internet上,有超过1000个ActiveX控制供用户下载使用。在WINDOWS的SYSTEM目录下,保存有很多Window提供的ActiveX控制。MicrosoftVisualC++(以下简称VC)提供的MFC(MicrosoftFoundationClasses)控制都是ActiveX控制。

  考虑到当前Internet相对较低的传输速率,设计运行于Internet的ActiveX控制时,必须考虑以下几个问题:

  *控制尽可能小;

  *持续存储数据(PersistData)如何保存;

  *如何在Internet上下载和安装;

  *控制如何在客户端注册;

3.ActiveX文档和Internet

  ActiveX文档提供了传统的嵌入对象的扩展方法。ActiveX文档对象可以包含多个页,显示在整个客户区中,并支持原有的菜单功能。与以往的嵌入对象不同的是,ActiveX文档对象不再以一个阴影方框包围来显示,而是全框架(FullFrame),并总处于激活状态。

  MicrosoftOffice97提供了MicrosoftOfficeBinder,用来生成并浏览由MicrosoftWord、MicrosoftExcel或者用户定义的ActiveX文档等构成的复合文档,每一种文档类型都可以直接进行编辑修改。

  ActiveX文档可以作为对象嵌入到WEB网页中,在WEB上发布。

4.ActiveX脚本描述语言

  利用VBScript或者MicrosoftJScript,可以向Web页面中加入可用于交互的ActiveX控制,将数据预处理或者检验过程放在客户端进行,然后将结果传往WEB服务器。

5.ActiveX服务器框架

  在WEB服务器上创建扩展应用程序,动态生成WEB页面。使用MFC提供的ISAPI类可以方便地建立WEB服务器端的扩展应用程序。

6.VisualC++5.0对ActiveX的支持

  VC++5.0(企业版)为Internet开发提供了完整的解决发案,其内容是:

  *使用MFC或者ATL开发ActiveX控制和ActiveX文档。

  *使用ISAPI设计WEB服务器端的部件。

  *使用WinInet开发通过Internet存取文件的应用程序。

  *使用AsynchronousMonikers生成从Internet下载数据的应用程序。

  *使用ActiveXSDK开发其它类型的基于Internet的Win32应用程序,包括ActiveXScriptingHost,MicrosoftWebConferencing等。

……

相关阅读