CORBA 程序设计指南(入门)

CORBA 程序设计指南(入门)

ID:35794959

大小:1.74 MB

页数:54页

时间:2019-04-18

CORBA 程序设计指南(入门)_第1页
CORBA 程序设计指南(入门)_第2页
CORBA 程序设计指南(入门)_第3页
CORBA 程序设计指南(入门)_第4页
CORBA 程序设计指南(入门)_第5页
资源描述:

《CORBA 程序设计指南(入门)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、CORBA程序设计指南(入门)Author:龙湘明Company:北京邮电大学国家重点实验室Date:2001-2-28Update:2008-12-09这里假设你对CORBA毫无所知。对JAVA略有所知,因为这里使用JAVA作为程序设计语言。学习了本书,你将对CORBA有个初步了解,并能编写一个简单完整的CORBA应用程序。1.CORBA简介CORBA(CommonObjectRequestBrokerArchitecture)是为了实现分布式计算而引入的。为了说明CORBA在分布计算上有何特点,我们从它与其它几种分布计算技术的比较中进行说

2、明。与过去的面向过程的RPC(RemoteProcedureCall)不同,CORBA是基于面向对象技术的,它能解决远程对象之间的互操作问题。MicroSoft的DCOM(DistributedComponentObjectModel)也是解决这一问题的,但它基于Windows操作系统,尽管到本书编写时,DCOM已有在其他操作系统如SunSolaris,DigitalUnix,IBMMVS上的实现,但毫无疑问,只有在微软的操作系统上才会实现得更好。而只有CORBA是真正跨平台的,平台独立性正是CORBA的初衷之一。另一种做到平台无关性的技术是

3、JavaRMI(RemoteMethodInvocation),但它只能用JAVA实现。CORBA与此不同,它通过一种叫IDL(InterfaceDefinitionLanguage)的接口定义语言,能做到语言无关,也就是说,任何语言都能制作CORBA组件,而CORBA组件能在任何语言下使用。因此,可以这样理解CORBA:CORBA一种异构平台下的语言无关的对象互操作模型。1.1CORBA体系结构CORBA的体系结构如下:图1.1CORBA体系结构54CORBA上的服务用IDL描述,IDL将被映射为某种程序设计语言如C++或Java,并且分成

4、两分,在客户方叫IDLStub(桩),在服务器方叫IDLSkeleton(骨架)。两者可以采用不同的语言。服务器方在Skeleton的基础上编写对象实现(ObjectImplementation),而客户方要访问服务器对象上的方法,则要通过客户桩。而双方又要通过而ORB(ObjectRequestBroker,对象请求代理)总线通信。与传统的Client/Server模式(我们称为Two-tierclient/server)不同,CORBA是一种multi-tierclient/serverarchitecture,更确切的说,是一种thre

5、e-tierclient/server模式。双重客户/服务器模式存在的问题是两者耦合太紧,它们之间采用一种私有协议通信,服务器的改变将影响到客户方。多重客户/服务器与此不同,两者之间的通信不能直接进行,而需要通过中间的一种叫代理的方式进行。在CORBA中这种代理就是ORB。通过它,客户和服务器不再关心通信问题,它们只需关心功能上的实现。从这个意义上讲,CORBA是一种中间件(Middleware)技术。下面列出CORBA中的一些重要概念,或者说CORBA中的几个重要名词,有助于读者了解CORBA的一些重要的方面。1.1CORBA中的几个概念1

6、.2.1ORB(ObjectRequestBroker)CORBA体系结构的核心就是ORB。可以这样简单理解:ORB就是使得客户应用程序能调用远端对象方法的一种机制。图1.2ORB模型具体来说就是:当客户程序要调用远程对象上的方法时,首先要得到这个远程对象的引用,之后就可以像调用本地方法一样调用远程对象的方法。当发出一个调用时,实际上ORB会截取这个调用(通过客户Stub完成,“提高”篇中会详细解释),因为客户和服务器可能在不同的网络、不同的操作系统上甚至用不同的语言实现,ORB还要负责将调用的名字、参数等编码成标准的方式(称Marshali

7、ng)通过网络传输到服务器方(实际上在同一台机器上也如此),并通过将参数Unmarshaling的过程,传到正确的对象上(这整个过程叫重定向,Redirecting),服务器对象完成处理后,ORB通过同样的Marshaling/Unmarshaling方式将结果返回给客户。因此,ORB是一种功能,它具备以下能力:1.对象定位(根据对象引用定位对象的实现)2.对象定位后,确信Server能接受请求3.将客户方请求通过Marshaling/Unmarshing方式重定向到服务器对象上544.如果需要,将结果以同样的方式返回。1.2.2IDL(In

8、terfaceDefinitionLanguage)IDL,接口定义语言,是CORBA体系中的另一个重要概念。如果说ORB使CORBA做到平台无关,那么IDL,则使

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。