公共对象请求代理体系结构CORBA简介
- 格式:doc
- 大小:34.00 KB
- 文档页数:3
CORBA技术简介⾸先CORBA是⼀个协议,和语⾔和平台⽆关通⽤对象代理体系结构CORBA(Common Object Request Broker Architecture)是对象管理组织所定义的⽤来实现现今⼤量硬件、软件之间互操作的解决⽅案,CORBA也是迈向⾯向对象标准化和互操作的重要⼀步。
■CORBA技术简介 简单地说,CORBA允许应⽤之间相互通信,⽽不管它们存在于哪⾥以及是谁设计的。
CORBA1.1于1991年由OMG发布,其中定义了接⼝定义语⾔(IDL)以及在对象请求代理(ORB)中实现客户对象与服务器对象之间交互的应⽤编程接⼝(API)。
CORBA2.0于1994年发布,规定了各个供应商之间的ORB的通信规则。
CORBA标准主要分为三个部分:接⼝定义语⾔(IDL)、对象请求代理(ORB)以及ORB之间的互操作协议IIOP。
ORB是对象之间建⽴Client/Server关系的中间件。
使⽤ORB,客户可以透明地调⽤⼀个服务对象上的⽅法,这个服务对象可以在本地,也可以在通过⽹络连接的其他机器上。
ORB截获这⼀调⽤同时负责查找实现服务的对象并向其传递参数、调⽤⽅法返回最终结果。
客户并不知道服务对象位于什么地⽅,它的编程语⾔和操作系统是什么,也不知道不属于对象接⼝的其他系统部分。
这样,ORB在异构分布环境下为不同机器上的应⽤提供了互操作性,并⽆缝地集成了多种对象系统。
在开发传统的Client/Server应⽤时,开发者使⽤他们⾃⼰设计的或⼀个公认的标准来定义⽤于设备之间通信的协议。
协议的定义依赖于实现语⾔、⽹络传输和许多其他因素,⽽ORB的出现简化了这⼀过程。
使⽤ORB时,协议是使⽤接⼝定义语⾔(IDL)定义的,⽽ IDL是独⽴于语⾔的。
并且ORB提供很强的灵活性,它使程序员选择最适合的操作系统、执⾏环境,甚⾄系统各个组件也可以采⽤不同的编程语⾔实现。
更重要的是,它允许现有组件的集成。
corb表达式-回复CORBA是一种面向对象的中间件技术,用于在分布式系统中实现不同平台之间的通信和互操作性。
本文将详细介绍CORBA的概念、架构和工作流程,以及其在实际应用中的优势和挑战。
第一部分:CORBA概述CORBA,全称为Common Object Request Broker Architecture,是一种通用的对象请求代理架构。
它由OMG(对象管理组织)提供,OMG是一个国际标准化组织,致力于制定和维护软件和系统集成的标准。
CORBA 提供了一种灵活的方式来在异构系统之间进行通信,而无需考虑具体的平台和编程语言。
CORBA使用基于IDL(Interface Definition Language)的方式来描述和定义系统中不同对象之间的接口,这样可以确保不同平台和语言之间的互操作性。
IDL是CORBA的核心组成部分,它实际上是一种中立语言,描述了对象的方法和属性。
基于IDL,CORBA使用Object Request Broker(ORB)来处理不同平台和语言之间的对象交互。
第二部分:CORBA架构和工作流程CORBA架构由四个主要组件组成:IDL编译器、ORB、接口实现和客户端应用程序。
1. IDL编译器:负责将IDL描述的接口转换成各种编程语言的实现代码。
2. ORB:作为中间代理,负责将客户端请求转发给相应的接口实现并返回结果。
3. 接口实现:实现IDL描述的接口的具体逻辑。
4. 客户端应用程序:通过ORB发送请求给接口实现,并处理返回的结果。
CORBA的工作流程如下:1. 开发者使用IDL编写对象接口描述,并使用IDL编译器将IDL转换为特定编程语言的代码。
2. 接口实现者根据生成的代码来实现对象接口的具体逻辑。
3. ORB管理着客户端和接口实现之间的交互。
当客户端调用某个对象的方法时,ORB将请求转发给相应的接口实现。
4. 接口实现根据客户端的请求执行相应的操作,并返回结果给ORB。
CORBA接口开发详解(网络资料)corba(公用对象请求代理体系)是基于对象技术的分布计算应用软件体系结构。
corba标准主要分为三个部分:接口定义语言(IDL),对象请求代理(ORB),以及ORB之间的互操作协议IIOP,核心是对象请求代理。
corba与平台和语言无关。
java IDL既是corba的一个实现,它是jdk1.3或更高版本的核心软件包之一,定义在org.omg.CORBA及其子包中,在java IDL的支持下,开发人员可以使用如下两种方法将java 和corba集成在一起:创建java对象并使之可在corba orb中展开;创建java类并作为/jinzhengquan/admin/EditPosts.aspx?catid=295786和其它orb一起展开的corba对象的客户,这种方法提供了另外一种途径,通过它java可以被用于将你的新的应用和以前遗留的系统相集成。
采用java创建corba应用,corba对象服务的实现方式分为两种:对象的命名引用方式和字符串化对象引用方式,创建corba应用程序的过程大体如下:编写IDL接口定义文件;将接口定义文件编译为相应高级语言源代码,产生服务器框架与客户端存根;基于服务器框架,编写服务对象实现程序;基于客户端存根,编写客户对象调用程序;分别编译客户对象和服务对象程序;运行服务对象和客户对象程序。
第一步下载JacORB并配置jacORB1,解压JacORB-2.3.0-bin,将jacORB拷贝到c:\jacORB;2,修改c:\jacORB\bin下的文件,去掉idl.tpl,idl.bat.tpl,jaco.tpl和jaco.bat.tpl文件的后缀名".tpl";3,在jacORB目录下建立classes文件夹,将etc中的jacorb_properties.template文件拷贝到classes下,将文件中(*)Service=file:/c:/NS_Ref修改为(*)jacorb.naming.ior_filename=c:/NS_Ref,并将文件名改为jacorb.properties4,在dos下输入ns即可。
corba协议-概述说明以及解释1.引言1.1 概述Corba(Common Object Request Broker Architecture)是一种面向对象的分布式计算的标准化协议。
它定义了一套标准化的通信协议,使得不同的对象能够在网络上进行通信和交互。
Corba协议通过对象请求代理(ORB)实现对象之间的通信,使得对象在不同的计算机上可以相互调用,实现分布式计算。
该协议被广泛应用于企业级软件系统中,能够提高系统的可扩展性、可维护性和灵活性,为分布式系统的开发提供了良好的支持。
在本文中,我们将介绍Corba协议的基本原理、特点和应用领域,以便更好地理解和使用这一重要的分布式计算协议。
1.2文章结构1.2 文章结构本文将首先介绍Corba协议的概念和背景,包括其起源、发展历程和基本原理。
接着将详细探讨Corba协议的特点,包括其跨平台、语言中立和分布式的优势。
然后将深入分析Corba协议在各个应用领域的具体应用,包括企业级系统、网络通信和物联网等方面。
最后对Corba协议的发展前景进行展望,探讨其在未来的发展趋势和潜在挑战。
通过本文的阐述,读者将能够全面了解Corba协议的重要性和应用领域,以及对其发展方向有更深入的认识。
1.3 目的本文的主要目的是介绍和探讨Corba(通用对象请求代理结构)协议,旨在帮助读者了解该协议的基本概念、特点和应用领域。
通过对Corba协议的介绍,读者可以深入了解面向对象技术在分布式系统中的应用,以及Corba协议在不同领域中的实际应用情况。
同时,本文也将分析Corba 协议的优势和局限性,以及未来在分布式计算领域的发展趋势。
通过本文的阐述,读者将能够更好地理解和应用Corba协议,为其在实际项目中的应用提供参考和指导。
2.正文2.1 Corba协议介绍CORBA(Common Object Request Broker Architecture)是一种用于分布式系统中对象通信的协议。
公共请求代理结构CORBACORBA(Common Object Request Broker Architecture)是一种对象管理体系结构,主要由对象请求代理ORB、公共对象服务、通用设施和应用接口组成。
对象请求代理规定了分布对象的接口定义和语言映射,实现对象间的透明通信和互操作,是分布对象系统中的“软总线”;在ORB上定义了并发服务、名字服务、事务服务、安全服务等多种公共对象服务;通用设施定义了构件框架,为领域对象提供可用的共享服务,规定领域对象有效协作所需的规则。
CORBA采用并吸收面向对象技术、分布式计算技术和多层体系结构技术,实现了在分布式应用环境下软件的可复用性、可移植性和互操作性。
其特点如下:1.引入中间件(MiddleWare)作为事务代理(Broker),用于传递客户提出的服务请求及得到的服务结果2.实现客户程序和对象之间的完全分离,客户端程序不需要了解对象的具体实现、操作平台和位置信息。
3.提供“软总线”功能,对于任何环境、任何程序设计语言,只要遵循接口规范,就可以集成到已有的分布式系统中来。
4.采用接口技术,使得软件在总体设计、详细设计、代码编写以及维护等方面可以独立进行,同时又可以保证代码的一致性。
5.采用面向对象技术,使得在软件开发中能很好地实现信息封装、代码复用。
CORBA基本组成和框架传统的客户/服务器体系通过“请求/响应”方式直接相互通信,获得服务。
CORBA中的“客户”请求和“服务器”响应之间是通过ORB作为中间件间接通信,即CORBA客户向ORB发送请求,并从ORB接受响应,CORBA服务器接受来自ORB的请求、调度,并向ORB发送响应。
CORBA的接口定义语言IDL定义了客户端和服务端完整的静态接口描述,包括对象操作所需要的参数、返回结果、上下文信息以及可能发生的异常等,通过IDL编译器能生成静态IDL代码脚本和静态IDL骨架。
CORBA运行机制CORBA环境中,客户端通过函数、过程或操作调用进行“请求”。
公共对象请求代理体系结构CORBA简介
CORBA(Common Object Request Broker Architecture, 公共对象请求代理体系结构)是由OMG(对象管理组织,Object Management Group)提出的应用软件体系结构和对象技术规范,其核心是一套标准的语言、接口和协议,以支持异构分布应用程序间的互操作性及独立于平台和编程语言的对象重用。
CORBA经过近十年的发展,已逐步走向成熟,并成功地应用在我国许多大型的软件系统中,由此产生了对掌握CORBA技术的软件开发人员的大量需求。
在此,我们应广大读者的要求组织了本次讲座。
本系列讲座分别介绍了CORBA的基本思想、体系结构以及CORBA应用程序的设计与开发,希望借此能帮助广大软件开发、设计人员,开阔思路,加深对CORBA的理解,进而真正掌握这门技术,并能在实际工作中加以灵活运用,更高效、迅速地开发出更强壮的软件系统,最终促进我国软件事业的蓬勃发展。
CORBA产生的背景
近年来,随着互联网技术的日益成熟,公众及商业企业正享受着高速、低价网络信息传输所带来的高品质数字生活。
但是,由于网络规模的不断扩大以及计算机软硬件技术水平的飞速提高,给传统的应用软件系统的实现方式带来了巨大挑战。
首先,在企业级应用中,硬件系统集成商基于性能、价格、服务等方面的考虑,通常在同一系统中集成来自不同厂商的硬件设备、操作系统、数据库平台和网络协议等,由此带来的异构性给应用软件的互操作性、兼容性以及平滑升级能力带来了严重问题。
另外,随着基于网络的业务不断增多,传统的客户/服务器(C/S)模式的分布式应用方式越来越显示出在运行效率、系统网络安全性和系统升级能力等方面的局限性。
为了解决分布式计算环境(DCE,Distributed Computing Environment)中不同硬件设备和软件系统的互联,增强网络间软件的互操作性,解决传统分布式计算模式中的不足等问题,对象管理组织(OMG)提出了公共对象请求代理体系结构(CORBA),以增强软件系统间的互操作能力,使构造灵活的分布式应用系统成为可能。
正是基于面向对象技术的发展和成熟、客户/服务器软件系统模式的普遍应用以及集成已有系统等方面的需求,推动了CORBA技术的成熟与发展。
作为面向对象系统的对象通信的核心,CORBA为当今网络计算环境带来了真正意义上的互联。
CORBA的发展历程
1. 对象管理组织(OMG)简介
OMG成立于1989年,作为一个非营利性组织,集中致力于开发在技术上具有先进性、在商业上具有可行性并且独立于厂商的软件互联规范,推广面向对象模型技术,增强软件的可移植性(Portability)、可重用性(Reusability)和互操作性(Interoperability)。
该组织成立之初,成员包括Unisys、Sun、Cannon、Hewlett-Packard、Philips等在业界享有声誉的软硬件厂商,目前该组织拥有800多家成员。
2. CORBA主要版本的发展历程
● 1990年11月,OMG发表《对象管理体系指南》,初步阐明了CORBA的思想;
● 1991年10月,OMG推出1.0版,其中定义了接口定义语言(IDL)、对象管理模型以及基于动态请求的API和接口仓库等内容;
● 1991年12月,OMG推出了CORBA 1.1版,在澄清了1.0版中存在的二义性的基础上,引入了对象适配器的概念;
● 1996年8月,OMG基于以前的升级版本,完成了2.0版的开发,该版本中重要的内容是对象请求代理间协议(IIOP,Internet Inter-ORB Protocol)的引入,用以实现不同厂商的ORB真正意义上的互通;
● 1998年9月,OMG发表了CORBA 2.3版,增加了支持CORBA对象的异步实时传输、服务质量规范等内容。
目前,宣布支持CORBA 2.3规范的中间件厂商包括Inprise(Borland)、Iona、BEA System等著名的CORBA产品生产商。
CORBA体系结构概述
CORBA规范充分利用了现今软件技术发展的最新成果,在基于网络的分布式应用环境下实现应用软件的集成,使得面向对象的软件在分布、异构环境下实现可重用、可移植和互操作。
其特点可以总结为如下几个方面:
1. 引入中间件(MiddleWare)作为事务代理,完成客户机(Client)向服务对象方(Server)提出的业务请求(引入中间件概念后分布计算模式如图1所示);
2. 实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置(参见图2所示的CORBA系统体系结构图);
3. 提供软总线机制,使得在任何环境下、采用任何语言开发的软件只要符合接口规范的定义,均能够集成到分布式系统中;
4. CORBA规范软件系统采用面向对象的软件实现方法开发应用系统,实现对象内部细节的完整封装,保留对象方法的对外接口定义。
在以上特点中,最突出的是中间件的引入, 在CORBA系统中称为对象请求代理(ORB,
Object Request Broker)和采用面向对象的开发模式。
对象模型是应用开发人员对客观事物属性和功能的具体抽象。
由于CORBA使用了对象模型,将CORBA系统中所有的应用看成是对象及相关操作的集合,因此通过对象请求代理(ORB),使CORBA系统中分布在网络中应用对象的获取只取决于网络的畅通性和服务对象特征获取的准确程度,而与对象的位置以及对象所处的设备环境无关。
CORBA规范的推出,重新调整了客户机与服务器之间的关系。
客户机可以向服务器提出事务请求,同时也可以为下一个请求充当服务器角色。
由于CORBA系统引入了中间件的概念,即事务代理,由中间件完成客户机与服务器之间的通信,使得服务器对于客户机的位置相对透明,取消了原有分布式计算模型中客户机、服务器之间的一一对应关系。
CORBA客户机可以在运行时动态获得服务对象的位置,并且可以对多个服务对象提交事务请求,因此,极大推动了分布计算的发展。
分布计算是指网络中两个或两个以上的软件相互共享信息资源。
这些软件可以位于同一台计算机中,也可以部署在网络节点的任意位置。
基于分布式模型的软件系统具有均衡运行系统负载、共享网络资源的技术优势。
另外,CORBA规范约束采用面向对象的分布式软件的构造方法,以接口定义语言的形式实现对象内部细节的完整封装,从而降低了软件系统的复杂程度,增加了软件功能的可重用性。
CORBA提供到C/C 、Java、SmallTalk等高级语言的映射,很大程度地减小了对程序设计语言的依赖性,使软件开发人员可以在较大范围内共享已有成果。
正是以上特点推动了分布式多层软件体系结构的发展。
目前,CORBA技术在银行、电信、保险、电力和电子商务领域都有广泛的应用。