1.OLE技术

Object Linking and Embedding,对象连接与嵌入,简称OLE技术。OLE 不仅是集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据和操作数据的)彼此进行“连接”的,这种连接机制和协议称为(COM)。

OLE(Object Linking and Embedding,对象连接与)。是一种的技术,利用这种技术可开发可重复使用的(COM)。OLE不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为组件对象模型(Component Object Model),简称。OLE可以用来创建,复合文档包含了创建于不同源应用程序,有着不同类型的数据,因此它可以把、、、、应用程序等组合在一起。

OLE 是在客户应用程序间传输和共享信息的一组综合标准。允许创建带有指向应用程序的链接的混合文档以使用户修改时不必在应用程序间切换的协议。OLE基于(COM) 并允许开发可在多个应用程序间互操作的可重用即插即用对象。该协议已广泛用于商业上,在商业中、字处理、财务和其他应用程序可以通过客户服务器体系共享和单独的信息。

关于 OLE ,业界早就在抱怨它的缓慢和庞大,对市场敏感的 Microsoft 需要对那些 API 函数提出一种新的术语以适应未来的操作系统和技术。有趣的是 Microsoft 已经宣布 OLE 不再代表,而只是一个过去的名词而已。

2.组件对象模型

Component Object Model(COM——组件对象模型)

组件对象模型,一种的编程模式。它定义了对象在单个应用程序内部或多个应用程序之间的行为方式。英文为Component Object Model,缩写COM,是微软对于网页服务器与客户端、增益集与Office系列软件之间交互的一项软件组件技术。

概述:

COM是微软自1993年便提出的组件式软件平台,用来做(Inter-process communication, IPC)以及当作组件式软件开发的平台。COM提供跟编程语言无关的方法实现一个软件对象,因此可以在其他环境中运行。COM要求软件组件必须遵照一个共同的,该接口与实现无关,因此可以隐藏实现属性,并且被其他对象在不知道其内部实现的情形下正确的使用。

COM并被实现于多个平台之上,并不限于操作系统之上。但还是只有Windows最常使用COM,且某些功能已被目前的平台取代。

COM组件类型:

COM是基于组件对象方式概念来设计的,在基础中,至少要让每个组件都可以支持二个功能:

  • 查询组件中有哪些界面

  • 让组件做自我生命管理,此概念的实践即为(Reference Counting)

这二个功能即为COM的根:所提供的IUnknown::(),IUnknown::AddRef()及IUnknown::()三个方法的由来。所有的都要实现IUnknown,表示每个COM组件都有相同的能力。

只由COM派生实现出来的组件,称为纯COM组件

但在持续发展时, 4.0开始支持,也就是OLE Custom Control,这让微软开始思考要如何让COM组件可以跨语言支持,在这样的要求下,必须要提供一个一致的接口,以及提供一组可以调用接口内方法的能力,由于纯只能够支持的直接访问,为了要达到跨语言的能力,在COM中必须要支持在外部调用内部方法的机能,这个机能造就了Invoke()方法,另外为了跨语言的支持,COM应该要提供简单的组件访问识别方式,这也就是会有GetIDsOfNames()的原因,将这些方法组合起来,定义出的必要接口,称为接口,所有实现此接口的,都可以支持跨语言的支持。

微软将实现此接口的组件都称为自动化(Automation)组件。

相关技术:

COM曾是Windows平台下主要的软件开发平台,并且影响至其他许多相关软件技术。

COM+

是微软Windows 2000中,Microsoft Transaction Server的强化实现版本,除了提供基本的组件交易支持外,还提供了松散藕合式事件(loosely-coupled events)与对象共用池(object pooling)等应用程序服务器的能力,成为开始在微软平台上主要的应用程序服务器平台,目前也提供了System.EnterpriseServices以支持COM+。

Distributed COM

Distributed COM是可以在网络上通信的组件,依据(Remote Procedure Call)的规范来发展的,它将的能力扩及到网络上,但是因为网络安全以及的问题,让OM无法广泛的流行。

.NET

是新一代的应用程序。

Windows 元件

核心组件
组件对象模型
管理工具
基本应用程序
内核
服务
文件系统
服务器端
架构
安全
游戏

地理信息系统

备注:摘自百度百科http://baike.baidu.com/view/185318.htm