第五章编写服务端程序.ppt.ppt

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

第五章 编写服务端程序;Agenda;5.1 可移植对象适配器;5.1.1 CORBA对象与伺服对象 ;CORBA对象与伺服对象 ;CORBA对象与伺服对象 ;;5.1.3 对象适配器;对象适配器;可移植对象适配器;POA;1 POA体系结构;2客户请求的传递过程;;;客户请求的传递;对象关键码;3 POA层次 一个服务程序进程中可使用多个POA,不同POA以名字区分。这些POA的集合呈现一种层次结构,即每个POA都有一个父POA,所有POA都是根POA的后代。每个ORB在创建时都自动带有一个根POA,可根据需要从根POA创建其他子POA。 POA层次为服务程序中的对象标识提供了一个层次化的名字空间。通常每个伺服对象最多仅与一个POA相关联,POA“拥有”这些对象并负责删除这些对象,当POA被删除时其中的所有对象以及子POA也将被删除。;4 POA管理器 POA管理器(POA Manager)是一个对象,它将一个或多个POA组织在一起,为其中的POA提供共同的操作,POA管理器的状态代表了它所管理的所有POA的状态。 例如开发人员可通过POA管理器提供的操作决定是否接收或丢弃POA的请求,也可利用POA管理器终止POA。 ;;6 伺服对象管理器 伺服对象管理器(servant manager)是程序员自己提供的代码,用于取代POA活动对象映射表的功能。如果应用程序需要以一种更复杂的方案将对象标识映射到伺服对象,这时开发人员可设计专用的伺服对象管理器。伺服对象管理器负责决定一个CORBA对象是否存在,然后查找伺服对象并将伺服对象指派给CORBA对象。 为满足不同的应用需要,开发人员可设计多个伺服对象管理器。有两类伺服对象管理器可供选择:伺服对象激活器和伺服对象定位器,开发人员可利用POA策略决定选用哪一种类型。 ;2.1.5 POA接口;POA接口;POA接口;POA接口;5.2 设计POA策略;5.1.1 什么是POA策略? ;5.2.2 选用POA策略 ;选用POA策略;选用POA策略;选用POA策略;选用POA策略;选用POA策略;选用POA策略;5.2.3 组合使用POA策略;5.2.4 请求的处理过程;5.3 使用POA;使用POA;5.3.0 初始化ORB;5.3.1 获取根POA的对象引用;5.3.2 创建自定义策略的POA;;5.3.3 使用POA管理器;;使用POA管理器;使用POA管理器;使用POA管理器;使用POA管理器;5.3.4 激活与冻结对象;显式激活;隐式激活;按需激活对象;冻结对象;为什么要有伺服对象管理器,??接通过活动对象映射表就可以了?;5.4 伺服对象管理器 ;5.4.1 伺服对象激活器 ;POA首先查找活动对象映射表;伺服对象激活器 ;伺服对象激活器 ;服务器使用伺服激活器;// 客户端的主程序;结果 ;5.4.2 伺服对象定位器 ;伺服对象定位器 ;;。。。 POA newPOA = rootPOA.create_POA(SLPOA, rootPOA.the_POAManager(), policies); // 创建伺服对象定位器并注册到POA ServantLocator sl = new AccountManagerLocator()._this(orb); newPOA.set_servant_manager(sl); // 创建两个不同对象标识的对象引用 newPOA.create_reference_with_id(Zhang3.getBytes(), IDL:Bank/AccountManager:1.0); newPOA.create_reference_with_id(Li4.getBytes(), IDL:Bank/AccountManager:1.0); // 激活POA管理器等待接入请求 rootPOA.the_POAManager().activate(); System.out.println(账户管理员Zhang3和Li4已就绪 ...); orb.run(); } catch(Exception exc) { exc.printStackTrace(); ;// 客户端的主程序 ;5。5 适配器激活器;5.6 纽带机制;对象实现的途径;《interface》 org.omg.CORBA.Object

您可能关注的文档

文档评论(0)

170****0532 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8015033021000003

1亿VIP精品文档

相关文档