




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. 初始CORBA:CORBA(Common Object Request Broker Architecture)“公共对象请求代理结构”它首先是一种编程技术,是吸收了面向对象技术,分布式计算技术,多层体系结构技术以及接口技术的综合技术。Corba的最终目的是分布式软件系统。CORBA即代表了一种软件开发模式,一种软件开发标准,也提供了软件开发必须的服务,可以使用的集合。因此整体上CORBA整体上是由“对象请求代理”“CORBA服务”“CORBA工具集”以及符合CORBA标准的各种应用程序,对象同一综合而成。如下图:2. CORBA对象请求代理-ORB: ORB是连接应用程序,各种对象CORBA服务,CORBA工具集的核心。也正是ORB将这些构成CORBA图景的元素有序的分割开来。3. CORBA中IDL的作用: 在CORBA标准中,客户与ORB接口对象被称为“接口存根”IDL Stub; CORBA服务器(即CORBA对象实现)与ORB接口对象别成为“接口框架” IDL Skeleton。这样CORBA客户对象与CORBA对象实现之间至少被三组对象隔离:接口存根,ORB,接口框架。这种隔离为软件集成带来了巨大的灵活性,但同时需要CORBA客户对象,接口存根,ORB,接口框架,CORBA对象实现各个部分能够相互理解各自的数据,结构和行为。这一要求可以通过接口技术以及CORBA接口定义语言(Interface Definition Language)-OMG IDL实现。OMG IDL不是编程语言,不能用于编写具体的操作算法,但是它可以用来定义对象能够进行的所有操作,包括全部输入,输出参数以及返回结果,还有可能产生的操作的错误等。用OMG IDL 定义对象就得到了CORBA接口,对于CORBA客户,这个接口意味着一种承诺,如果客户向ORB发送符合接口规定的请求,就一定会得到响应(出错,返回结果都是一种响应)对于CORBA对象实现(CORBA服务)这个接口意味着一种义务;软件开发人员必须实现接口规定的方法。这两种情况下都需要OMG IDL 能够和用户采用的具体编程语言建立映射关系。4. CORBA 静态请求和动态请求:ORB提供了动态激发机制,使得客户端可以向一个目前还不存在的对象实现发出请求,也可以调用某个对象实现中目前还不存在的服务。为了实现动态激发,CORBA必须提供两个必要的机制:让客户发出动态请求的机制和让客户获取未知操作名称,函数,返回值的机制。实际上,在ORB的客户端,已经引入了实现这两个机制的对象群以及有关操作,即:动态激发接口(Dynamic Invocation Interface)及接口仓库(Interface Repository)下面是ORB客户端透视:从上图可以看出,对于CORBA客户而言,ORB由四部分组成:1. 接口存根 IDL Stub :用于静态激发各种请求2. 动态激发接口DII:用于动态激发各种请求3. ORB接口:用于调用于CORBA伪对象相关的操作4. 接口仓库IR,从中可以获得IDL接口的详细信息一个CORBA客户可以根据 OMG IDL接口定义,通过接口存根想ORB发出伪客户服务请求并获得服务,这种方法的每个请求在构造前已经编译完毕,运行时不能改变,成为静态激发。动态激发则允许CORBA客户调用ORB相关函数,在程序执行过程中构造一些临时的伪客户/服务器请求,经过ORB处理后获得服务。这种方法甚至可以用来向软件开发时尚且未知的对象或者服务发出请求,是“跨版本”使用CORBA对象的根本保证。动态激发是通过动态激发接口DII实现的;而静态激发是通过接口存根实现的。接口存根也被成为静态激发接口(Static Invocation Interface)-SII。SII与DII最主要的一点区别是:SII在编译时进行对象类型的匹配和操作选择,DII则把对象类型匹配和操作选择推迟到了执行时刻。采用SII请求服务时,一般情况下采用的是同步通信方式。在这种通信方式中,客户调用函数后被阻塞,知道有结果返回或者发生异常。采用DII请求服务时,客户不一定要被阻塞,因为DII提供了同步通信,异步通信两种方式。异步通信方式通常又称为延迟同步通信方式。使用SII方式请求服务,速度会比直接使用DII方式请求同一服务时快。5. 动态激发接口DII: 动态激发接口由以下三部分例程构成:请求管理例程:包括要求ORB动态建立一个服务请求,给服务请求添加参数,删除无用的服务请求等例程各种异步通信例程:包括同事发送一个,多个请求,接受响应判断请求是否完成,确定下一个响应等例程列表管理例程:为参数列表申请内存、进行初始化、释放内存的例程。通过这些例程,我们可以参照如下步骤建立动态请求:1.确定需要采用动态请求趋势线的服务以及服务提供对象2.动态获取对象的接口信息3.构造请求伪对象。4.激发请求为对象、接收响应。6. 建立CORBA客户机的一般过程1. 基于功能和界面等来设计和编写代码中非CORBA部分2. 选择同信方式(同步,延时同步(即异步)或单向)和激发类型(桩类型、动态类型)3. 定义IDL接口:如果仅支持桩类型激发,生成客户桩并连入客户机。如果仅支持动态激发,将IDL代码装入接口仓库。如果两者都支持,做以上两项任务。4. 编写激发请求代码并获取激发所需信息,引用,参数5. 编写成功请求的程序代码6. 编写处理错误或异常处理程序7. 如果客户机也是服务器,进行服务器编程处理。7. 构造CORBA服务器的一般过程1. 决定实现所支持的激活策略2. 生成服务器框架3. 把框架和服务器应用程序及对象适配器连接起来4. 编写服务器初始化代码5. 编写代码通知BOA实现已经被激活6. 编写代码创建消息分发循环7. 编写方法支持框架中的实现,上下文,异常8. 编写代码冻结实现9. 编写关闭服务器代码10. 如果同时也是客户机参照客户机过程11. 服务器逻辑结构8. 对象适配器: 从ORB角度观察,每个CORBA“对象实现”的实例都是一个服务提供对象。ORB向这些对象实例直接发出请求,并直接接受来自它们的响应。一般情况,可以将“对象实现”具体实例所驻留的进程理解为CORBA服务器.对象适配器(Object Adapter)是ORB中管理对象引用与对象实现的核心机制。尽管CORBA中提供了多种类型的对象适配器,但它们都应该具备以下功能:1. 产生,解释对象引用2. 注册对象实现的实例3. 建立对象引用于具体对象实例的映射4. 激活,冻结对象实现的实例5. 通过接口框架或动态框架接口DSI激发对象实现中的方法6. 为CORBA分布式对象交互操作提供安全保障Basic Object Adapter BOA 基本对象适配器。OMG仅仅为基本对象适配器BOA定制了标准,其余类型对象适配器均由开发商自由提供。这些标准也仅仅规定了基本对象适配器BOA必须具备的服务,并没有限制开发商如何对其进行扩展。9. CORBA中,为了使用用户的各种需求,共设置了四种激活对象实例的方式1. 共享服务器策略:一个对象实现的多个实例可以共享同一个服务器.比如“视频点播服务器”,其中的对象实例是为不同的用户提供点播服务 。(工作方式BOA启动该实现驻留的服务器服务器和实现各自进行初始化BOA根据请求激活实现。当实现激活后,它用CORBA_BOA_impl_is_ready通知BOA它已经准备好接收客户机请求。实现进行工作,并隐含地有多个对象同时处于活动状态工作结束后,该实现用操作CORBA_BOA_deactive_impl通知BOA它不再接收请求2. )3. 持续服务器策略:于共享服务器策略类似,但是,在本策略中服务器本身不需要被初始化,好像在持续运行一样。在现实应用中,持续服务器不一定要永远保持运行状态,不过,它不应该从BOA启动,而是通过手动方式或是自动启动,比如Web服务器和数据库服务器都是手动加载或者随系统启动(工作方式与共享策略相同区别在于服务器如何启动)4. 非共享服务器策略:本策略中需要为对象实现的每个实例创建一个服务器:比如服务器对应于网络打印机,其中的对象实例就是“待打印作业对象”对于独占类型的资源,一般都采用次策略(工作方式BOA启动该实现驻留的服务器服务器和实现各自进行初始化BOA根据请求激活实现。当实现激活后,它用CORBA_BOA_object_is_ready通知BOA它已经准备好接收客户机请求。实现按如下方式进行工作:潜在有多个客户机同时使用一个活动对象。如果客户机的请求所用的对象没有激活,BOA将为该对象和实现启动新的服务器。工作结束后,该实现用操作CORBA_BOA_deactive_object通知BOA它不再接收请求)5. 单个方法服务器策略:本策略中,每调用一次对象实现中的操作,就需要为请求创建一个服务器,该请求调用结束后,服务企业被注销。适合脚本语言类型的对象实现(工作方式BOA启动该实现驻留的服务器服务器和实现各自进行初始化实现完成其工作。实现每次激发一个方法时,即创建一个新的服务器;方法完成时,服务器终结。实现激活或冻结时,不需要通知BOA。10. 启动和初始化CORBA服务器 编写代码以执行非CORBA的一个服务器初始化任务 编写代码以执行与CORBA相关的一般服务器初始化任务 编写告诉对象适配器如何启动服务器代码 编写代码告诉BOA激活的服务器实例已经存在并可以使用11. 终止CORBA服务器:编写代码告诉BOA:服务器的活动实例不再存在,不能被使用 告诉对象适配器如何终止服务器 编写代码以执行一般的与CORBA相关的服务器关闭任务 编写代码以执行一般的非CORAB的服务器关闭任务。12. 简述IDL编译器的作用答:IDL Compiler:生成与编程语言相关的文件:1. IDL文件,接口仓库2. 客户桩文件stub(即接口存根文件):把某个对象类型的IDL操作定义映射到例程。(当我们用IDL编译器编译CORBA获取“接口框架”时,同时也得到了“接口存根”。不过“接口框架主要是一些函数调用代码,“接口存根”中主要是一些函数声明:“接口存根”告诉客户本ORB能提供什么服务,“接口框架”告诉ORB应该请何种性质的“对象实现”来完成指定的服务)3. 头文件head:桩文件和框架文件都用头文件来定义结构和常量4. 服务器框架文件skeleton:服务器应用程序用skeleton把客户机操作映射到服务器实现的方法上。通常是源代码形式。13. “CORBA对象需要实现IDL描述的接口的定义,自动生成的客户桩stub(接口存根)也是对该接口定义的实现”你如何理解这个论述答:IDL(Interface Definition Lanuage):描述数据类型、操作、对象, C-构造请求。 S-为制定对象的实现提供数据类型、操作、对象,因此CORBA服务器对象要实现该接口定义,客户桩stub是程序激发请求使用的一套例程,把一个对象类型的IDL操作定义映射到激发请求时要调用的一套与编程语言相关的例程,那么由IDL编译器自动生成的客户桩就是对该接口定义的实现。14. 结合ORB和EJB容器,简述你对中间件的理解答:中间件是出于应用程序以及所在系统的内部工作方式之间的软件,隔离了应用系统所依附软件的底层细节和复杂性,工作早较高层次上。ORB完成了网络传递,压缩解压包等过程。因此用户可以只针对业务编写程序,而不需要知道它的内部具体实现的细节。EJB容器完成,事务处理,安全,并发,网络,资源管理,持久存储管理,消息传递等工作。而使用者完全不需要知道具体的实现过程,这些全部由容器来完成,容器能根据组件部署状态,插入所需要的服务,如事物,安全,状态管理等。15. 简述接口仓库的作用:接口仓库包含有应用程序的接口和网络上存在的数据对象的描述。作用:为动态激发提供信息,获得标记;管理接口定义的安装和分布;如果提供浏览器,接口仓库可以作为开发工具16. 实现一个Corba服务,对对象请求代理ORB应该做什么事情,步骤是:答:ORB把各种元素分隔开,是CORBA实现分布式软件集成,即插即用的核心。他连接应用程序,各种对象,CORBA服务,CORBA工具集; ORB是CORBA的C/S正式分离的主要机制,他作为客户机发送请求给服务器的中间件是C/S无需包含对方信息。ORB是选择S中最合适的实现,并转发C的请求 ; ORB负责:(1)发现实现(2)让实现为接受请求做好准备(通知BOA执行操作)(3)进行数据通信需要的各种机制。17. OMG IDL 与Microsoft IDL COM/DCOM是Microsoft 对于分布式软件开发采取的设计方案
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 延边自治州中石油2025秋招笔试模拟题含答案油品分析质检岗
- 国家能源伊春市2025秋招面试专业追问及参考计算机与自动化岗位
- 国家能源鹤壁市2025秋招电气工程类面试追问及参考回答
- 中国移动枣庄市2025秋招笔试行测题库及答案通信技术类
- 赣州市中储粮2025秋招面试专业追问题库信息技术岗
- 白城市中石化2025秋招笔试提升练习题含答案
- 2025年材料成型考试题及答案
- 2025年厨房消毒考试试题及答案
- 2025年公文办理考试题及答案
- 采购内勤考试试题及答案
- 2025重庆明德商业保理有限公司招聘1人考试参考试题及答案解析
- 仁怀市中小学校长绩效考核的实施方案a
- 2025年气象系统公务员录用考试面试真题模拟试卷(结构化小组)
- 前列腺癌根治术护理查房课件
- 经销商加盟合同模板
- 英语四级核心词690个附高频词汇表
- 国家开放大学《建筑工程质量检验》形考任务1-4附参考答案
- 一级学科中英文名称对照表
- 2001年版与2011年版义务教育英语课程标准
- 月骨脱位与月骨周围脱位-课件
- 7-3审计报告附注(小企业会计准则)
评论
0/150
提交评论