【精品】公共对象请求代理体系结构(CORBA)的设计目的是94.ppt
《【精品】公共对象请求代理体系结构(CORBA)的设计目的是94.ppt》由会员分享,可在线阅读,更多相关《【精品】公共对象请求代理体系结构(CORBA)的设计目的是94.ppt(42页珍藏版)》请在三一办公上搜索。
1、3、CORBA 概述 公共对象请求代理体系结构(CORBA)的设计目的是 集成大量不同的对象系统。内容:(1)对象请求代理结构概念(2)ORB实现的方式(3)客户的结构(4)对象实现的结构(5)对象适配器的结构(6)一个请求的完整过程例子,CORBA 概述,结构,CORBA 概述,例子:Grid Object,Grid object,server,1,2,3,5,8,13,21,34,55,89,144,233,widthheightget(row,col)set(row,col,value),client,CORBA 概述,客户 是 希望在对象上执行操作的实体对象实现 是 实现对象的代码和数
2、据ORB 负责 组成请求的数据的通讯 查找请求所需对象实现的机制 准备接收请求的对象实现,(1)对象请求代理的结构,客户如何通过ORB向对象实现发出请求,CORBA 概述,对象请求代理的结构,CORBA 概述,客户利用存根或者DII发出请求,CORBA 概述,对象实现通过Skeleton或者DSI接收请求,CORBA 概述,接口池与实现池,对CORBA结构中元素的解释ORB及接口客户对象实现 对象引用IDL及向编程语言的映射客户存根与DII实现骨架与DSI对象适配器接口池实现池,CORBA 概述,CORBA 概述,对象请求代理(ORB)不要求将ORB实现为单独的构件而仅定义其接口 任何提供正确
3、接口的ORB实现都是可以接受的 ORB的具体实现包括:ORB Core、IDL编译器、IR、Object Adapter ORB可以有多种实现 它们对对象引用有不同的表示方法 并且有不同的调用执行方法 ORB Core 提供对象的基本表示,以及请求的通讯 特别地:编排/反编排(Marshal/Unmarshal)将高层语言的参数等表示转换为便于底层网络传输的形式,ORB接口 ORB接口是客户与对象实现可以直接访问到的ORB功能接口 其它多数功能提供给对象适配器stubskeleton动态调用 ORB接口 对所有ORB都是一样的 不依赖于任何对象的接口或对象适配器,CORBA 概述,CORBA
4、概述,客户(Client)(对象的)客户访问对象的对象引用并且调用对象上的操作 客户只知道对象的逻辑结构根据它的接口,并通过调用感受对象的行为 尽管一般认为客户是向对象发出请求的程序或进程 但是客户只是相对于特定对象而言的,是一个相对概念 一个对象的实现可以是其它对象的客户,客户,客户,服务器,服务器,CORBA 概述,对象实现 通过 为 对象实例 定义 数据 和 为 对象方法 定义 代码 提供 对象的语义对象可以具有不同的实现方式,包括:单独的服务器库每个方法的程序封装应用程序面向对象的数据库 等等对象实现不依赖于ORB或者客户调用对象的方式对象实现可以 通过 选择Object Adapte
5、r 达到 选择与ORB相关服务的接口 的 目的,对象实现(Object Implementation),对象引用提供在ORB内指定对象时所需要的信息 对象引用对于客户和对象实现都是一个位流(opaque)的概念 因此客户与对象实现可以与引用的实际表示分离。在选择对象引用表示上,不同的ORB可以有所差别 传递给客户的对象引用表示仅在客户的生命期内有效 对于一个特定的编程语言,所有的ORB都必须提供对象引用(通常称为对象)的相同语言映射。这就允许用特定语言编写的程序可以在独立于特定ORB的情 况下访问对象引用。语言映射也可以提供其它访问对象引用的方式,CORBA 概述,对象引用(Object Re
6、ference),OMG接口定义语言(OMG IDL)通过 指定 对象接口 定义 对象类型 接口包括一组已命名的操作和这些操作的参数。IDL 是一个分析设计结果 描述ORB操纵的对象其源代码的存在对ORB正常工作不是必须的 在运行时刻,以stub程序或者运行时接口repository的形式提供等价的信息。通过IDL,特定对象实现告诉它潜在的客户:什么是有效的操作 以及 如何调用这些操作 从IDL定义可以将CORBA对象向特定编程语言 或者 对象系统 映射,CORBA 概述,OMG接口定义语言,interface Grid readonly attribute short height;read
7、only attribute short width;void set(in short row,in short col,in long value);long get(in short row,in short col);,例子:grid.idl,CORBA 概述,CORBA中主要构件的接口全部由IDL进行定义例如:ORB接口、Stub、Skeleton、对象适配器更主要的用途是定义应用对象!,语言映射包括定义特定于语言的数据类型和通过ORB访问对象的过程接口。它包括:客户stub接口的结构(面向对象的语言不需要)动态调用接口实现骨架对象适配器和直接ORB接口 语言映射也包括对象调用之间以
8、及客户或实现中控制线程之间的交互。最常见的映射提供同步调用:当对象操作完成时子程序返回 编译开关(选项)控制映射具体策略。,CORBA 概述,IDL向具体语言的映射,CORBA 概述,ORB client library,ORB server library,编译 IDL:,gridS.cppserver skeleton,gridC.cppclient stubs,Client,Server,grid.hcommon declarations,grid.idl,所产生的 C+头文件(Orbix):,class Grid:public virtual CORBA:Object public:s
9、tatic Grid_ptr _bind(.);virtual CORBA:Short height(CORBA:Environment,CORBA 概述,客户存根(Client stub)由IDL编译器根据IDL文件生成 客户访问对象的操作主要方式 实现对象位置透明性 向非面向对象语言映射时 将为每个接口类型产生一个stub编程接口 面向对象的编程语言不需要stub接口 它通过伪对象的方式提供访问对象的操作。,CORBA 概述,DII(动态调用接口)客户指定要调用的对象、要执行的操作和调用或调用序列中操作的参数集,而不是调用特定于特殊对象上特殊操作的stub 子程序。客户代码必须提供要执行操
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 公共 对象 请求 代理 体系结构 CORBA 设计 目的 94
链接地址:https://www.31ppt.com/p-5777104.html