- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CORBA体系结构.doc
CORBA 体系结构
摘 要:CORBA 规范被称为是面向21世纪的软件总线,已经成为流行的分布对象计算规范。本文重点分析了CORBA的体系结构和实现机制, 详细描述了ORB 的体系结构和CORBA 的运行流程,并给出了一个利用CORBA实现c++和java 混合编程的实例。
一、CORBA 简介
CORBA 是 OMG 定义的分布式应用程序的标准结构。它的目的是为了简化开发分布式应用程序的复杂性,用于创建一个基于对象的跨平台的分布式结构。 为了实现上述目标,OMG 组织制定了 OMA(Object Management Architecture , 对象管理体系结构) 参考模型。该模型描述了 OMG 的规范所遵循的概念化的结构基础,其核心部分是 ORB (Object Request Broker , 对象请求代理) 。基于ORB 机制就可以充分利用分布的、可以互操作的对象构造和可以互操作的应用。这种优势是明显的,用户可以在不了解实现交互细节的情况下,建立共享资源的应 用。 CORBA 是一个透明的中介分布式对象标准,遵循 CORBA 标准编写的分布式对象可以在许多平台中执行。以 C + + Builder5. 0 中所使用的 Inprise 公司的 VisiBroker 为例,目前其所支持的平台有 Windows 95/ 98 , Windows NT , Solaris , HP - UX ,IBM AIX ,SGI , IBM 390 以及 Dec。此外CORBA也是一个 语言无关的对象标准,同样可以使用多种语言来开发 CORBA 对象及客户端应用 程序,甚至可以混合各种语言来开发 CORBA 应用系统。
二、CORBA 的体系结构
1、CORBA 的体系结构与实现机制
在 CORBA 应用系统中主要分为两部分:一是位于应用程序服务器中的CORBA 对象,另一个是应用使用的客户程序。这些客户程序通过 CORBA 技术 使用 CORBA 对象提供的服务来完成其工作。CORBA 规范定义了客户程序与服务程序中的对象如何进行通信的机制。对象请求代理(ORB) 负责处理它们之间的通信。ORB 提供了支持分布式处理的机制:为请求查找具体的对象实现, 让对象实现作好接收请求的准备,传送构成请求的数据等。客户所看到的接口完全独立于对象所在的物理位置,实现对象的编程语言,以及在对象的接口中没有反映出来的其他特性。ORB通过IDL程序框架或动态程序框架来定位相应的实现代码,传送参数,以及对对象实现的传送控制。处理通信的对象分别称为存根和构架。客户端为存根(Stub) ,服务器端为构架(Skeleton) 。在客户端存根对象担当CORBA对象的代理,当客户程序调用 CORBA 对象的方法时,存根把调用传递给 ORB ,ORB 使用Smart Agent (聪明 代理) 程序定位CORBA服务器,在CORBA服务器上,ORB 应用程序把调用传递给构架,构架ORB的通信需要经过BOA(Basic Object Adaptor ,基本对象适配器) ,CORBA 服务器运行指定的过程,然后由相反的路径返回结果。 图1显示了 CORBA 应用程序各部件之间的调用关系,ORB 在 CORBA 客户和服务器之间传递方法调用和相关信息。
图1 CORBA 应用程序结构图
Smart Agent 用来定位 CORBA 服务器。启动程序时,自动访问 Smart Agent 。如果要支持 CORBA ,应该在局域网的某台机器上运行 Smart Agent,当 然也可以启动多个 Smart Agent,以提高系统的可靠性。 当客户机或服务器启动时, 它们通过广播消息寻找 Smart Agent ,因此无需事先知道 Smart Agent 的位置。 ORB 实际上是一组放在动态库 orb- r.dll 中的函数,用户很少直接调用该 DLL 中的函数,系统在必要的时候调用他们。当服务器启动时,ORB 向 Smart Agent 注册 CORBA 服务器。CORBA 系统的结构其实并不复杂,并与 DCOM 的结构 非常相似。我们可以把它看作扩展的远程过程调用(RPC) 。
1)存根和构架。CORBA 结构中的存根和构架很像我们在前面提到 COM 中的代理对象和存根DLL。客户应用程序通过 ORB 调用远程的 CORBA 对象,实际上,是调用存在于客户应用程序中的存根对象。这个存根对象具有和远程 CORBA 相同的方法和属性,所以客户应用程序就像远程 CORBA 对象一样来使用这个存根对象。存根对象是远程 CORBA 对象在客户应用程序中的一个化身。当客户程序调用存根对象时,存根对象再通过 ORB 来调用远程 CORBA 对象。这中间需要对数据进行调度。当存根对象通过
您可能关注的文档
最近下载
- 综合与实践 最短路径问题(课件)2025-2026学年度人教版数学八年级上册.pptx VIP
- 导数解题大招--- 双变量问题之齐次换元(解析版).docx VIP
- 医疗风险管理培训试题及答案.docx
- 精品解析:江苏省南京市鼓楼区2023-2024学年八年级上学期期中英语试卷 (原卷版).docx VIP
- 2025年贵州省医疗结构化面试黄金50题及答案.docx VIP
- 办公楼装修工程项目管理方案.docx VIP
- 王乐夫-蔡立辉-公共管理学-笔记重点资料整理.pdf VIP
- 蝶阀专用法兰..doc VIP
- 公路工程标准施工招标文件 2018年版(完整版).doc VIP
- 大学英语视听说3 大纲.pdf VIP
原创力文档


文档评论(0)