欢迎来到天天文库
浏览记录
ID:32057167
大小:1.80 MB
页数:71页
时间:2019-01-31
《基于web服务的档案合同信息共享研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Client/Server架构,CORBA的应用很大程度的提高了分布式应用软件的开发效率。其底层结构是基于面向对象模型的,其核心是标准的接口描述语言(OMGInterfaceDefinitionLanguage,OMGIDL)、对象请求代理(ObjectRequestBroker,ORB)和IIOP标准协议(IntemetInter-ORBProtocol,也称网络ORB交换协议)。CORBA支持异构分布应用程序间的互操作性及独立于平台和编程语言的对象重用。在该方案中客户端程序与应用服务器上的应用对象通过IIOP协议进行通信,调用其指
2、定的操作。CORBA应用对象首先对客户的请求进行认证和解释,根据客户的请求内容,或者直接访问资源层的数据库,或者与网络上其他CORBA对象相互交互。共同完成客户的请求。CORBA方案的优势在于它是~个完整的、开放的、稳定的分布式对象计算体系,并且具有即插即用的软总线机制,而且其具有跨平台、跨语言的特性1151。1.2.1.1CORBA体系结构概述CORBA规范充分利用了面向对象技术发展的成果,在基于网络的分布式应用环境下实现应用软件的集成,使得面向对象的软件在分布、异构环境下实现可重用、可移植和互操作。其特点可以总结为如下几个方面:1
3、.引入中间件(MiddleWare)作为事务代理,完成客户机(Client)向服务对象方(Server)提出的业务请求(弓lXVe间件概念后分布计算模式如图l一1所示)f191。图1--1分布计算模式图留)】2.实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置(参见图1--2所示的CORBA系统体系结构图):【19】2图1--2CORBA系统体系结构m[20]3.提供软总线机制,使得在任何环境下、采用任何语言开发的软件只要符合接口规范的定义,均能够集成到分布式系统dP[19]。4.CORBA规范软件系统采用面
4、向对象的软件实现方法开发应用系统,实现对象内部细节的完整封装,保留对象方法的对外接口定义【19】。在以上特点中,最突出的是中间件的引入(在CORBA系统中称为对象请求代理(ORB,ObjectRequestBroker))和采用面向对象的开发模式。对象模型是应用开发人员对客观事物属性和功能的具体抽象。由于CORBA使用了对象模型,将CORBA系统中所有的应用看成是对象及相关操作的集合,因此通过对象请求代理(ORB),使CORBA系统中分布在网络中的应用对象的获取只取决于网络的畅通性和服务对象特征获取的准确程度,而与对象的位置以及对象所
5、处的设备环境无关09][20]。1.2.1.2CORBAIDL简介为了能让不同语言(机器环境,操作系统)下的对象之间可以对话,需要一套共同语言。IDL就是专门为此而制定的elDL(InterfaceDefinitionLanguage)看起来非常类似于c++(或Java)的头文件定义。它与DCOM下的IDL并不是一回事,但可以想象,它们非常接近【20】。IDL定义了一个对象支持的方法和属性,一个对象的实现只要符合这个定义,就可以完全自由开发,你可以用任何你喜欢的语言。给出一个对象的IDL文件,其它对象就完全掌握了这个对象的行为,可以按
6、照自己的意图随意操纵该对象[201,另外IDL不仅仅是让人看的,IDL编译器可以编译它,替程序员自动生成Stub和Skeleton,使得程序员从这项难堪的工作中解脱出来。很显然,CORBA的语言无关性正是通过IDL来实现的。可以说IDL是一种脚本描述语言,要用它编写应用,需要将它映射到相应的程序设计语言上去,如映射到C、c++、Smalltalk和Java上去。映射后的代码叫ClientStubCode和ServerSkeletonCode[201。1.2.1.3CORRA对象请求代理一O只B对象请求代理ORB(ObjectReque
7、stBroker)是CORBA规范的核心。ORB是一个在对象间建立客户,服务器联系的中间件。在CORBA的环境中,应用系统主要分为两个部分。第一个是中介的CORBA对象,所谓CORBA对象是一个提供特定服务的组件,它通过IDL定义一组输出接口来声明这个CORBA对象可以提供的服务。在这个输出接口中,CORBA对象定义了客户端应用程序可以调用的方法以及属性。因此客户端应用程序只需要给出服务的CORBA对象名称以及要调用的方法或是要存取的属性就可以通过ORB得到CORBA对象提供的服务。这些CORBA对象由程序员编写并且在中介的应用服务器
8、中执行。而第二个部分就是客户端应用程序了,这些客户端应用程序通过CORBA技术使用应用程序服务器中的CORBA对象提供的服务执行其工作。那么现在我们已经知道,应用程序调用中介CORBA对象时,是通过ORB连接到中介的CO
此文档下载收益归作者所有