- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CORBA_程序设计指南(入门).doc
CORBA 程序设计指南(入门)
Author: 龙湘明
Company: 北京邮电大学国家重点实验室
Date : 2001-2-28
Update : 2010-06-25
这里假设你对CORBA毫无所知。对JAVA略有所知,因为这里使用JAVA作为程序设计语言。学习了本书,你将对CORBA有个初步了解,并能编写一个简单完整的CORBA应用程序。
CORBA 简介
CORBA(Common Object Request Broker Architecture)是为了实现分布式计算而引入的。为了说明CORBA在分布计算上有何特点,我们从它与其它几种分布计算技术的比较中进行说明。
与过去的面向过程的RPC(Remote Procedure Call)不同,CORBA是基于面向对象技术的,它能解决远程对象之间的互操作问题。MicroSoft 的DCOM (Distributed Component Object Model)也是解决这一问题的, 但它基于Windows操作系统,尽管到本书编写时,DCOM已有在其他操作系统如Sun Solaris, Digital Unix, IBM MVS 上的实现,但毫无疑问,只有在微软的操作系统上才会实现得更好。而只有CORBA是真正跨平台的,平台独立性正是CORBA的初衷之一。另一种做到平台无关性的技术是Java RMI(Remote Method Invocation),但它只能用JAVA实现。CORBA与此不同,它通过一种叫IDL(Interface Definition Language)的接口定义语言,能做到语言无关,也就是说,任何语言都能制作CORBA组件,而CORBA组件能在任何语言下使用。
因此,可以这样理解CORBA:CORBA一种异构平台下的语言无关的对象互操作模型。
CORBA体系结构
CORBA的体系结构如下:
图1.1 CORBA体系结构
CORBA上的服务用IDL描述,IDL将被映射为某种程序设计语言如C++或Java,并且分成两分,在客户方叫IDL Stub(桩), 在服务器方叫IDL Skeleton(骨架)。两者可以采用不同的语言。服务器方在Skeleton的基础上编写对象实现(Object Implementation),而客户方要访问服务器对象上的方法,则要通过客户桩。而双方又要通过而ORB(Object Request Broker,对象请求代理)总线通信。
与传统的Client/Server模式(我们称为Two-tier client/server)不同,CORBA是一种multi-tier client/server architecture,更确切的说,是一种three-tier client/server模式。双重客户/服务器模式存在的问题是两者耦合太紧,它们之间采用一种私有协议通信,服务器的改变将影响到客户方。多重客户/服务器与此不同,两者之间的通信不能直接进行,而需要通过中间的一种叫代理的方式进行。在CORBA中这种代理就是ORB。通过它,客户和服务器不再关心通信问题,它们只需关心功能上的实现。从这个意义上讲,CORBA是一种中间件(Middleware)技术。
下面列出CORBA中的一些重要概念,或者说CORBA中的几个重要名词,有助于读者了解CORBA的一些重要的方面。
CORBA中的几个概念
1.2.1 ORB(Object Request Broker)
CORBA体系结构的核心就是ORB。可以这样简单理解:ORB就是使得客户应用程序能调用远端对象方法的一种机制。
图1.2 ORB模型
具体来说就是:当客户程序要调用远程对象上的方法时,首先要得到这个远程对象的引用,之后就可以像调用本地方法一样调用远程对象的方法。当发出一个调用时,实际上ORB会截取这个调用(通过客户Stub完成,“提高”篇中会详细解释),因为客户和服务器可能在不同的网络、不同的操作系统上甚至用不同的语言实现,ORB还要负责将调用的名字、参数等编码成标准的方式(称Marshaling)通过网络传输到服务器方(实际上在同一台机器上也如此),并通过将参数Unmarshaling的过程,传到正确的对象上(这整个过程叫重定向,Redirecting),服务器对象完成处理后,ORB通过同样的Marshaling/Unmarshaling方式将结果返回给客户。
因此,ORB是一种功能,它具备以下能力:
1.对象定位(根据对象引用定位对象的实现)
2.对象定位后,确信Server能接受请求
3.将客户方请求通过Marshaling/Unmarshing方式重定向到服务器对象上
4.如果需要,将结果以同样的方式返回。
1.2.2 IDL(Interf
您可能关注的文档
- +数据库应用系统的开发.ppt
- ..APPA企业应用加速解决方案.ppt
- 1-2技术的性质.ppt
- ADL训练活动分析方法的应用.ppt
- ANalysisOfVAriance(ANOVA)变异数分析.ppt
- ansoft大作业验证镜像法的正确性.doc
- APP竞品分析报告.ppt
- arcgis实验报告(A)图像配准.doc
- Arcgis操作实验四:ArcMap地图配准及矢量化.doc
- ARDS的白蛋白治疗-修改.ppt
- 2019高考总复习第一轮复习语文课件第四部分古代诗文阅读专题一文言文阅读7高考命题点一.ppt
- 河南省三门峡市2024-2025学年度下学期期末调研考试高一物理试题.docx
- 2018-2019学年高中一轮复习物理课件第十章第3节传感器及其应用.ppt
- 第三单元走向未来的少年(课件) 2024-2025学年统编版道德与法治九年级下册.pptx
- 第一单元我们共同的世界(课件) 2024-2025学年统编版道德与法治九年级下册.pptx
- 6.1学无止境(课件) 2024-2025学年统编版道德与法治九年级下册.pptx
- 2.1 推动和平与发展(课件) 2024-2025学年统编版道德与法治九年级下册.pptx
- 4.2 携手促发展 (课件) 2024-2025学年统编版道德与法治九年级下册.pptx
- 6.2多彩的职业(课件) 2024-2025学年统编版道德与法治九年级下册.pptx
- 第二单元 世界舞台上的中国(课件) 2024-2025学年统编版道德与法治九年级下册.pptx
文档评论(0)