当前位置:首页 >> 计算机软件及应用 >>

chapter3_分布式系统中的面向对象技术_图文

分布计算环境与中间件技术

Page 1

主要内容
?分布式系统中的面向对象技术 ?开放分布式处理ODP

?CORBA技术

Page 2

主要内容
?分布式系统中的面向对象技术 ?开放式分布处理ODP

?CORBA技术

Page 3

分布式系统中的面向对象技术
?传统的面向对象技术 ?分布式系统对传统对象模型的影响

?实现分布式对象模型的机制

Page 4

面向对象技术
面向对象技术已在软件生存期的各个阶段取代传统的结构 化方法,成为当前软件开发的主流技术。
? OO的基本思想 从现实世界中客观存在的事务(即对象)出发来构造软件 系统,并在系统构造中尽可能利用人类的自然思维方式。 程序 ? 对象+相互关系

? 重要特征:封装、数据抽象、继承和多态。面向对象的开 发过程实际上是一个建模过程。强调的是复用。 ? 先进的分布式软件体系结构必须与面向对象技术结合在一 起,从而可分享面向对象技术带来的众多好处。
Page 5

分布式系统对传统对象模型的影响
传统的对象与访问该对象的程序只能存在于同一进程中,客户进 程不可能直接访问异地服务进程中的常规对象

? 传统对象的关注点:封装和通过继承对实现进行重用
?封装提供了一种将对象实现细节与其它对象屏蔽开的严格方法,

可以大大缓解在面向过程系统中较突出的维护问题。
?继承提供了一种重用对象实现的简便方法

? 分布式环境要求更好的可插入性:
?不太关注于直接重用代码,而是要求能够利用远程所实现的服务。 ?要求另一层次上的封装,即只需暴露公用接口

? 对象 ==〉组件
Page 6

分布式对封装性的影响
? 在分布式对象系统中,对象不仅要屏蔽有关的算法和数据结构,还 需要屏蔽“系统是分布的”这一特性,提供 分布透明性。
?
? ?

位置透明性:用户不必关心对象位于何处
访问透明性:可用一致的方式访问不同类型的机器上的对象 持久透明性:对象所处的状态既可以是活动的,也可以是静止的

?
? ?

重定位透明性:对象的位置可以变化而不影响对它的调用
迁移透明性:系统内部可以迁移对象的位置 失败透明性:屏蔽被访问对象的失败及恢复过程 (容错)

?
?

事务处理透明性:与事务处理相关的调度、监控和恢复
复制透明性:用户不知道有多少个对象副本存在

Page 7

分布式对继承性的影响

? 问题:分布对象计算系统中都不支持跨站点的继承 性,因为实现代价太大 ? 解决:把对象分为接口和对象实现。接口由接口定 义语言IDL来描述,对象实现的方式则根据具体的 编程语言而定
? 接口:描述使用该对象的方法。由该对象所能提

供的操作的说明组成

? 对象实现:实际构成该对象所提供的服务。它定

义了与对象有关的数据的格式和用于管理这些数 据的服务。
Page 8

分布式对继承性的影响

? 分布式对象继承机制的实现:从接口继承出发

系统首先根据接口的继承关系生成接口的继承关系 图,当客户请求某一个接口中所描述的某个服务时, 如果系统检查到与该服务所对应的对象实现不存在 时,根据接口的继承关系图,向客户返回一个能够 提供该服务,并且相应的对象实现又存在的对象的 访问信息

Page 9

分布式对对象引用的影响
? 对象引用用于在系统中标识一个对象,客户可以根据它 所知道的对象引用来与相应的对象建立连接,从而访问 该对象 ? 集中式系统中:对象引用由指向该对象所在的内存地址 的指针来表示 ? 分布式系统中:对象引用需要由一个较复杂的数据结构 来表示。需要充分考虑到由系统的分布所带来的一些问 题,如网络协议、网络地址和对象的迁移等

Page 10

a Remote object reference may be
32 bits 32 bits 32 bits 32 bits

Internet address

port number

time

object number

interface of remote object

? a remote object reference must be unique in the distributed system. ? the first two fields locate the object unless migration or re-activation in a new process can happen ? the fourth field identifies the object within the process ? its interface tells the receiver what methods it has (e.g. class Method)

Page 11

如何获得一个对象引用
1. 生成对象:对其他对象调用一个对象生成请求,返回 这个新生成对象的对象引用 2. 目录服务:通过调用查找服务来得到对象引用
? ?

命名服务 – 通过对象名称得到对象引用 交易服务--通过对象性质得到对象引用

3. 字符串转换:一个应用请求ORB将一个对象引用转换 成字符串并保存到文件或数据库中,以后再取出通过 ORB转换回对象引用。
Page 12

