网站大量收购闲置独家精品文档,联系QQ:2885784924

chapter3_面向对象的分布计算环境3CORBA解析.ppt

chapter3_面向对象的分布计算环境3CORBA解析.ppt

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chapter3_面向对象的分布计算环境3CORBA解析

* * * * * * * * 客户通过发送请求使用对象实现所提供的服务。具体实现过程中,客户可以使用静态IDL Stub接口,也可以使用动态调用接口。有时,为了调用某些特殊的功能,客户可能需要与ORB进行直接交互。 对象实现要么通过OMG IDL产生的Skeleton,要么通过动态程序框架接受请求。在处理请求或其他任何时候,都可以调用对象适配器和ORB提供的API。 客户通过访问对象的对象引用、了解对象的类型以及所需执行的操作的基础上执行客户请求。 ORB通过Skeleton或动态程序框架来定位相应的实现代码,传送参数,以及对对象实现的传送控制。 ORB接口是是直接面对ORB的接口,不依赖与对象接口或对象适配器。ORB的大多数功能都是通过对象适配器、Stub和Skeleton来提供的,因此,只有少数是由ORB接口来提供。ORB接口提供的功能对客户和服务对象来说,都是可用的。 * * * POA的行为通过策略来决定,策略根据如伺服对象的激活,伺服对象的生命期限,ID管理和线程分配等来定义POA的行为。 * 客户通过发送请求使用对象实现所提供的服务。具体实现过程中,客户可以使用静态IDL Stub接口,也可以使用动态调用接口。有时,为了调用某些特殊的功能,客户可能需要与ORB进行直接交互。 对象实现要么通过OMG IDL产生的Skeleton,要么通过动态程序框架接受请求。在处理请求或其他任何时候,都可以调用对象适配器和ORB提供的API。 客户通过访问对象的对象引用、了解对象的类型以及所需执行的操作的基础上执行客户请求。 ORB通过Skeleton或动态程序框架来定位相应的实现代码,传送参数,以及对对象实现的传送控制。 * * * * * * 命名服务属于CORBA基本服务之一。CORBA对象是通过一个引用访问的。尽管引用信息用我们的眼睛来看没什么意义,但可为引用分配由程序员定义的字串名。这一操作叫作“引用的字串化”。“命名服务”(Naming Service)专门用于执行“字串到对象”以及“对象到字串”转换及映射。由于命名服务扮演了服务器和客户都能查询和操作的一个电话本的角色,所以它作为一个独立的进程运行。创建“对象到字串”映射的过程叫作“绑定一个对象”;删除映射关系的过程叫作“取消绑定”;而让对象引用传递桓鲎执墓探凶“解析名称”。 比如在启动的时候,服务器应用可创建一个服务器对象,将对象同命名服务绑定起来,然后等候客户发出请求。客户首先获得一个服务器引用,解析出字串名,然后通过引用发出对服务器的调用。 同样地,“命名服务”规范也属于CORBA的一部分,但实现它的应用程序是由ORB厂商(开发商)提供的。由于厂商不同,我们访问命名服务的方式也可能有所区别。 * 联邦命名层次:命名上下文实际上可能在另一个命名服务进程中实现。它允许用户提供对对象的全局访问,而又保持对这些本地对象的本地控制。 * * * * * * GIOP消息提供了对对象定位和迁移的支持。且直接支持CORBA所需的全部功能和行为,如异常报告、传递操作上下文和远程对象引用操作。 * * * * * * 基本开发过程: 1. 定义IDL 。对于系统中需要利用ORB进行交互的对象,首先应将其对外呈现的接口进行定义。 2. 将IDL映射为具体语言的Stub/Skeleton. IDL是独立于具体编程语言的,而应用程序则是一定要用具体语言完成的。因此,必须将IDL进行映射,产生由具体语言表示的接口,以供调用。 3. 编写实现具体服务功能的代码。ORB提供的仅是对象间互操作的支持,至于对象的功能,则必须由编程人员实现。 4. 编译,连接,产生服务器程序。 5. 编写调用具体服务功能的代码。与(3)类似,客户如何调用服务的过程由编程人员实现。 6. 编译,连接,产生客户程序。 * * *.java:直接由grid.idl中的interface grid 映射而来。 _*stun.java:实现了客户方的set()和get()等方法,它们封装了ORB的功能,截取客户的调用,执行Marshaling/Unmarshing等操作,最终得到调用结果。也就是说,在客户方声明一个*类型的对象,实际上使用*Helper操作得到的是一个_*Stub类型的实例,调用grid上的方法实际上是调用_*Stub上的方法。 *Helper.java:帮助客户方生成一个_gridStub类型的实例,同时得到服务器对象的引用。 *Operations.java:这个接口实际上是Server使用的。当客户方需要使用callback功能时,也需要这个接口。 *POA.java: Server方的Implementation代码直接继承自这个类。 *Holder.j

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档