第十二章基于对象的分布式系统.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十二章 基于对象的分布式系统 12.3 DCOM COM和DCOM 为了支持千变万化的复合文档,Microsoft需要一种通用的方法来区分文档的不同部分并且能够将它们粘合在一起。这就导致了OLE的出现,OLE代表对象连接和嵌入(Object Linking and Embedding)。 ActiveX覆盖了OLE的所有内容并增加了一些新的特点。这些新特征包括能够在不同的进程中灵活地启动组件,支持脚本,将对象分组(分组被称为ActiveX控制)。 第十二章 基于对象的分布式系统 12.3 DCOM COM和DCOM 第十二章 基于对象的分布式系统 12.3 DCOM DCOM的对象模型 同所有的其他基于对象的分布式系统一样,DCOM采用的是远程对象模型。 DCOM对象模型的中心问题是其接口的实现,一个对象可以同时实现多个接口。同CORBA所不同的是,DCOM中对象的接口都是二进制接口。 在CORBA的情况下,每当需要支持另外一种程序设计语言,那么从IDL说明到该语言的映射就需要进行标准化。在二进制接口的情况下,这种标准化是不需要的。 同CORBA对象模型的一个重要区别是,在DCOM中,所有对象都是暂时性的。 DCOM也支持动态地对象调用。 第十二章 基于对象的分布式系统 12.3 DCOM 第十二章 基于对象的分布式系统 12.3 DCOM DCOM的类型库和注册 DCOM的类型库和CORBA中的接口库相同。一个类型库一般对应一个应用程序或者由不同类对象组成的一个较大的组件。 DCOM使用了Windows的注册机制,该机制和一个被称为服务控制管理员SCM(Service Control Manager)的特殊进程结合在一起。注册用来记录一个对象标识符CLSID到一个本地文件名的映射,该文件包含了对应的类的实现。 当一个对象要在一个远程机上执行时,顾客需要和那个主机上的SCM联系,SCM负责激活对象,这和CORBA中的实现库类似。远程机上的SCM浏览它自己的本地注册查找和指定的CLSID对应的库文件,然后启动一个进程,要执行的对象驻留在这个进程中。 * * 第十二章 基于对象的分布式系统 12.1 分布式对象 对象的概念 对象是一个抽象体,它将相关的服务和数据封装在一起。对象服务以函数的形式提供,是对数据进行的操作,被称为对象的方法(method)。对象里的数据也被称为状态(state)。 第十二章 基于对象的分布式系统 12.1 分布式对象 对象的概念 对象的接口和对象对接口的实现 : 通过对象的接口调用对象的方法,从而可对对象的状态进行访问或操作,除此之外,无任何对对象的状态进行访问和操作的合法手段。一个对象可以实现多个接口;同样,给定一个接口的定义,多个对象可能对这一定义提供实现。接口和对象对接口的实现是独立的 。 分布式对象: 在一个机器上设置一个接口,而对象本身驻留在另一个机器上,这通常被称为分布式对象。 第十二章 基于对象的分布式系统 12.1 分布式对象 对象的概念 第十二章 基于对象的分布式系统 12.1 分布式对象 对象的类型 编译时对象和运行时对象: 编译时对象(compile-time object)。在这种情况下,一个对象是程序所定义的类(class)的一个实例,一个类是一个模块的抽象描述,这个模块由一组数据元素和对这些数据的一组操作组成; 另外一种对象是在运行时通过明确的方式构建的,称为运行时对象(runtime object)。由于运行时对象不依赖于分布式应用程序是使用什么语言编写的,所以这种方法在许多基于对象的分布式系统中得到采用。特别是,一个应用程序可以使用由多种语言编写的对象来实现。 第十二章 基于对象的分布式系统 12.1 分布式对象 对象的类型 运行时对象的实现 通常的方法是使用一个对象适配器(object adapter),它的主要作用是将用户编写的程序包装成具有对象的外观。对象适配器允许将一个接口转变成顾客所希望的形式和功能。例如一个适配器可以将上面所描述C库函数动态地和一个对象结合(bind)并打开一个对应的文件作为该对象的当前状态。 对象适配器在基于对象的分布式系统中具有重要的作用。为了使包装尽量容易,一个对象由它所实现的接口进行定义。实现的接口在适配器中进行注册,然后这个接口对远程请求来说就是可用的。适配器监视着所发出的对对象的调用请求,给顾客提供一个远程对象的映像。 第十二章 基于对象的分布式系统 12.1 分布式对象 对象的类型 持久性对象和暂时性对象 : 一个持久性对象是一个持续存在的对象,即使是在当前它并不包含在一个服务员进程的地址空间中,它仍然是存在的。也就是说,一个持久性对象并不依赖于它当前

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档