3.ActiveX是什么ActiveX一、ActiveX的由来 ActiveX最初只不过是一个商标名称而已,它所涵盖的技术并不是各自孤立的,其中多数都与Internet和Web有一定的关联 。
【activex怎么写】更重要的是,ActiveX的整体技术是由Microsoft的 COM(Component Object Model,组件对象模型)构筑的 。但不要误认为ActiveX是定义了所有包含基于COM的技术 。
COM与Microsoft Office和Windows以及Microsoft现在所做的一切都有关联,但显然这些产品并不是ActiveX家族中的成员 。ActiveX是从Microsoft的复合文档技术——OLE成长起来的 。
OLE最初发布的版本,只是瞄准复合文档,但在后续版本OLE2中,导入了COM 。COM是应OLE设计者的需求而诞生的 。
其基本的出发点是想让某个软件通过一个通用的机构为另一个软件提供服务 。因而,COM 的第一个使用者是OLE2 。
实际上,COM与复合文档间,没有多大关系 。后来,COM就作为与复合文档完全无关的技术,开始被广泛使用 。
这样一来,Microsoft就开始"染指"通用平台技术 。但COM不是产品,它需要一个商标名称 。
不巧,市场专家们选用了"OLE"作为商标名称 。于是,使用COM的技术都开始贴上了OLE的标签 。
当然,这些技术中的绝大部分与复合文档没有关系 。Microsoft要想向人们解释:"OLE不单单是指复合文档!",这要花费相当的精力和时间 。
于是,在1996年春,Microsoft改变了主意,选择了ActiveX作为新商标名 。ActiveX是指宽松定义的、基于COM的技术集合,而OLE仍然仅指复合文档 。
当然,最重要的核心还是 COM 。让对象模型完全独立于编程语言,这是一个非常新奇的思想 。
从C++和Java的对象上,我们就能有所了解 。但所谓COM对象究竟是什么?为了便于理解,可以把COM看作是某种( 软件)打包技术,即把它看作是使软件的不同部分,按照一定的面向对象的形式,组合成可以交互的过程和一组支持库 。
COM对象可以用C++、Java和VB等任意一种语言编写,并可以 DLL或作为不同过程工作的执行文件的形式来实现 。使用COM对象的客户端,无需关心对象是用什么语言写的,也无需关心它是以DLL、还是以另外的过程来执行的 。
从客户端来看,无任何区别 。这样一个通用的处理技巧非常有用 。
例如,由用户协调运行的两个应用,可以将它们的共同作业部分,作为COM对象间的交互来实现(当然,现在的OLE复合文档也能做到) 。为在浏览器中执行而从Web服务器下载的代码,浏览器可把它看作是COM对象 。
即是说,COM技术也是一种打包可下载代码的标准方法(ActiveX控件执行这种功能) 。甚至连应用与本机OS进行交互的方法,也可以用COM来指定(Windows和Windows NT用的新API,多数是作为COM对象来定义的) 。
COM虽然起源于复合文档,但却可有效地适用于许多软件问题 。二、ActiveX王国 Active平台是Microsoft的世界观 。
其基本思想是:使用ActiveX控件,来构筑包括从与用户交互和适应COM的事务处理监视器到Web服务器、全部实现自动化的机构 。Active 平台包括两大部分:Active Server和Active Client 。
Active Server实际上是中间层 。使用组件或Active服务器页面,来提供用于业务逻辑和主要应用处理的场所 。
ActiveServer的技术,其核心是NT Server、Microsoft事务处理服务器、数据管理服务、目录服务、Web服务以及网络服务 。事务处理服务器是把线程产生和数据库多重化等传统的TP监控功能与Microsoft的基于组件的编程模型结合起来 。
数据管理服务等Active平台的其他组件是用OLE DB和ODBC,访问DB2、Oracle、SQL Server等的数据源 。目录服务是在DCOM(Distributed COM,分布式COM)的周围,提供目录服务层,这样使远程对象在网络上能相互搜索 。