OLE技术及组件对象模型(COM)
2016-11-21 14:32
316 查看
1.OLE技术
Object Linking and Embedding,对象连接与嵌入,简称OLE技术。OLE 不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为组件对象模型(COM)。
OLE(Object Linking and Embedding,对象连接与嵌入)。是一种面向对象的技术,利用这种技术可开发可重复使用的软件组件(COM)。OLE不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为组件对象模型(Component Object Model),简称COM。OLE可以用来创建复合文档,复合文档包含了创建于不同源应用程序,有着不同类型的数据,因此它可以把文字、声音、图像、表格、应用程序等组合在一起。
OLE 是在客户应用程序间传输和共享信息的一组综合标准。允许创建带有指向应用程序的链接的混合文档以使用户修改时不必在应用程序间切换的协议。OLE基于组件对象模型(COM) 并允许开发可在多个应用程序间互操作的可重用即插即用对象。该协议已广泛用于商业上,在商业中电子表格、字处理程序、财务软件包和其他应用程序可以通过客户服务器体系共享和链接单独的信息。
关于 OLE ,业界早就在抱怨它的缓慢和庞大,对市场敏感的 Microsoft 需要对那些 API 函数提出一种新的术语以适应未来的操作系统和Internet技术。有趣的是 Microsoft 已经宣布 OLE 不再代表对象链接与嵌入,而只是一个过去的名词而已。
2.组件对象模型
Component Object Model(COM——组件对象模型)
组件对象模型,一种面向对象的编程模式。它定义了对象在单个应用程序内部或多个应用程序之间的行为方式。英文为Component Object Model,缩写COM,是微软对于网页服务器与客户端、增益集与Office系列软件之间交互的一项软件组件技术。
概述:
COM是微软自1993年便提出的组件式软件平台,用来做进程间通信(Inter-process communication, IPC)以及当作组件式软件开发的平台。COM提供跟编程语言无关的方法实现一个软件对象,因此可以在其他环境中运行。COM要求软件组件必须遵照一个共同的接口,该接口与实现无关,因此可以隐藏实现属性,并且被其他对象在不知道其内部实现的情形下正确的使用。
COM并被实现于多个平台之上,并不限于Windows操作系统之上。但还是只有Windows最常使用COM,且某些功能已被目前的.NET平台取代。
COM组件类型:
COM是基于组件对象方式概念来设计的,在基础中,至少要让每个组件都可以支持二个功能:
查询组件中有哪些界面
让组件做自我生命管理,此概念的实践即为引用计数(Reference Counting)
这二个功能即为COM的根:IUnknown接口所提供的IUnknown::QueryInterface(),IUnknown::AddRef()及IUnknown::Release()三个方法的由来。所有的COM组件都要实现IUnknown,表示每个COM组件都有相同的能力。
只由COM派生实现出来的组件,称为纯COM组件。
但在Windows持续发展时,Visual Basic 4.0开始支持OCX,也就是OLE Custom Control,这让微软开始思考要如何让COM组件可以跨语言支持,在这样的要求下,必须要提供一个一致的接口,以及提供一组可以调用接口内方法的能力,由于纯COM组件只能够支持C/C++的直接访问,为了要达到跨语言的能力,在COM中必须要支持在外部调用内部方法的机能,这个机能造就了Invoke()方法,另外为了跨语言的支持,COM应该要提供简单的组件访问识别方式,这也就是会有GetIDsOfNames()的原因,将这些方法组合起来,定义出的必要接口,称为IDispatch接口,所有实现此接口的,都可以支持跨语言的支持。
微软将实现此接口的组件都称为自动化(Automation)组件。
相关技术:
COM曾是Windows平台下主要的软件开发平台,并且影响至其他许多相关软件技术。
2000中,Microsoft Transaction
Server的强化实现版本,除了提供基本的组件交易支持外,还提供了松散藕合式事件(loosely-coupled
events)与对象共用池(object pooling)等应用程序服务器的能力,成为Windows 2000开始在微软平台上主要的应用程序服务器平台,目前.NET Framework也提供了System.EnterpriseServices命名空间以支持COM+。
Distributed COM
Distributed COM是可以在网络上通信的COM组件,依据RPC(Remote Procedure Call)的规范来发展的,它将COM组件的能力扩及到网络上,但是因为网络安全以及防火墙的问题,让设备上下文OM无法广泛的流行。
备注:摘自百度百科http://baike.baidu.com/view/185318.htm
Object Linking and Embedding,对象连接与嵌入,简称OLE技术。OLE 不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为组件对象模型(COM)。
OLE(Object Linking and Embedding,对象连接与嵌入)。是一种面向对象的技术,利用这种技术可开发可重复使用的软件组件(COM)。OLE不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为组件对象模型(Component Object Model),简称COM。OLE可以用来创建复合文档,复合文档包含了创建于不同源应用程序,有着不同类型的数据,因此它可以把文字、声音、图像、表格、应用程序等组合在一起。
OLE 是在客户应用程序间传输和共享信息的一组综合标准。允许创建带有指向应用程序的链接的混合文档以使用户修改时不必在应用程序间切换的协议。OLE基于组件对象模型(COM) 并允许开发可在多个应用程序间互操作的可重用即插即用对象。该协议已广泛用于商业上,在商业中电子表格、字处理程序、财务软件包和其他应用程序可以通过客户服务器体系共享和链接单独的信息。
关于 OLE ,业界早就在抱怨它的缓慢和庞大,对市场敏感的 Microsoft 需要对那些 API 函数提出一种新的术语以适应未来的操作系统和Internet技术。有趣的是 Microsoft 已经宣布 OLE 不再代表对象链接与嵌入,而只是一个过去的名词而已。
2.组件对象模型
Component Object Model(COM——组件对象模型)
组件对象模型,一种面向对象的编程模式。它定义了对象在单个应用程序内部或多个应用程序之间的行为方式。英文为Component Object Model,缩写COM,是微软对于网页服务器与客户端、增益集与Office系列软件之间交互的一项软件组件技术。
概述:
COM是微软自1993年便提出的组件式软件平台,用来做进程间通信(Inter-process communication, IPC)以及当作组件式软件开发的平台。COM提供跟编程语言无关的方法实现一个软件对象,因此可以在其他环境中运行。COM要求软件组件必须遵照一个共同的接口,该接口与实现无关,因此可以隐藏实现属性,并且被其他对象在不知道其内部实现的情形下正确的使用。
COM并被实现于多个平台之上,并不限于Windows操作系统之上。但还是只有Windows最常使用COM,且某些功能已被目前的.NET平台取代。
COM组件类型:
COM是基于组件对象方式概念来设计的,在基础中,至少要让每个组件都可以支持二个功能:
查询组件中有哪些界面
让组件做自我生命管理,此概念的实践即为引用计数(Reference Counting)
这二个功能即为COM的根:IUnknown接口所提供的IUnknown::QueryInterface(),IUnknown::AddRef()及IUnknown::Release()三个方法的由来。所有的COM组件都要实现IUnknown,表示每个COM组件都有相同的能力。
只由COM派生实现出来的组件,称为纯COM组件。
但在Windows持续发展时,Visual Basic 4.0开始支持OCX,也就是OLE Custom Control,这让微软开始思考要如何让COM组件可以跨语言支持,在这样的要求下,必须要提供一个一致的接口,以及提供一组可以调用接口内方法的能力,由于纯COM组件只能够支持C/C++的直接访问,为了要达到跨语言的能力,在COM中必须要支持在外部调用内部方法的机能,这个机能造就了Invoke()方法,另外为了跨语言的支持,COM应该要提供简单的组件访问识别方式,这也就是会有GetIDsOfNames()的原因,将这些方法组合起来,定义出的必要接口,称为IDispatch接口,所有实现此接口的,都可以支持跨语言的支持。
微软将实现此接口的组件都称为自动化(Automation)组件。
相关技术:
COM曾是Windows平台下主要的软件开发平台,并且影响至其他许多相关软件技术。
COM+
COM+是微软Windows2000中,Microsoft Transaction
Server的强化实现版本,除了提供基本的组件交易支持外,还提供了松散藕合式事件(loosely-coupled
events)与对象共用池(object pooling)等应用程序服务器的能力,成为Windows 2000开始在微软平台上主要的应用程序服务器平台,目前.NET Framework也提供了System.EnterpriseServices命名空间以支持COM+。
Distributed COM
Distributed COM是可以在网络上通信的COM组件,依据RPC(Remote Procedure Call)的规范来发展的,它将COM组件的能力扩及到网络上,但是因为网络安全以及防火墙的问题,让设备上下文OM无法广泛的流行。
.NET
.NET Framework是新一代的Microsoft Windows应用程序开发平台。Windows 元件
核心组件 |
|
---|
管理工具 |
|
---|
内核 |
|
---|
服务 |
|
---|
文件系统 |
|
---|
服务器端 |
|
---|
架构 |
|
---|
安全 |
|
---|
游戏 |
|
---|
地理信息系统
弧段 | 属性 | 属性数据 | 图层 | 图层元素 |
图层范围 | 图层更新 | 边缘弧 | 断线 | 缓冲区 |
地理信息 | 地籍信息 | 计算机制图图元文件 | 坐标几何 | 数据层 |
数据字典 | 数据集系列 | 数字高程模型 | 派生数据 | 描述数据 |
数字地理空间数据框架 | 数字化 | 数字化图层 | 数字表面模型 | 数字地形模型 |
实体 | 实体属性 | 实体类型 | 要素码 | 要素标识符 |
概念模式 | 地理数据集 | 地理实体 | 地理标识符 | 地理坐标参考系 |
图形分辨率 | 格网 | 格网坐标 | 格网数据 | 格网间距 |
相关文章推荐
- MS历史学习:OLE COM DCOM COM+技术与OPC技术
- 关于OLE技术!(OLE/ActiveX/COM)
- 微软软件开发技术二十年回顾-COM、OLE、ActiveX及COM+篇
- COM, OLE技术概述
- OLE技术专题——COM的连接点事件(上)(转)
- OLE技术专题——第四讲:COM的连接点事件(上)
- 微软软件开发技术二十年回顾(COM、OLE、ActiveX及COM+篇)
- OLE技术专题——第四讲:COM连接点事件(中)
- 微软软件开发技术二十年回顾-COM、OLE、ActiveX及COM+篇
- 微软软件开发技术二十年回顾-COM、OLE、ActiveX及COM+篇
- OLE技术专题——COM连接点事件(下)
- 关于COM(组件对象模型)技术
- 名站技术分析 - 浅谈tudou.com首页图片延迟加载的效果
- COM(组件对象模型)简单介绍
- Windows中的“OLE”技术,是什么技术,它可以实现多个文件之间的住处传递和共享
- COM技术内幕--QueryInterface函数
- COM技术5
- 技术锦囊http://www.jqschool.com/collection/
- com技术内幕读书笔记2
- 关于COM的Reg-Free(免注册)技术简介及实例讲解。