实现分布式对象模型的机制

?分布式调用:通过把相应的请求信息传递 给远端对象来完成,提供位置透明性和访 问透明性 ?分布式系统中的通用服务 (系统级服务)

Page 13

面向对象的分布式调用相关概念
? 接口(Interface):
接口是系统中用来定义分布式对象能力的约定。

? 对象引用(Object Reference)
对象引用是在客户程序的编程语言或脚本环境内用来引用分布式 对象的实例。对象引用不同于OO中的对象指针概念

? 对象创建(Object Creation)
分布式对象系统必须为创建一个新的分布式对象实例提供一种机 制。工厂(factory)是一种特殊的分布式对象类型,常用来创建 其它的分布式对象。
Page 14

面向对象的分布式调用相关概念(续) ? 对象调用(Object Invocation)
分布式对象系统必须为分布式对象的调用提供一种机制

? 对象撤销(Object Destruction)
分布式对象系统必须提供一种机制,一旦一个分布式对象的 实例不再被使用,就必须及时的将它从系统中删除。
? COM提供了分布式引用计数和垃圾回收方法

? CORBA没有对此提供系统级支持
? EJB明确定义了各种Bean的生命周期管理策略 ? Web Service没有对此提供系统级支持。
Page 15

分布式系统中的系统级服务
? 除了通信协议外,分布式系统还会用到一些可能很复杂,但 又会经常重复使用的服务。

如安全性管理、事务处理等。
? 一个平台或体系结构所显式提供的服务越多,开发者就越容 易在更短的时间内开发出高质量的分布式系统。 ? 有了平台提供的服务,开发者可以将更多的精力集中于系统 的商业逻辑(如EJB) ? 可通过交易功能提供通用服务。 e.g. 事务处理服务、时钟服务、管理服务、定时服务、安全 服务,email 服务 …
Page 16

常见的服务(1)
? 命名服务(Naming) 在分布式系统中,命名服务提供了一种定位分布式对象的机制。 ? 监视(Monitoring) 监视服务不仅可以监视系统的运行状态,而且当需要操作人员参 与时可以发出警告信息。 ? 许可(Licensing) 许可服务用于确认分布式系统的用户已经购买了适当的使用许可。

? 持久性(Persistence)
持久性服务提供一种统一的机制,使得分布式对象可以通过持久 的数据存储来保存、更新和恢复它的状态
Page 17

常见的服务(2)
? 安全性(Security) 安全性服务确保于分布式对象的通信是安全的,并确认相应 的用户具有适当的权限。 ? 事务(Transaction) 事务服务能够确保一个事务或者完全完成,或者完全放弃。 在企业系统中,事务定义了工作的原子级(atomic)单元。 分布式事务处理就是一个跨越多台计算机的单个工作单元。 ? 消息处理(Messaging) 消息处理服务提供异步编程模式。异步模式在很多应用中都 需要。
Page 18

常见的服务(3)
? 分布式垃圾回收(Distributed garbage collection) 当一个程序不再使用分布式对象时,分布式垃圾回收服务会 自动释放分布式对象所占用的存储单元。 ? 资源管理(Resource Management)

一般来说,资源管理器按照使可伸缩性最大化的方式来管理 分布式对象,即支持大量的客户程序同分布式对象在短时间 内进行交互的能力。

Page 19

分布对象技术三大流派
? OMG 的 CORBA:Common Object Request Broker Architecture ? 微软的COM / DCOM:(Distributed) Component Object Model (在Internet 上, .NET 框架, 基于XML 的Web Service) ? SUN的 EJB / J2EE

Page 20

小结
? 分布对象技术的实质性进步:
? ?

使面向对象技术能够在异构的网络环境中得以全面,彻底,方便的实施 有效地控制系统的开发,管理,维护的复杂性

? 分布式对象技术的新进展
将分布对象计算与Web 以及嵌入式移动计算结合在一起,以及与 中间件(如交易中间件、通讯中间件等)的结合。 e.g. 微软的.NET框架及Web Service

? 新的研究热点:普适计算(普遍计算)、移动计算、网格计算 等

Page 21


