分布对象技术综述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DCOM是微软的组件对象模型COM的一个扩增版,而COM是ActiveX的 基础技术。COM和DCOM最大的不同在于COM组件是运行在单机上,而 DCOM组件则是分布在网络上。尽管DCOM 在非Windows平台上也可以 使用,但会受到很多限制,因此它更适用于Windows 环境。
13
组件对象模型COM
2
分布式对象技术概述
随着系统复杂性的迅速增加, 尤其是在面向网络环境下的系统开发,类的 重用性并没有充分体现它的优点。 因而,在面向对象技术的基础上,结合 系统的分布特性, 人们引入了分布式对象思想,用以解决分布式计算问题, 从而产生了分布式对象技术。 分布式对象技术主要是在分布式异构环境下建立应用系统框架和对象组件, 在应用系统框架的支撑下,开发者可以将软件功能包装为更易管理和使用的 对象,这些对象可以跨越不同的软硬件平台进行互操作。 分布式对象技术是分布式计算技术(DOC) 与面向对象技术的融合。 它是分布的。随着系统的复杂性的增强,系统越来越趋向于分布。分布式对 象技术能很好的将硬件平台与操作系统的差异对具体的应用进行屏蔽,使得 应用不必关心底层协议的实现而只专注于与自身逻辑相关的开发。 它是面向对象的。网络资源与应用服务都被抽象或封装为对象,所有的网络 资源都被抽象为被管对象(managed object)。
10
CORBA优势
CORBA将面向对象技术与客户/服务器计算模式结合起来,有效地解决了 对象封装和分布式计算环境中资源共享、代码可重用、可移植及应用间的互 操作性等问题,实现了异构平台间对象的互操作,从而能实现真正的跨平台。 它采用连接式基础对象模型,底层网络通讯采用socket 机制,此外还提供 了分布和组装构件的方法,因此也可以看作是一种构件集成模型。
3
分布式对象技术概述
在分布式对象技术中分布对象往往又被称为组件(Component),组件是 一些独立的代码的封装体,在分布环境下可以是一个简单的对象,但大多数 情况下是一组相关的对象复合体,提供一定的服务。 分布式对象的封装的内涵更丰富,使之能提供分布透明性,以屏蔽实现服务 的细节。
分布式系统中实现对象继承的难度非常大,即使能够实现,所需连接代价也 太高。
14
DCOM和CORBA相似之处
都采用面向对象的方法,将所有应用看作一个对象 都为分布式对象定义了接口并使用IDL描述 都通过RPC支持动态和静态的对象间通信,底层都有ORB支持 都支持动态和静态两种对象调用 都支持多线程服务
15
CORBA和DCOM的不同
接口实现: 在CORBA下,不管哪种调用方法,实现接口是一样的;而 DCOM则提供了两种接口,不同的调用方法需要不同的接口来实现 性能监控、负载平衡或容错功能:DCOM没有提供自动的容错和负载平衡 服务。CORBA对象事务服务目标类似,具有事务处理回滚和负载平衡功能 为了保证应用之间进行可靠的消息通讯和管理 开发环境:与微软的DCOM不同,大多数ORB公司除了IDL编译程序外没有 提供创建CORBA组件的工具,编译程序是与ORB一起提供的,一般要使用与 ORB具有相同编程语言的第三方开发工具。 安全性:DCOM采用的是Windows NT的安全体制而自己没有提供。 CORBA的安全规范提供了比DCOM更加完善的安全模型。
对象组件不仅提供对象之间的链接,还提供所有对象都有用的核心服务集
5
CORBA背景介绍
CORBA规范的设计目标
CORBA允许在不同对象间尽可能透明地传递请求 CORBA具有平台无关性 CORBA具有编程语言无关性
6
CORBA背景介绍
对象请求代理ORB(Object Request Broker)主要负责实现客户机和对象之 间的通信。它定义了异构环境下对象透明地发送请求和接收响应的基本机制, 是构造分布式对象应用,使应用在不同层次的异构环境下互操作的基础。 ORB屏蔽了对象位置,对象实现,对象的执行状态,对象通信机制,数据 表示等。 可以通过以下四种类型的接口使用ORB:对象服务、公共设施、领域接口 和应用对象
分布对象技术综述
主讲人:田心宁
OUTLINE
分布对象的概念与意义
பைடு நூலகம்
CORBA
DCOM RMI
1
分布式对象技术概述
传统的面向对象技术
用继承的概念表达对象抽象之间的层次关系 运用抽象的思想来处理复杂多变的系统 封装是将对象的数据和操作合为一个独立实体,使之具有完备性和封闭性 多态是指同一操作可以是多个不同的类的行为
COM(Component Object Model)是微软的组件软件方案,它是为 组件的互操作而定义的二进制组件模型。 COM规定了对象模型和编程要求,使COM对象可以与其他对象相互操 作。这些对象可以用不同的语言实现,其结构也可以不同。
COM实现了OLE对象之间的底层通信工作,是一种底层的组件软件结 构,其作用类似于CORBA/ORB。OLE 是在客户应用程序间传输和共享 信息的一组综合标准。 COM提供的机制有:组件之间的通信;差错和状态报告;组件的动态 加载
11
CORBA标准的不足
标准CORBA并未真正解决分布对象计算的复杂性问题,像容错、死锁等问 题。
缺乏实时特性,特别是对异步通信的有效支持
当前的CORBA实现还缺乏对大数据量传输的有效支持 当前的CORBA缺乏性能优化及防御机制
12
DCOM分布式对象处理技术
DCOM作为微软的分布式计算策略,是在开放性软件DEC远程过程调用协 议的基础上开发的。
好 好 好 好 好 好 好 好 一 好 般

