ActiveX控件是什么?

ActiveX控件是什么?

ActiveX控件是什么?

文章插图
一、ActiveX的由来
ActiveX最初只不别均过仿敏是一个商标名称而已,它所涵盖的技术并不是各自孤立的,其中多数都与Internet和Web有一定的关联 。更重要的是,ActiveX的整体技术是由M来自icrosoft的COM360问答(Compone负酒社这井掉九总尔ntObjectModel,组件对象模型)构筑的 。但不要误认为ActiveX是定义了所有包含基于COM的技术 。COM与MicrosoftOffice和Windows以及助亲希Microsoft现在所做的一切都有关联,但显然这些产品并不是Ac渐则民tiveX家族中的成孝橘员 。
ActiveX是从Microsoft的复合文档技术—又免甲—OLE成长起来的 。OLE最初发布的版游便硫示列德变本,只是巧大团瞄准复合文档,但在后续版本OLE2中,导入了COM 。COM是应OLE设计者的需求而诞生的 。其基本的出发点是想让某个软件通过一个通用的机构为另一个软件提供服务 。因而,COM的第一个使用者是OLE2 。实际上,COM与复合文档间,没有多大关系 。后来,COM就作为与复合文档完全无关的技术,开始被广泛使用 。这样一来,Microsoft就开始"染指"通用平台技术 。但COM不是产品,它需要一个商标名称 。不巧,市场专家们选用了"OLE"作为商标名称 。于是,使用COM的技术都开始贴上和袁米杂高了OLE的标签 。当然,这左控冷武征些技术中的绝大部分与复合文档没有关系 。Microsoft要想向人们解释:"OLE不单单是指复合文档!",这要花费相南扬吃杀罗热读律当的精力和时间 。
福免率年认代于是,在1996年春引消吸何,Microsoft改变了主季是伤九功几速出意,选择了ActiveX作为新商标名 。Ac军告脱语破钟声色六tiveX是指宽松定义的、基于COM的技术集合,而OLE仍然仅指复合文档 。当然,最重要的核心还是COM 。
让对象模型完全独立于编程语言,这是一个非常新奇的思想 。从C++和Java的对象上,我们就能有所了解 。但所谓COM对象究竟是什么?为了便于理解,可以把COM看作是某种(软件)打包技术,即把它看作是使软件的不同部分,按照一定的面向对象的形式,组政体合成可以交互的过程和一组支持库 。COM对象可以用C++、Java和VB等任意一种语言编写,并可以DLL或作为不同过程工作的执行文件的形式来实现 。使用COM对象的客户端,无需关心对象是用什么语言写的,也无需关心它是以DLL、还是以另外的过程来执行的 。从客户端来看,无任何区别 。
这样一个通用的处理技巧非常有用 。例如,由用户协调运行的两个应用,可以将它们的共同作业部分,作为COM对象间的交互来实现(当然,现在的OLE复合文档也能做到) 。为在浏览器中执行而从Web服务器下载的代码,浏览器可把它看作是COM对象 。即是说,COM技术也是一种打包可下载代码的标准方法(ActiveX控件执行这种功能) 。
宪识被音样后音成么甚至连应用与本机劳东音酸多吃OS进行交互的方法,也可价市以用COM来指定(Windows和WindowsNT用的新API,多数是作为COM对象来定义的) 。COM虽然起源于复合文档,但却可有效地适用于许多软件问题 。
二、ActiveX王国
Active平台是Microsoft的世界观 。其基本思想是:使用ActiveX控件,来构筑包括从与用户交互和适应COM的事务处理监视器到Web服务器、全部实现自动化的机构 。Active平台包括两大部分:ActiveServer和ActiveClient 。
ActiveServer实际上是中间层 。使用组件或Active服务器页面,来提供用于业务逻辑和主要应用处理的场所 。ActiveServer的技术,其核心是NTServer、Microsoft事务处理服务器、数据管理服务、目录服务、Web服务以及网络服务 。
事务处理服务器是把线程产生和数据库多重化等传统的TP监控功能与Microsoft的基于组件的编程模型结合起来 。数据管理服务等Active平台的其他组件是用OLEDB和ODBC,访问DB2、Oracle、SQLServer等的数据源 。目录服务是在DCOM(DistributedCOM,分布式COM)的周围,提供目录服务层,这样使远程对象在网络上能相互搜索 。Web服务以Internet信息服务器为中心进行构筑,它为服务器上的Web应用开发,提供脚本生成(Scripting)机构 。网络服务以DCOM为中心进行构筑,通过以同步MS-RPC为中介的网络,使之能够连接控件 。

推荐阅读