现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

com/ole/atl/activex的区别和联系

2012-09-27 07:26 工业·编程 ⁄ 共 1355字 ⁄ 字号 暂无评论

    根据网上资料和自己的理解,做的一个初步总结,随着认识的深入,将来再做修改:

COM是microsoft制定的一个组件软件标准,跟unix上的CORBA一样。凡是遵循COM标准开发出来的组件称为COM组件。简单的说就是要实现在二进制方式的重用 。(COM组件为何物)
在windows平台上,COM的实现形式有DLL(进程内组件)和EXE(进程外组件)2种。
DLL就是动态连接库,它也是为了解决软件模块化和接口稳定问题而出现的。DLL可以遵循COM规范开发,也可以是不支持COM特性的普通DLL。

OLE和activex都是基于com的,但ole比com先出现,逐渐才发展出com,现在ole仍然指的是混合文档技术

ATL是ActiveX  Template  Library 的缩写,它是一套C++模板库。

在ATL产生以前,开发COM组件的方法主要有两种:一是使用COM   SDK直接开发COM组件,另一种方式是通过MFC提供的COM支持来实现。
   而现在 ATL已经成为Microsoft支持COM应用开发的主要开发工具,
* 首先ATL可以说是把com封装了一下,象mfc一样做成一个库,并有一个向导,使COM应用开发尽可能地自动化、可视化,这就决定了ATL只面向COM开发提供支持。

* 其次,ATL因其采用了特定的基本实现技术,摆脱了大量冗余代码,使用ATL开发出来的COM应用的代码简练高效,即所谓的“Slim   Code”。

ActiveX是Microsoft提出的一组使用COM(Component   Object   Model,部件对象模型)使得软件部件在网络环境中进行交互的技术集。它与具体的编程语言无关。作为针对Internet应用开发的技术,ActiveX被广泛应用于WEB服务器以及客户端的各个方面。同时,ActiveX技术也被用于方便地创建普通的桌面应用程序,此外ActiveX一般具有界面。
  ActiveX既包含服务器端技术,也包含客户端技术。其主要内容是:
*   ActiveX控制(ActiveX   Control);用于向WEB页面、Microsoft   Word等支持ActiveX    
的容器(Container)中插入COM对象。
*   ActiveX文档(ActiveX   Document);用于在WEB   Browser或者其它支持ActiveX的容器中浏览复合文档(非HTML文档),例如Microsoft   Word文档,Microsoft   Excel文档或者用户自定义的文档等。
*   ActiveX脚本描述(ActiveX   Scripting);用于从客户端或者服务器端操纵ActiveX控制和Java程序,传递数据,协调它们之间的操作。
*   ActiveX服务器框架(ActiveX   Server   Framework);提供了一系列针对WEB服务器应用程序设计各个方面的函数及其封装类,诸如服务器过滤器、HTML数据流控制等。
*   在Internet   Explorer中内置Java虚拟机(Java   Virtual   Machine),从而使Java   Applet能够在Internet   Explorer上运行,并可以与ActiveX控制通过脚本描述语言进行通信。

给我留言

留言无头像?