ActiveX是Microsoft提出的一组使用COM(ComponentObjectModel,部件对象模型)使得
软件部件在网络环境中进行交互的技术集。它与具体的
编程语言无关。作为针对Internet应用开发的技术,ActiveX被广泛应用于
WEB服务器以及
客户端的各个方面。同时,ActiveX技术也被用于方便地创建普通的
桌面应用程序。
技术产生背景
随着Internet/Intranet的普及,人们对网络应用程序开发提出了更高的要求。如:Web页面需要更加丰富生动的多媒体内容,商业应用程序要求更高可靠性、更加灵活的网络应用软件开发工具等等,特别是如何在Internet上共享微软产品功能。于是微软提出了ActiveX技术。
技术简介
首先,ActiveX是一种标准。使用这个标准可以使用不同语言开发的软件构件在网络环境中相互操作。它使得Internet超越静态文本,利用多媒体效果和可交互的对象,向用户提供更加主动有趣和更加有用的服务。另外,ActiveX也是开放技术的集合,它涵盖了所有流行的Internet标准、语言和平台。通过连接Sun公司的Java技术和微软公司的OLE组件技术,ActiveX给用户和开发商提供了一个内容丰富的平台,在开发Internet新的应用程序的同时,可以保护他们以前在应用程序、工具和源码上的投资。ActiveX标准包括控件(Controls)、文档(Documents)、脚本
以前被称为OLE控件或OCX控件,现在发展为能够运行在Web页面上的软件
构件。它提供了一些可交互的用户控制功能,能够使用户不必打开其他应用程序,在Web浏览器中看到动画、影像,听到音乐。ActiveX控件的一个主要优点是:它也能在当前许多流行的
编程语言所写的应用程序中重用。如: Java,Visual Basic,Visual C++等。目前,已有1000多个ActiveX控件可以使用,范围从小的定时器控件到字处理器甚至Internet浏览器。
支持许多流行的
脚本语言,包括Visual Basic Script 和JavaScript。
脚本提供了在一个页面中多个对象交互的功能,如ActiveX控件,Java applets,ActiveX Documents。其中VisualBasic Script是一个用于编写活动内容部件和Web页面的Visual Basic优化版本。开发人员能够用它来链接和自动生成
ActiveX控件或Javaapplets之类的程序部件,使之能够包含
脚本所规定的动作。
* ActiveX文档
能使你在Web浏览器中看到非HTML格式文档,例如Microsoft Excel,Word或Visio文件。
能使任何支持ActiveX的
浏览器,例如:Internet Explorer3.0,运行Java applets并且将ActiveX控件和Java applets集成。
* ActiveX服务器构架
提供了许多基于Web服务器的功能,例如:安全机制、数据库访问等。目前,已有超过100家公司宣布支持ActiveX技术,并着手开发基于ActiveX的工具、应用程序以及控件。另外,ActiveX也将被几种主要的操作系统支持,包括Window 95,Windows NT,Macintosh,Unix。这不仅能给用户选择平台的自由,而且也为ActiveX成为一种真正的分布式对象技术铺平道路。
技术区别
ActiveX、OLE和Java
ActiveX涵盖了Java和微软的OLE部件技术,但与两者有所区别。ActiveX与OLE都基于
构件对象模型(Component Object Model,COM),但它们为开发者提供了本质上不同的服务。COM提供了底层的对象束定机制,这种机制允许对象之间相互通信。OLE利用COM提供应用程序的上层服务,例如: 对象的链接与嵌入,使用户能够创建
复合文档。另一方面,ActiveX提供了一种机制使控件能嵌入到Web页面中,并对事件作出响应。总的来讲,OLE侧重于单机应用程序的重用和配合,而ActiveX更侧重于网络和Internet。采用ActiveX技术,使台式计算机接口和Internet接口合二为一,消除了如文件之类的本地资源和网络资源之间的差别,对应用程序和最终用户做到网络透明。ActiveX与Java是两种不相同但相类似的技术。Java是一种平台无关的Intenet语言,用Java写的程序是一系列
虚机器字节代码,它可以在任何运行Java
虚拟机(
构件),这大大扩充了一种语言的功能。例如使用Visual C++创建一个定时器
构件,开发人员可以在Visual Basic,Dephi,Visual C++,PowerBuilder以及其它支持ActiveX的语言中重用这个定时器构件,不必自行开发。ActiveX比Java最大的优点就是保留了原有的技术投资,新的应用可以在老的基础上继续开发。@@11181000.GIF;ActiveX控件的开发和使用@@另外,由于ActiveX的底层支持(COM)和Java在许多概念上十分相似,使得COM和Java的集成变得十分方便。通过集成,ActiveX扩展了Java语言的功能。现在,Java
程序员可以利用多媒体效果,一个扩充的软件对象集包括ActiveX控件,ActiveX文档和ActiveX
脚本去增强Javaapplets的功能,如在Java applets中增加声音、影像、打印、数据库访问,
虚拟现实以及其他一些操作系统级的特征。同样,用其它语言开发的对象也可以链接Java applets。总之,ActiveX已经把目前最强有力的Web技术联接到一起,Web开发者可以利用广泛的技术在保留原有投资基础上建立Internet的应用。@@11181001.GIF;
应用及开发
ActiveX的应用及开发
目前ActiveX除了原先的单机应用外,更多地使用在Internet上。ActiveX使得创建具有特色的可交互式的web页面更加快捷容易。由于有一千多个可重用的控件,Web开发者不必再手工编写交互页面的每个部分。另外,由于有了ActiveX,开发人员不必在Web页面中只使用一种开发方式。一个Web页面可以包括Javaapplets、若干个ActiveX 控件、ActiveX脚本或ActiveX文档。简而言之,ActiveX提供了一种粘合剂,把applets
脚本、文档、图像以及其他一些ActiveX控件集成在一个Web主页中。同时,ActiveX也给开发者一个广泛的工具选择。ActiveX控件可以使用Visual Basic,Visval C++,Dephi,Borland C++,Visual J++开发。ActiveX文档可以使用广泛的
桌面应用程序创建,例如Excel,Word,PowerPoint等。ActiveX
脚本可以使用VBScript以及JavaScript编写。Java Applets可以使用一些PC工具开发商的开发工具创建,如Visual J++。无论使用什么工具开发的对象通过ActiveX,都可以和另外一些对象集成在一个主页里。
发展现状展望
ActiveX的发展现状与展望
ActiveX这种
分布式对象技术与其他同类技术相比,最大优点在于保护开发者以前的投资,几千个已有的控件是这种技术的资本。同时,ActiveX又是一种开放的技术,它包容了现有的标准又鼓励第三方参与。但是,ActiveX技术目前还处于不断发展阶段,许多方面需要改进。比如,一些ActiveX控件体积还过于庞大,用户浏览时进行下载速度较慢。另外,目前支持ActiveX的平台还只限于Windows系列,Unix和Macintosh对ActiveX的支持还在开发阶段,其他平台的支持也需要时间,从这一点看,ActiveX的平台无关性不如Java。这些都会限制ActiveX近期的推广和使用。然而,随着
网络带宽的不断提高,异质环境对ActiveX的支持,一种
分布式对象化系统必然会形成。