- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分布计算环境 邹华 赵耀 北京邮电大学网络技术研究院 2008.9 主要内容 分布式系统中的面向对象技术 开放分布式处理ODP CORBA技术 主要内容 分布式系统中的面向对象技术 开放式分布处理ODP CORBA技术 分布式系统中的面向对象技术 传统的面向对象技术 分布式系统对传统对象模型的影响 实现分布式对象模型的机制 面向对象技术 面向对象技术已在软件生存期的各个阶段取代传统的结构化方法,成为当前软件开发的主流技术。 OO的基本思想 从现实世界中客观存在的事务(即对象)出发来构造软件系统,并在系统构造中尽可能利用人类的自然思维方式。 程序 ? 对象+相互关系 重要特征:封装、数据抽象、继承和多态。面向对象的开发过程实际上是一个建模过程。强调的是复用。 先进的分布式软件体系结构必须与面向对象技术结合在一起,从而可分享面向对象技术带来的众多好处。 分布式系统对传统对象模型的影响 传统的对象与访问该对象的程序只能存在于同一进程中,客户进程不可能直接访问异地服务进程中的常规对象 传统对象的关注点:封装和通过继承对实现进行重用 封装提供了一种将对象实现细节与其它对象屏蔽开的严格方法,可以大大缓解在面向过程系统中较突出的维护问题。 继承提供了一种重用对象实现的简便方法 分布式环境要求更好的可插入性: 不太关注于直接重用代码,而是要求能够利用远程所实现的服务。 要求另一层次上的封装,即只需暴露公用接口 对象 ==〉组件 分布式对封装性的影响 在分布式对象系统中,对象不仅要屏蔽有关的算法和数据结构,还需要屏蔽“系统是分布的”这一特性,提供 分布透明性。 位置透明性:用户不必关心对象位于何处 访问透明性:可用一致的方式访问不同类型的机器上的对象 持久透明性:对象所处的状态既可以是活动的,也可以是静止的 重定位透明性:对象的位置可以变化而不影响对它的调用 迁移透明性:系统内部可以迁移对象的位置 失败透明性:屏蔽被访问对象的失败及恢复过程 (容错) 事务处理透明性:与事务处理相关的调度、监控和恢复 复制透明性:用户不知道有多少个对象副本存在 分布式对继承性的影响 问题:分布对象计算系统中都不支持跨站点的继承性,因为实现代价太大 解决:把对象分为接口和对象实现。接口由接口定义语言IDL来描述,对象实现的方式则根据具体的编程语言而定 接口:描述使用该对象的方法。由该对象所能提供的操作的说明组成 对象实现:实际构成该对象所提供的服务。它定义了与对象有关的数据的格式和用于管理这些数据的服务。 分布式对继承性的影响 分布式对象继承机制的实现:从接口继承出发 系统首先根据接口的继承关系生成接口的继承关系图,当客户请求某一个接口中所描述的某个服务时,如果系统检查到与该服务所对应的对象实现不存在时,根据接口的继承关系图,向客户返回一个能够提供该服务,并且相应的对象实现又存在的对象的访问信息 分布式对对象引用的影响 对象引用用于在系统中标识一个对象,客户可以根据它所知道的对象引用来与相应的对象建立连接,从而访问该对象 集中式系统中:对象引用由指向该对象所在的内存地址的指针来表示 分布式系统中:对象引用需要由一个较复杂的数据结构来表示。需要充分考虑到由系统的分布所带来的一些问题,如网络协议、网络地址和对象的迁移等 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) 如何获得一个对象引用 生成对象:对其他对象调用一个对象生成请求,返回这个新生成对象的对象引用 目录服务:通过调用查找服务来得到对象引用 命名服务 – 通过对象名称得到对象引用 交易服务--通过对象性质得到对象引用 字符串转换:一个应用请求ORB将一个对象引用转换成字符串并保存到文件或数据库中,以后再取出通过ORB转换回对象引用。 分布式调用:通过把相应的请求信息传递给远端对象来完成,提供位置透明性和访问透明性 分布式系统中的通用服务 (系统级服务) 接口(Interface): 接口是系统中用来定义分布式对象能力的约定。 对象引用(Object Reference) 对象引用是在客户程序的
文档评论(0)