标题：ActiveX技术
概述
随着Internet/Intranet的普及，人们对网络应用程序开发提出了更高的要求。如：Web页
面需要更加丰富生动的多媒体内容，商业应用程序要求更高可靠性、更加灵活的网络应用软
件开发工具等等，特别是如何在Internet上共享微软产品功能。于是微软提出了ActiveX技术
。
ActiveX的概念
首先，ActiveX是一种标准。使用这个标准可以使用不同语言开发的软件构件在网络环境
中相互操作。它使得Internet超越静态文本，利用多媒体效果和可交互的对象，向用户提供更
加主动有趣和更加有用的服务。
另外，ActiveX也是开放技术的集合，它涵盖了所有流行的Internet标准、语言和平台。
通过连接Sun公司的Java技术和微软公司的OLE组件技术，ActiveX给用户和开发商提供了一个
内容丰富的平台，在开发Internet新的应用程序的同时，可以保护他们以前在应用程序、工具
和源码上的投资。
ActiveX标准包括控件（Controls）、文档（Documents）、脚本(Scripts）这三种最常用的
技术，同时它也包括客户机技术、服务器技术以及工具和应用程序。下面分别介绍：
* ActiveX控件
以前被称为OLE控件或OCX控件，现在发展为能够运行在Web页面上的软件构件。它提供了
一些可交互的用户控制功能，能够使用户不必打开其他应用程序，在Web浏览器中看到动画、
影像，听到音乐。ActiveX控件的一个主要优点是：它也能在当前许多流行的编程语言所写的
应用程序中重用。如： Java,Visual Basic,Visaal C++等。目前，已有1000多个ActiveX控件
可以使用，范围从小的定时器控件到字处理器甚至Internet浏览器。
* ActiveX 脚本
支持许多流行的脚本语言，包括Visual Basic Script 和JavaScript。脚本提供了在一
个页面中多个对象交互的功能，如ActiveX控件，Java applets,ActiveX Documents。其中Vi
sualBasic Script是一个用于编写活动内容部件和Web页面的Visual Basic优化版本。开发
人员能够用它来链接和自动生成ActiveX控件或Javaapplets之类的程序部件，使之能够包含
脚本所规定的动作。
* ActiveX文档
能使你在Web浏览器中看到非HTML格式文档，例如Microsoft Excel,Word或Visio文件。
* Java虚机器
能使任何支持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虚拟机(JVM）的平台上运行。
而ActiveX是一套技术规范，它本身与语言无关。利用ActiveX技术，不同的开发语言可以
互相利用已有的构件，这大大扩充了一种语言的功能。例如使用Visual C++创建一个定时器
构件，开发人员可以在Visual Basic,Dephi,Visual C++,PowerBuilder以及其它支持Active
X的语言中重用这个定时器构件，不必自行开发（如图一）。ActiveX比Java最大的优点就是保
留了原有的技术投资，新的应用可以在老的基础上继续开发。
@@11181000.GIF；图1 ActiveX控件的开发和使用@@
另外，由于ActiveX的底层支持（COM）和Java在许多概念上十分相似，使得COM和Java的集
成变得十分方便。通过集成，ActiveX扩展了Java语言的功能。现在，Java程序员可以利用多
媒体效果，一个扩充的软件对象集包括ActiveX控件，ActiveX文档和ActiveX脚本去增强Java
applets的功能，如在Java applets中增加声音、影像、打印、数据库访问，虚拟现实以及其
他一些操作系统级的特征。同样，用其它语言开发的对象也可以链接Java applets。图二显
示了Java与ActiveX集成。
总之，ActiveX已经把目前最强有力的Web技术联接到一起，Web开发者可以利用广泛的技
术在保留原有投资基础上建立Internet的应用。
@@11181001.GIF；图2 Java和ActiveX的集成@@
⒋ActiveX的应用及开发
目前ActiveX除了原先的单机应用外，更多地使用在Internet上。ActiveX使得创建具有
特色的可交互式的web页面更加快捷容易。由于有一千多个可重用的控件，Web开发者不必再
手工编写交互页面的每个部分。另外，由于有了ActiveX，开发人员不必在Web页面中只使用一
种开发方式。一个Web页面可以包括Javaapplets、若干个ActiveX 控件、ActiveX脚本或Ac
tiveX文档。简而言之，ActiveX提供了一种粘合剂，把applets脚本、文档、图像以及其他一
些ActiveX控件集成在一个Web主页中。
同时，ActiveX也给开发者一个广泛的工具选择。
ActiveX控件可以使用Visual Basic,Visval C++,Dephi,Borland C++,Visual J++开发
。ActiveX文档可以使用广泛的桌面应用程序创建，例如Excel,Word,PowerPoint等。Activ
eX脚本可以使用VBScript以及JavaScript编写。Java Applets可以使用一些PC工具开发商的
开发工具创建，如Visual J++。无论使用什么工具开发的对象通过ActiveX，都可以和另外一
些对象集成在一个主页里。
⒌ActiveX的发展现状与展望
ActiveX这种分布式对象技术与其他同类技术相比，最大优点在于保护开发者以前的投资
，几千个已有的控件是这种技术的资本。同时，ActiveX又是一种开放的技术，它包容了现有的
标准又鼓励第三方参与。
但是，ActiveX技术目前还处于不断发展阶段，许多方面需要改进。比如，一些ActiveX控
件体积还过于庞大，用户浏览时进行下载速度较慢。另外，目前支持ActiveX的平台还只限于
Windows系列，Unix和Macintosh对ActiveX的支持还在开发阶段，其他平台的支持也需要时间
，从这一点看，ActiveX的平台无关性不如Java。这些都会限制ActiveX近期的推广和使用。
然而，随着网络带宽的不断提高，异质环境对ActiveX的支持，一种分布式对象化系统必然
会形成。网络，编程，技术，Activex技术，软件变成，技术，Activex技术，Activex