可移植对象适配器.ppt

可移植对象适配器.ppt

ID:52446031

大小:247.00 KB

页数:57页

时间:2020-04-07

可移植对象适配器.ppt_第1页
可移植对象适配器.ppt_第2页
可移植对象适配器.ppt_第3页
可移植对象适配器.ppt_第4页
可移植对象适配器.ppt_第5页
资源描述:

《可移植对象适配器.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、可移植对象适配器11.2简介POA技术提供的最基本地服务是:对象创建、伺服程序注册以及请求的调度。POA提供了一整套特性和服务,可以利用它来编写可扩缩的、高性能的服务器应用程序,它在合理控制资源请求方面起着重要的作用。11.3POA基本原理在一个服务器应用程序中,POA负责创建对象、激活对象以及将对各个对象的请求调度到它们各自的伺服程序上,通过POA,CORBA对象完成了编程语言所提供的伺服程序的相互对应关系。当一个对象处于激活状态时,该对象就可以接收并执行请求。当对象得到一个请求后,该对象必须由伺服程序进行具体化,或给它以具体形式。一个给定对象仅由一个单个的伺服程序在给定点及时进行具

2、体化,但超时以后,可以创建许多伺服程序实例来具体化一个CORBA对象。最后每一个伺服程序释放后就结束了它与相对应的CORBA对象之间的连接。具体化和释放是应用于伺服程序的,创建和撤消是应用于CORBA对象的。11.3.1基本的请求调度基本调度如下:(1)首先,服务器应用程序以某种方式为CORBA对象导出一个对象引用。客户机可能通过命名服务或者交易服务或者从另一个请求接收它来获得导出的对象引用。对象引用从逻辑上“指向”目标CORBA对象,像C++指针指向它底层的C++对象一样。(2)其次,在应用程序的控制下,客户程序ORB使用对象引用来决定对象驻留在何处和如何访问它,然后它向服务器ORB

3、发送请求。(3)再次,服务器ORB接收请求并将其调度给拥有该目标对象的POA。(4)最后,POA通过调用具体化该目标对象的伺服程序来继续执行该调度。11.3.2关键的POA实体有三种关键实体涉及到POA对象引用POA负责创建对象引用。对象标识符在POA主机的作用域内,每一个对象通过调用一个octet序列的对象标识符进行识别。当POA创建一个新的CORBA对象时,典型情况是,它就将对象标识符嵌入在对象引用的对象密钥部分。伺服程序应用程序直接通过POA可以创建并注册伺服程序来具体化对象。同样,应用程序可以向POA提供伺服程序管理器对象,当需要执行一个请求时,POA就能创建伺服程序。应用程序

4、甚至可以提供一个默认的伺服程序。与POA策略有关,在任何给定的时间,单个的伺服程序可以用POA注册来具体化一个和多个的CORBA对象。POA通过目标对象的对象标识符与合适的伺服程序之间的映射来调度请求。一个伺服程序也可以通过对_this调用隐式创建一个新的CORBA对象,并为其注册一个伺服程序。11.4POA策略POA规范的关键特性就是一个应用程序可以包含多个POA实例。每一个POA实例代表具有相似性能的一组对象。这些性能通过POA创建时所指定的POA策略来控制。所有应用程序至少有一个POA,也就是RootPOA,它具有标准的策略集。策略是用来定义POA性能的对象,该对象在策略内部创建

5、。向POA和POAManager接口一样,CORBA规范指出,在标准的PortableServer模块中定义POA策略接口。像所有的策略接口一样,POA策略类从CORBA::Policy接口派生出来。POA策略Policy接口及相关的类型提供的管理操作(1)通过基本的Policy接口,利用policy_type只读属性可以确定策略的实际派生类型。PolicyType是由OMG控制的一个标志值,这样可以确保所有的标准接口都有一个唯一的标志(2)copy操作可以克隆(clone)一个Policy对象。返回的引用指向目标Policy对象的一个全新的拷贝。(3)destory操作用来撤消目标P

6、olicy对象。(4)PoicyList用来将指向各种派生Policy对象的引用分组来形成策略集。POA创建操作接收一个PolicyList类型的参数,这个参数可以将策略设置成新的POA。策略对象是局部约束对象。也就是任何试图将它们的引用作为参数传递给标准的CORBA操作或通过ORB::object_to_string将它们转换成字符串的操作都将产生CORBA::MARCHAL异常。11.4.1CORBA对象生存期范围假如一个客户程序向一个当前没有运行或没有激活的目标对象发出一个请求,如果必要的话,ORB工具就会为该对象激活一个服务器进程,然后激活对象本身。服务器进程和目标对象的任何激

7、活对发出请求的客户来说都是透明的。持久对象:生存期超过创建或激活它们的某一特定进程的CORBA对象。除了持久对象外,其它的对象的生命周期由进程的生命周期甚至于创建它们的对象适配器来决定。11.4.2对象标识符POA通过它的对象标识符识别每一个对象。对象标识符被赋值为ObjectId类型,这个类型在PortableServer模块中定义为octet的一个序列。一个程序可以显式的提供自己的对象标识符,也可以让POA为它创建对象标识符。对象标识符和对

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。