一 般
一 般
一 般 好
好 一 好 一 一 一 一 一 一 一 一 般 般 般 般 般 般 般 般 般 好 好 一 一 好 好 好 一 一 好 一 般 般 般 般 般
一 一 般 般 一 一 般 般

19
Reference
胡新荣. 分布式对象技术的研究[J]. 武汉科技学院学报, 2002, 15(3): 69-72. 范跃华, 刘白林. 分布式对象软件体系结构[J]. 西安工业学院学报, 2002, 22(1): 35-38. 李刚, 金茂忠. 分布式对象综述[J]. 小型微型计算机系统, 2001, 22(1): 100103. 李红宇, 王秀珍. 分布式对象技术应用探讨[J]. 现代计算机 (专业版), 2007 (1).
三种分布对象技术的比较
集 成 性 可 扩 展 性 可 支 支 网 用 持 持 络 性 跨 跨 通 平 平 讯 台 台 语 操 言 作 操 作 公 共 服 务 组 件 事 务 处 理 消 息 服 务 安 全 服 务 目 录 服 务 容 产 错 品 性 成 熟 度 软 件 商 支 持 度
CORBA/ORB DCOM/ActiveX RMI
8
CORBA系统基本组成
CORBA规范主要是为ORB制定的规范。它们详细说明了OMA中 ORB组件的特性和接口。
CORBA的核心思想是采用标准的接口定义语言将软件接口与软件实 现部分相分离。为了以统一的方式来描述对象接口,引进了接口定义 语言IDL及其映射。
9
CORBA交互基本过程
CORBA通过对象系统为客户提供服务,对象间的交互通过ORB传递。对于 一个交互来说有客户方和服务方之分,在CORBA中称为客户(Client)和 对象实现(Object Implementation)。 客户通过构造一个请求(Request)来要求得到服务,与请求相关的信息包 括操作、目标对象、零或多个参数,以及请求上下文(可选)。对象实现使用 接口来描述对它执行的操作。ORB将请求交付给目标对象并返回响应给发 出请求的客户。
分布式环境中接口和对象实现往往被严格分开,接口由接口定义语言IDL描述, 对象实现的方式则根据具体的编程语言而定
4
对象总线
对象总线是基本的中间件,它允许成千上万能够理解接口定义语言(IDL) 的对象相互发生作用。
这种作用对对象来说是完全透明的,对象总线把组件和框架的能力扩展到网 络和它的伙伴应用程序,它使成千上万的软件单元由不同操作系统、语言、 平台和编译工具组成的环境下无缝的交互操作。
7
CORBA背景介绍
对象服务是为使用和实现对象而提供的基本服务集合,这些服务独立于应用 领域,是分布对象程序使用的与领域无关的接口。它将(分布式)应用软件 的开发中的基本服务和功能标准化,从而实现它们的可重用性,以降低开发 的代价。 领域接口所完成的任务与对象服务和公共设施类似,但面向特定应用领域。 例如,PDME (Product Data Management Enabler)是OMG发布的最早 的领域RFP之一,用于解决制造领域中的问题。
17
CORBA与RMI的比较
程序设计语言无关性是CORBA的重要设计原则,而Java/RMI 依赖于Java语言和Java虚拟机; JavaRMI技术的最大成就是使对象能够在Internet上迁移和执 行,而CORBA2.0标准中只考虑对象的远程访问,没有对象作 为"值"传递的承诺。
18
16
JavaRMI——远程方法调用
RMI (Remote Methods Invocation) 是Java语言提供的远程 方法调用系统,相对于CORBA而言,RMI对象模式不具备语言 中立特性,灵活简洁,易于实现。 RMI是基于Java虚拟机的纯Java技术,其跨平台性和网络特 性强. 且可免费下载相关资料,因此,具有很强的实用性。
谢谢!
相关文档
最新文档