相关文章:
chapter2_分布式系统中的面向对象技术_图文.ppt
chapter2_分布式系统中的面向对象技术 - 分布计算环境 邹华 北京邮电大
chapter3_面向对象的分布计算环境3CORBA全解_图文.ppt
chapter3_面向对象的分布计算环境3CORBA全解_幼儿读物_幼儿教育_教育专区。...分布式系统中的面向对象技术 ?开放式分布处理ODP ?CORBA技术:Common Object ...
chapter3_面向对象的分布计算环境3CORBA资料_图文.ppt
chapter3_面向对象的分布计算环境3CORBA资料_中职中专_职业教育_教育专区。chapter...分布式系统中的面向对象技术 ?开放式分布处理ODP ?CORBA技术:Common Object ...
分布式系统中的面向对象技术_图文.ppt
CORBA技术 Beijing University of Posts and Telecommunications Page 3 分布式系统中的面向对象技术 ?传统的面向对象技术 ?分布式系统对传统对象模型的影响 ?实现分布式...
分布式系统Chapter 3_图文.ppt
分布式系统Chapter 3_工学_高等教育_教育专区。...Parameter Passing 如果引用指向本地对象,则被...如TCP/IP连接的面向字节的离散数据流和面向播放...
Chapter3分布式程序设计语言_图文.ppt
Chapter3分布式程序设计语言_计算机软件及应用_IT/计算机_专业资料。文档均来自...? 对象并行:面向对象语言中的并行性可以用两种方法获得。 Smalltalk-80包含传统...
CHAPTER 3 分布式程序设计语言_图文.ppt
CHAPTER 3 分布式程序设计语言_社会民生_生活休闲。CHAPTER 3 第三章 分布式程序...? 对象并行:面向对象语言中的并行性可以用两种方法获得。 Smalltalk-80包含传统...
面向对象分析与设计chapter3_图文.ppt
面向对象分析与设计chapter3 - 第6章 类与对象的构造设计 ? 本章的学习目的 与人们认识客观世界一样,面向对象技术认 为客观世界是由各种各样的实体组成,每个...
面向对象的设计与分析课件chapter3_图文.ppt
面向对象的设计与分析课件chapter3 - 第6章 类与对象的构造设计 ? 本章的学习目的 与人们认识客观世界一样,面向对象技术认 为客观世界是由各种各样的实体组成,...
chapter2_ODP解析_图文.ppt
分布式系统中的面向对象技术 ? 开放式分布处理ODP ? CORBA技术 Beijing University of Posts and Telecommunications Page 3 开放式分布处理 ? ODP概述 ? ODP的视点...
面向对象的程序设计chapter3_图文.ppt
面向对象的程序设计chapter3_工学_高等教育_教育专区。第3章 类和对象 1 主要...chapter3_分布式系统中的... 21页 1下载券 西安石油大学大二(上)C+......
chapter02 面向对象技术-suxh2010_图文.ppt
chapter02 面向对象技术-suxh2010 - 第2章 面向对象技术与UML ?2.1 ?2.2 ?2.3 ?2.4 过程 面向对象技术概述 面向对象的分析 面向对象的设计 基于UML的...
新能源及分布式发电技术chapter3_图文.ppt
新能源及分布式发电技术chapter3_能源/化工_工程科技_专业资料。目录 1 2 3 ...新能源及分布式发电技术 一、并网型风电系统风机的空气动力学特性式中: ? 风机...
操作系统chapter3_图文.ppt
操作系统chapter3_工学_高等教育_教育专区。操作系统...(分布式系统)分布式系统是一组不共享内存、外设和...模块许多现代操作系统实现内核模式用面向对象的方法 ...
chapter02_面向对象技术与UML_图文.ppt
chapter02_面向对象技术与UML - 第2章 面向对象技术与UML ?2.1 ?2.2 ?2.3 ?2.4 面向对象技术概述 面向对象的分析 面向对象的设计 基于UML的面向对象分析、...
OS_Chapter3_2010_图文.ppt
OS_Chapter3_2010_工学_高等教育_教育专区。操作...适用于分布式系统。 My Email:wangpan@qq.com : ...面向对象技术 等集成在一起, 等集成在一起,形成一...
面向对象技术_图文.ppt
数据抽象提供了面向对象计算的起点:系统应 该被分解为概念上的实体,实体的内部...(3/10) 32 Institute of Computer Software Nanjing University 2018/11/21 ...
第九章1-5分布式对象体系_图文.ppt
系统管理问题 3. 系统安全的问题 4. 传统的面向过程的技术在开发大型软件系统的局 限性 ? 面向对象技术用于分布式(分布对象技术)标志第 二代分布式计算技术进入...
Chapter3分布式程序设计语言_图文.ppt
逻辑语言和面向对象语言。 2012-3-22 5 第分布式程序设计语言 按通信...容错模型和技术故障的处理模型: 故障的处理模型: 系统对程序员隐匿全部处理机...
面向对象技术_图文.ppt
面向对象分析与设计方法(3) ? OMT (Object Modeling Technique)方法 OMT定义了3种模型(对象模型、动态模型和功能模型)和4 个步骤(分析、系统设计、对象设计和实现...