ORBA.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CORBA

CORBA运行机制 ORB的运行机制 对于某个客户,它要求获得某个对象实现的服务前提是该对象在ORB登记过,登记信息放在接口仓库和实现仓库中,然后顾客做以下步骤: 1客户获得特定对象实现的对象引用 2如果该对象实现以静态方式实现,提供IDL静态存根和骨架,则客户通过IDL存根向对象发出请求,否则请求将发给ORB提供的动态调用接口,ORB将根据对象实现在接口库和实现库中的信息将请求传递给对象实现。 3请求到达ORB内部后,ORB内核在对它做了一定的处理后将其传送给对象实现登记的对象适配器。 4对象适配器得到请求后,首先判断一下该对象实现是否在本ORB域内登记,如果是,则判断一下是否有相应的IDL骨架存在,如果有,则对象适配器通过该骨架调用对象中的方法,否则,对象适配器通过动态骨架接口调用对象实现的方法,当对象适配器得知对象实现不在本ORB域内时,对象适配器将请求传送给动态骨架接口,动态骨架接口产生一个代理对象,代理对象将请求转换成中间协议表示形势传给目的ORB,目的ORB将中间协议表示成本地DII请求,该请求便可以实现对象实现中的方法进行调用; 5方法执行完后,结果将按原路返回给客户。 * CORBA应用程序的开发 开发CORBA应用程序,需要三大步骤: 1.开发CORBA客户机应用程序。 2.开发服务器应用程序。 3.建立客户机与服务器之间的联系。 * 开发客户机应用程序 建立客户机的应用程序的一般过程 1.基于要提供给最终用户的功能,用户界面等来设计和编写代码中的非CORBA部分。 2.选择支持应用程序功能的通信方式和激发类型。 3.使客户机激发请求所需的接口定义可用,从而支持所选的激发类型。 如何支持不同的激发类型: (1)如果客户机代码仅支持桩类型激发,就从OMG IDL代码中生成客户桩并将它们联入客户机应用程序。 (2)如果客户机代码仅支持动态激发,把OMG IDL代码装入接口仓库。 (3)如果对两种激发都支持,做前面的两项任务。 4.编写实际激发所使用的请求并获取进行激发所需的信息,如获取正确的对象引用和其它参数的客户机应用程序代码。 5.编写得到成功请求的结果或客户机应用程序代码。 6.编写客户机应用程序代码以处理返回的表示该请求有问题发生的任何自定义或标准异常(错误)。 7.如果客户机程序也作为服务器,再创建服务器应用程序。 * 选择激发的通信样式 同步通信 当应用程序激发一个同步通信请求时,应用程序把控制传送给ORB,然后在请求完成或失败之前就不能作任何事情。 延迟同步通信 当应用程序激发一个延迟同步通信请求后,应用程序再去做其它的事情之前不等待请求的完成。 单向通信 当应用程序激发一个单向请求时,应用程序把请求传给 服务器但没有任何东西返回。 选择何种方式根据需要决定,同步通信最适合于当应用程序需要按某种顺序传送和完成请求,并且操作的时间很短的时候。延迟同步通信最适合当应用程序在继续做其它事情之前不等待请求完成时使用。单向通信最适合于登记应用程序中发生的事件和通知应用程序一个事件已经发生,只要不会因为登录没完成或某些应用程序没有收到通知而引起麻烦。 * 开发服务器应用程序 1.决定实现所支持的激活策略 以CORBA供应商提供的任何方式向BOA提供关于服务器的激活策略信息。 2.生成服务器框架(骨架)。服务器框架指出哪种类型的对象可被引用,哪种实现可被BOA激活 3.把框架和服务器应用程序及对象适配器连接起来。 对象适配器处理一般的与ORB相关的任务,如提供对象引用,激活实现等,服务器框架接受这些任务,并将其束缚到服务器中特定的实现及实现中的内含的方法。一般的可以通过编译框架代码并把它链接到服务器应用程序代码来将框架与服务器应用程序相连。这和把客户桩连接到服务器应用程序类似。 4.编写服务器的初始化代码 用来初始化服务器的例程会因供应商而异。但通常需要做启动任何服务器进程所需的初始化工作,然后再做令CORBA系统能识别服务器所需的初始化工作。 * 5.编写代码,通知BOA实现已被激活 6.编写代码以创建消息分发循环。 7.编写方法以支持框架中列出的实现 这些代码完成实现的实际工作,包括处理上下文对象,引发异常,创建和销毁对象引用等。 8.编写代码已冻结实现 在某些时刻实现需要被冻结,以使其不再满足从BOA中传来的客户机的请求,例如在服务器关闭之前或实现以很长时间没有被使用则该实现就需要被冻结。 9.编写服务器代码 10.如果应用程序是服务器,则按照前面的构建客户机。 * 建立客户机与服务器之间的联系 客户机能够请求的操作在对象上定义,而对象则由接口定义。与之类似,方法作为

文档评论(0)

rovend + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档