CORBA 构件模型综述
CORBA规范综述
CORBA规范综述张亚红宋凯华东计算技术研究所二OOO年三月目录引言 (3)第一章CORBA 体系结构 (3)第1.01节CORBA规范概述 (3)第1.02节对象管理架构(OMA) (4)第1.03节CORBA详细结构图 (5)第二章对象服务(CORBAServices)的具体内容 (7)第2.01节名字服务 (7)第2.02节生存周期服务 (8)第2.03节事件服务 (10)第2.04节交易黄页服务 (12)第2.05节事务服务 (13)第2.06节并发控制服务 (15)第2.07节安全服务 (15)第2.08节持久性服务 (16)第2.09节流转换服务 (18)第2.10节查询服务 (19)第2.11节组服务 (19)第2.12节对象关系服务 (19)第2.13节时间服务 (20)第2.14节准许服务 (21)第2.15节属性服务 (21)第三章CORBA相关产品及CORBA的未来 (22)第3.01节CORBA相关产品 (22)StarBus的ORB核心机制原理 (23)第3.02节CORBA的未来 (24)第四章程序开发一般过程 (25)第4.01节程序开发一般过程 (25)第4.02节用Starbus开发分布应用步骤 (27)参考文献 (27)引言对象管理组织(OMG)提出的CORBA规范为实现分布式环境下的软件重用、移植和互操作提供了一套前景光明的规范,并为开放式系统的研究提供了一个很好的系统实现框架。
介绍CORBA的文章已有很多,本文试图能够从结构上简而全的对它进行综述,并简单介绍了相关产品和CORBA环境下的程序开发过程。
第一章CORBA 体系结构第1.01节CORBA规范概述CORBA (Common Object Request Broker Architecture)公共对象请求代理架构,是国际对象管理组织(Object Management Group OMG)制定的分布对象计算规范,目前最新版本为3.0(于1999年11月发布),目的是促进在分布、异构环境中基于对象的软件的可重用性、可移植性与互操作性,实现多厂商网络环境中应用的互操作;OMG组织是一个超过750名成员的国际组织,它包括信息系统厂商,软件开发者和用户。
CORBA技术剖析及其应用
CORBA技术剖析及其应用梁剑,李晓,胡彬华(中国科学院新疆物理研究所,新疆乌鲁木齐830011)摘要:为了满足复杂的、大型的分布式应用开发的需求,作为基于组件对象模型的分布式技术规范,CORBA 和COM/DCOM技术被广泛采用。
主要分析CORBA技术的标准、结构、特点及其作用,并提出了CORBA对象的具体实现方法;同时也给出了CORBA技术和COM/DCOM技术相应的对比。
关键词:分布式应用;CORBA;COM/DCOM中图法分类号:TP311.5文献标识码:A文章编号:1001-3695(2002)08-0091-03The Anatomy and Application of CORBA TechnologyLIANG Jian,LI Xiao,HU Bin-hua(The Xinjiang Institute of Physics,the Chinese Academy of Sciences,Wulumugi Xinjiang830011,China)Abstract:In order to meet that need of the large-scale and complicated development of distributed application,as the distributed technology standard of component model,CORBA and COM/DCOM technologies are used widely.In this paper,we analyze the criterion,structure,char-acteristic and function of CORBA technology,and give an achieving method.In addition,we have given the comparison between CORBA and COM/DCOM technologies.Key words:Distributed Application;CORBA(Common Object Reguest Broker Architecture);COM/DCOM1引言目前,开发分布式多层应用系统似乎是所有开发工具、数据库厂商、Internet/Intranet、工具,以及操作系统厂商都积极提倡的应用系统结构。
基于corba软件体系结构
摘要随着软件开发的愈来愈复杂,构件化开发是提高软件复用的重要的技术。
软件体系结构提供了种自顶向下实现基于构件的软件复用的途径。
它的ADL描述提供了一种描述整个系统构造的能力。
而当前的UML只安为其提供一些扩展也能够描述软件体系结构。
构件化的开发目前已经有很多成熟的技术,而CORBA规范充分利用了现今软件技术发展的最新成果,在基于网络的分布式应用环境下实现应用软件的集成,使得面向对象的软件在分布、异构环境F实现可重用、可移植和互操作。
我们提出~种基于CORBA的袍灶珏菇摸式,这是~种三层结构的开发模式,先粟用UML描述整个系统的体系结构,建模出该系统的基本信息。
然后采用CORBA的二层结构开发模式实现它。
这种方J℃可以把大系统划分为很多独立的构件.可以更改某些构件而不会对系统的其他部分造成影响。
从而能够极大的提高软件的开发效率和复用。
关键字:软件体系结掬ADLUML构件技术CORBAVv∥。
√ABSTRACTWiththecomplexityofSoftwaredevelopment,Component—BasedSoftwareDevelopmentisanimportangtechniqueofSoftwareReuseSoftwarearchitectureafrortsawaytorealizeaup-to—downsoftwareresuebasedoncomponents.it’SADLdiscriptionaffortsacompetence/abilitytodescribetheconstructionofthewholesystem,thecurrentUMLneedonlytobeaffordedsomcextendtodescribesoftwarearchitecture.Component—BasedSoftwareDevelopmenthaspossessedmanymaturationaltechnologies,butCORBAavailsofthelatestproduceofcurrentsoftwaretechnologydevelopment,Realizesintegrationofapplicationsoftwareinthenet—distributed—usebasedcircumstance,makestheSoftwarerealizereuse,transplant,andinteractivemanipulation.WeadvanceacomponentdevelopmentmodelbasedonCORBA.it'sadevelopmentmodelincludingtllleestratificationstructures.firstlyituseUMLtodescribethewholesystem’Sarchitecture.modelthebasicinformationofthesystem.thenitrealizesthesystembythecorbatllreesatratificationslructuresdecelopmentmodelthesystembythecorbathreesatratificationstructuresdecelopmentmodel.ThiskindofmodeCallde_idethebigsystemintomanyindependentcomponents,Canmodifysomecomponentswithoutanyaffectiontootherpansofthesystem.SOitcanextremelyimprovethedevelopinge币ciencyandreuseofthesoftware.Keyword:SoftwareArchitecture,CORBA,Compdent,ADL,UMLIll基1:CORBA的软件体系结构引言近儿年来,面对日益复杂的软件系统,人们开始认识到,要真LE实现软件的T业化生产力式,达到软件产业发展所需要的软件生产率和质量,软件复用是一条现实可行的途径。
CORBA技术介绍
对象管理小组
由OMG制定的最关键的规范——对象 管理结构(Object Management Architecture, OMA)和它的核心(也就是CORBA规范), 提供了一个完整的体系结构。这个结构以足 够的灵活性、丰富的形式适用了各类分布式 系统。
OMA对象模型
在OMA对象模型中,对象是一个被封装 的实体,它具有一个不可改变的标识,并能 给客户用户提供一个或多个服务。 interface printer { attribute model; void print(in string buffer); };
对象管理小组
对象管理组(Object Management Group, OMG)是一个非赢利性的协会组织, 组建于1989年,由一些的计算机公司发起, 目前成员已超过800个, 遍及计算机制造商、 软件公司、通信公司和最终用户。
对象管理小组
OMG的宗旨是,推动对象技术(OT) 的理论和实践在软件行业中的使用,特别是 在开发分布式计算机系统方面。其目的是, 为面向对象的应用提供一个公共框架,如果 符合这一框架,就可以在多种硬件平台和操 作系统上建立一个异质的分布式应用环境。
CORBA技术介绍
主要内容
• CORBA概述 • 对象管理小组 • OMA对象模型
ቤተ መጻሕፍቲ ባይዱ
CORBA概述
CORBA(Common Object Request Broker Architecture, 公共对象请求代理体系结构) 是由OMG(对象管理组织,Object Management Group)提出的应用软件体系结 构和对象技术规范。其核心是一套标准的语 言、接口和协议,以支持异构分布应用程序 间的互操作性及独立于平台和编程语言的对 象重用。
CORBA技术简介
研究背景
– 对象之间的相互关联:关系服务和事件服务 – 对象之间的协同控制:并发服务和计时服务 – 典型应用系统的构作:事务处理等 – 对象的生存问题:生命期服务和持久化服务 – 领域级应用系统构作:公共设施
研究背景
解决途径
– 1989年成立国际性行业协会OMG现已拥有 1989年成立国际性行业协会OMG现已拥有 700个会员,包括IBM、APPLE,HP、SUN等; 700个会员,包括IBM、APPLE,HP、SUN等; 其目标是制定标准; – 1991年,OMG推出CORBA1.1的ORB机制; 1991年,OMG推出CORBA1.1的ORB机制; – 1993年,推出了CORBA1.2规范; 1993年,推出了CORBA1.2规范; – 1995年,推出了CORBA2.0规范; 1995年,推出了CORBA2.0规范; – 组织方式和技术途径结合:体现了技术可用 的一种有效途径。参与者就是使用者。
基本过程
– 用IDL书写服务器接口 IDL书写服务器接口 – 用IDL编译器产生native language interface, IDL编译器产生native server stub(翻译功能)和client stub(可能写入 stub(翻译功能) stub(可能写入 接口库) 接口库) – 基于native language interface, 提供相应的服 基于native 务器实现 – 编译服务器程序并与Server Stub连接 编译服务器程序并与Server Stub连接
主要内容-接口语言
一个IDL例-图7.3 一个IDL例-图7.3
主要内容-接口语言
图7.4
主要内容-接口语言
接口存储库
– 它是一个在线的对象定义数据库,它由接口 定义语言编译器或储存库的写入功能产生; – 储存库的主要作用之一是支持动态调用,并 对其它工具提供必要的支持; – CORBA用一组类规定了储存库的组织和检索 CORBA用一组类规定了储存库的组织和检索 方式;
一种图形化的CORBA体系结构描述方法
Ke wo d y rs
S f r rhtcue Ditb td sfw r C mp n n C mp n n e e d ny G a ho e td po rmmig ot e ac i tr wa e sr ue ot ae i o o e t o o e td p n e c rp —r ne rga i n
国际上流行 的 A L语 言 主要 有 以下 一 些 : e p Me H, D As , t o a
LL I EANN ,Ar e A T k, W r h , Ra i e U io i t g pd , n c n, C 2, Daw n, ri
本 文针对基于组件 的分布式计算技术 中的软件体系结构 方 面的特 殊性 ( 如节点 问关 系 , 动态配置 , 点间消息传 递等 ) 节 及
一
种 图形 化 的 C B 体 系结构 描 述 方 法 OR A
陈 怡 曹 曼
( 上海大学计算机学院 上海 2 07 ) 0 0 2
摘
要
随着软件技 术的发展 , 对于软件体 系结构的研 究越来越 引起 人们 的重视。本 文对 C R A分布 式软件体 系结 构的描述 OB
需求和组件之 间的依赖 关系进行 了较详细 的分析 , 在此基础上提 出了一种基于 图形的软件体 系结构 描述 方法 , 该方法把基 于 C R O— B A的分布式应用的软件体 系结构视 为一 张逻辑 图, 图上 预定 义 一组 操作 , 助于 C R A 应用 的程 序 设计 和维 护。本文 还在 在 有 OB
维普资讯
第2 3卷 第 3期
20 0 6年 3月
计 算机应 用 与软 件
C mp trAp l ain n o t r o u e p i t sa d S f c o wa e
基于CORBA技术的机群智能化工程机械监控系统模型
一江南计算技术研 究所 刘学 勇 / LU Xu y n l e o g
总装工程兵 军代局 杨承先 /Y G Ch n xa AN e g in 解放军理工大学工程兵工程学院 李焕 良/ L H a l n 张琦 /Z A I u ni g a H NG Q
和存取数据库中数Βιβλιοθήκη ,使得非 法入侵数据库困难。此外 ,
( 3)语言映射 :负责将 I L定义的接 口翻译成相应 还 应 考 虑 系 统 的 可 扩展 性 、维 护 性 、经 济 性 和 可 靠 性等 。 D 的 程 序 语 言 , 由于 具 有 语 言 独 立 机 制 ,开 发 人 员 可 根据 需 要 选 用 编 程 语 言 , 目前 I 支 持 的 映 射 语 言 有 C 、 L D
机群 智能 化工 程机 械 是指 为完 成某 一具 体 工程 施 工项 目,实现最优 资源配置 最优工作效 率 ,最佳工作
1 COR BA 技 术 的 特 点
COR A。 B [ 是指公共对象请求代理结构( o C mmo - n Ob
质量而实行的 同步施工智能化工程机械的组合… ,如装 jc R q e t rkr rhe tr) et e us Bo e c icu , A t e 它是由 O ( b c M n MG O j t a - e 载 机 .挖 掘机 、推土机 、拌和站 、 自卸车 .摊铺机 等 。 a e n u ) g me tGr p 组织制定 的,定义在不同语言,不同平 o
随 着 中 国加 入 w ,基 础 设 施 建 设 规 模 的不 断 扩 台上 实现 对象并 支持分布式异构环境 下对象问相互操作 TO
CORBA分布式构件
CORBA分布式构件CORBA分布式构件是一种用于分布式计算的基础技术。
它可以使得不同的应用程序和设备通过网络互相通信和共享资源,从而达到更高效和灵活的分布式计算。
CORBA是“Common Object Request Broker Architecture”的缩写,它是一种基于对象的分布式计算技术。
这个技术的核心在于“Object Request Broker”(ORB),它是一个中间件,负责将分布式系统中的不同对象链接起来,并协调消息传递和方法调用。
CORBA构件的特点是支持多种编程语言和平台,因此可以方便地将不同的应用程序和设备链接起来,实现分布式计算的整合。
CORBA构件包含了许多基本的概念,包括对象、接口、服务、ORB等等。
每一个对象都有一个唯一的标识符和一组特定的方法接口,其他对象可以通过ORB访问这个对象并调用它的方法。
由于CORBA构件中的所有对象都是基于通用的接口定义语言(IDL)编写的,因此不同编程语言和平台的应用程序都可以通过ORB访问它们。
CORBA构件的优点是可以支持多种协议和架构,包括TCP/IP、UDP、HTTP等等,因此可以满足不同应用场景的需求。
此外,CORBA构件还可以提供多种服务,包括命名服务、交易服务、安全服务等等,可以使得分布式计算更加可靠和安全。
但是,CORBA构件也存在一些缺点。
首先,它的实现复杂,需要开发人员具备较高的技术水平。
其次,CORBA构件的性能相对较低,因为它需要进行多次消息传递和方法调用,而且ORB本身也需要消耗一定的系统资源。
此外,CORBA构件还存在一些安全隐患,需要开发人员进行必要的安全设置和管理。
综上所述,CORBA分布式构件是一种重要的分布式计算技术。
通过它,我们可以方便地将不同的应用程序和设备链接起来,实现资源共享和协作。
虽然它存在一些缺点,但是随着技术的不断发展和完善,我们相信它会变得越来越优秀,为分布式计算领域带来更多的价值。
CORBA原理简介与实例
CORBA 原理简介与实例CORBA 核心总体设计规划基于服务的ORB遵循公共ORB 体系结构,可以有很多ORB 的具体实现,比如客户和实现驻留ORB ,基于服务的ORB ,基于系统的ORB 以及基于链接库的ORB 等。
考虑到我们今后利用本平台所作开发项目的具体情况以及我们目前的开发条件与能力,决定选用基于服务的ORB 为开发目标。
这种基于服务的ORB ,对ORB 进行集中式管理,所有的客户实现均可以与一个或多个服务器进行通信,这些服务器的功能是将请求从客户端发送到实现端。
这样的话,ORB 就可以做成一个普通的程序,以便运行在不同的平台上。
总体结构本系统所采用的实现方法为:客户通过动态调用接口和ORB 接口经ORB 核心与具体的对象实现进行交互。
具体结构如下图所示:参照CORBA 2.3规范,本系统工作原理如下:客户首先通过ORB 核心提供的ORB 接口得到一个对象引用。
至于得到一个什么样的对象引用,取决于客户需要的服务。
通常每个服务都会有一个标识,客户就是通过这个标识来识别每一个服务的。
也就是说,客户首先要向ORB 核心提交一个服务标识来请求一种服务。
ORB 核心在得到客户提供的服务标识之后,从它掌握的各个对象适配器(POA )中处于活跃状态的对象实现(服务提供者)中挑选一个。
本系统中,ORB 核心是通过查询一个POA 、对象实现(服务标识)列表来完成这一功能的。
这样的话,ORB 核心返回给客户的对象引用具体地说就是该服务与POA 对在本核心所用于所有ORB 实现的同一接口可能有多个对象适配器上调用 下调用总体结构图持有列表中的位置。
ORB核心又是怎么得到并维护这个POA与服务标识的列表的呢?这个列表的创建与修改都是通过POA来完成的,因为与对象实现(服务提供者)直接交互的是POA,而不是ORB核心。
对于服务是否可用的状态维护,本系统考虑了两种情况:一是ORB先于对象实现而运行;二是对象实现先于ORB而运行。
CORBA技术的若干探讨
CORBA技术的若干探讨一、前言作为实际应用效果良好的技术方法之一,CORBA技术在实践中扮演着不可替代的角色,该项课题的研究,将会更好地提升CORBA技术的实践水平,从而有效优化轧钢厂电气设备检测的最终整体效果。
二、CORBA技术概述分布式设备在线状态监测系统可以较好地解决大型成套设备状态监测与故障诊断的问题,因而设备故障诊断工作者为此作了很多研究。
20世纪90年代以来,国外一些著名的公司已相继推出了成套的分布式设备在线监测系统,国内也有许多单位正在从事这方面的研制开发工作,并已经有较为商品化的系统问世。
目前分布式系统的实现技术有多种,其中采用CORBA,公共对象请求代理体系结构)技术构架分布式系统是比较成熟的实施方案之一。
在企业内建立和调配软件系统是一项复杂的任务。
CORBA为完成这一任务提供了功能强大的框架。
CORBA可以集各种操作系统平台和各种开发语言的优点于一身,具有良好的实时性、可靠性及跨平台性。
利用CORBA,可以更容易地开发异构分布式系统。
CORBA非常适合创建企业级或者多企业级的大型远程在线监测系统。
系统通过Intemet或Intranet将分布在不同地域的诊断对象的状态信息进行集成,利用CORBA技术构成具有多服务器互连,多层次信息交互,资源共建共享等特点的设备远程监测与故障诊断系统。
三、利用CORBA技术构架在线监测系统整个系统的构架分为三层:数据采集站、服务器和客户端。
数据采集站上安装有数据采集卡,负责采集数据,并对数据做初步处理后通过通讯线程传送到服务器,并可以根据不同的情况设置不同的采集参数。
服务器是系统的核心,是处理数据的关键部分。
服务器通过若干个双缓冲队列将所有数据暂时保存。
对于电流和功率,如果有跳闸信号,服务器将跳闸信号前5分钟的数据存人数据库;对于温度和湿度,服务器通过存储线程将所有特征值存人数据库。
同时,服务器通过监听线程池随时响应远程客户端的请求,包括实时数据的显示,历史数据的回放,以及温度和湿度信号的趋势分析等。
OMG、Sun和Microsoft 的三种软件构件标准
OMG、Sun和Microsoft 的三种构件标准1. OMG的CORBACORBA分布计算技术是OMG组织基于众多开放系统平台厂商提交的分布对象互操作内容的基础上制定的公共对象请求代理体系规范。
CORBA分布计算技术,是由绝大多数分布计算平台厂商所支持和遵循的系统规范技术,具有模型完整、先进,独立于系统平台和开发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准。
COBRA标准主要分为3个层次:对象请求代理、公共对象服务和公共设施。
最底层是对象请求代理ORB,规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的"软总线";在ORB之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。
目前,CORBA兼容的分布计算产品层出不穷,其中有中间件厂商的ORB产品,如BEAM3,IBM Component Broker,有分布对象厂商推出的产品,如IONAObix和OOCObacus等.CORBA CCM(CORBA Component Model)技术是在支持POA的CORBA规范(版本2.3以后)基础上结合EJB当前规范的基础上发展起来的。
CORBA构件模型是OMG组织制定的一个用于开发和配置分布式应用的服务器端构件模型规范,它主要包括如下三项内容(1)抽象构件模型,用以描述服务器端构件结构及构件间互操作的结构(2)构件容器结构,用以提供通用的构件运行和管理环境,并支持对安全、事务、持久状态等系统服务的集成(3)构件的配置和打包规范,CCM使用打包技术来管理构件的二进制、多语言版本的可执行代码和配置信息,并制定了构件包的具体内容和基于XML的文档内容标准。
总之,CORBA的特点是大而全,互操作性和开放性非常好。
CORBA 体系结构
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基础理论
• 三者具有内在的一致性:自治、协作 • 分布对象技术的核心: 分布对象模型,以及分布对象间的互操作 • 分布对象技术的实现: OMG的CORBA
Corba的发展历史
• 1.0 (Oct. 1991~Dec.1993)
– 接口定义语言 (IDL) – IDL到C语言的映射 – BOA( Basic Object Adapter)和内存管理
– – – – –
接口方法中参数的方向属性 异常:用户自定义异常和系统异常 oneway操作 module、include 允许多重继承,与实现(implementation)无关
Corba的体系架构
• stub与Skeleton
– Stub idl编译后生成的客户端代码。为接口中的 每个操作提供一个虚的实现,不同的Corba厂 家的实现不同,idl编译出来的stub代码也可能 不同。Stub实际不负责对象的实现,它只是远 端对象在本地的一个“代理”,它接受来自本 地的客户端调用,然后将调用传给ORB核心; 远端操作返回后,它再将从ORB核心收到的返 回结果传递给客户。
什么是Corba
• OMG (Object Management Group) :是一个由会员赞助而成立的非 营利组织, 其目的在推广面向对象 (Object-Oriented) 的观念及使用并致力于 加强软件的可移植性 , 重用性, 以及互通 性 。 該组织会员包括了厂商、学术机构 及用戶。 • Common Object Request Broker Architecture是OMG1991年提出的面向对 象分布式环境标准,发布后多次被修订, 目前版本是3.0.2。
• IDL语言简介
– IDL 是 CORBA 的基本抽象机制,其核心是将对象实现 与对象接口相分离,它在客户应用和服务器应用之间 建立起一个标准的描述语言,描述在应用程序中需要 用到的类型和对象接口,这些描述与具体的实现语言 无关。IDL 定义由IDL 编译器映射到具体的编程语言, IDL 编译器将这些与语言无关的接口定义翻译成特定编 程语言的类型定义和API,开发者使用这些类型和API 来提供应用程序的功能和与 ORB 的交互。IDL 到各种 实现语言的转换是由 CORBA 确定的,并称为语言映 射(Language mapping)。目前,CORBA 定义了 IDL 到C,C++, Smalltalk,COBOL,Ada 和 Java 等语 言的映射。
浅谈CORBA组件技术
浅谈CORBA技术近年来,随着互联网技术的日益成熟,公众及商业企业正享受着高速低价网络信息传输所带来的高品质数字生活。
但是,由于网络规模的不断扩大以及计算机软硬件技术水平的飞速提高,给传统的应用软件系统的实现方式带来了巨大挑战。
首先,在企业级应用中,硬件系统集成商基于性能、价格、服务等方面的考虑,通常在同一系统中集成来自不同厂商的硬件设备、操作系统、数据库平台和网络协议等,由此带来的异构性给应用软件的互操作性、兼容性以及平滑升级能力带来了严重问题。
另外,随着基于网络的业务不断增多,传统的客户/服务器(C/S)模式的分布式应用方式越来越显示出在运行效率、系统网络安全性和系统升级能力等方面的局限性。
现代商业应用中越来越强调信息的共享。
抛弃原来独立使用且无法相互通信的应用软件,完全开发一套新定制的环境是不现实和低效益的。
如何才能有效的集成现有软件的功能,尤其是满足以后扩展需要的解决方案?另一方面,现代个人计算机和网络的飞速发展使分布式应用软件的应用更加必要,如何让在不同硬件平台和操作系统上运行的应用软件像一个整体一样有机的工作?OMG提出的CORBA可以用来解决这些问题。
现在企业所面临的主要问题是需要集成多种工作单元,以使企业能用现有软硬件解决当前的或将来遇到的业务问题。
这个问题的一个重要部分是用较新的桌面环境集成大型机上已有的应用程序。
重新创建解决方案则要花费太多时间和金钱,可以用CORBA来解决这些问题。
通过CORBA,可以无需与现有硬件、网络和软件结构打交道,就可以把PC机及它的应用程序同企业其他部分连起来。
CORBA是一种标准的面向对象的应用程序体系规范,CORBA最初是对象管理组(OMG)在1990年11月出版的《对象管理体系指南》中定义的。
它既是一种面向对象的分布式计算规范,也可以被看作通信中间件(Middle ware)。
CORBA 是分布式计算和对象模型的结合。
它使应用程序能共享和访问其他应用程序的对象,不仅提供了可扩展性、可重用性的优点,还便于优化软件结构,特别方便了分布式应用软件的构建。
CORBA分布式构件
CORBA分布式构件摘要:corba是由对象管理组(omg)所制定的构件软件和分布式中间件方面的工业标准。
本文研究中间件和构件方面的基本概念、理论和结构,重点介绍corba中间件基础设施和构件模型。
关键词:中间件构件 corba中图分类号:tp311.52 文献标识码:a 文章编号:1007-9416(2011)12-0156-011、介绍随着软件的应用领域变得更加广泛,软件也随之变得更加庞大和复杂,软件开发过程呈现出不可控制的迹象。
研究人员一直在探索新的开发方法,以提高软件的开发效率和软件质量。
通过组装由不同开发商提供的商业现货,基于构件的软件开发(cbd)的目标在于支持大规模软件重用。
分布式和嵌入式是当前主流的计算模式,中间件在当前的计算模式中扮演着非常重要的角色。
中间件是系统层的软件,帮助应用开发者解决分布式计算所涉及的非常复杂的问题。
corba是由对象管理组(omg)所制定的构件软件和分布式中间件方面的工业标准,对基础软件产生了非常重要的影响。
本文研究中间件和构件方面的基本概念、理论和结构,重点介绍corba中间件基础设施和构件模型。
2、基本概念软件构件最有影响的定义由文献[1]给出,已经被大量的文献引用。
“软件构件是具有约束的接口和显式的上下文依赖的合成单元,构件能独立部署且接受第三方合成。
”构件帮助克服软件复杂性、管理软件变化和有利于软件重用。
构件必须遵循特定的接口、连接、版本控制和部署标准。
构件可以由第三方开发并自由部署,构件自身是完整的,构件装配部署的配置信息中规定了构件对外提供的接口和构件需要的接口。
代表性的构件标准或产品包括com、ejb和ccm。
中间件是位于操作系统层和应用层之间的系统软件。
为避免重复调用操作系统提供的基本操作,中间件层将分布式计算中的一些可重用的共性提取出来(包括数据格式、通信机制等),作为公共服务供应用层调用,从而为开发分布式复杂应用屏蔽繁琐的实现细节。
CORBA 构件模型综述
收稿日期:2004-05-19;修返日期:2004-06-26基金项目:国防预研基金资助项目(413160102)CORBA 构件模型综述*潘慧芳,周兴社,於志文(西北工业大学计算机学院,陕西西安710072)摘 要:随着计算机网络技术和应用的发展,分布构件技术成为分布式计算领域的热点,CCM 就是主流的分布构件技术之一。
首先介绍了CCM 产生的背景,然后对CCM 的重要组成部分进行了详细的阐述,并对现有的基于CCM 的研究和实现进行了简要的分析,最后将CCM 与EJ B 和COM 进行了比较。
关键词:构件;CORBA;CCM中图法分类号:TP311 文献标识码: A 文章编号:1001-3695(2005)05-0014-02An Overview of CORBA Com ponent M odelPAN Hui-fang,ZHOU Xing-she,YU Zhi-wen(School of Computer Science,Nor thwester n Polytechnical Univers ity,Xi ’an Shanxi 710072,China)Abst ract :Along wit h t he developm ent of com puter net works and applica tions,distribut ed com ponent t echnolog y becam e t hehot spot of distribut ed com M is one of t he popular dis tribut ed com ponent technolog ies.This paper first int roduces t he background of CCM.It then describes t he m a in sect ions of CC M and a na ly zes the ex ist ing im plem ent at ions based on CC M.Fi-na lly,it com pares C CM with rela ted t echnolog ies.Key words:Com ponent;CORB A;C CM随着网络技术的飞速发展,单个计算节点的处理能力持续提高,不同厂商和异构技术环境的不断激增,使得分布式系统的应用和开发日趋复杂。
公共对象请求代理体系结构CORBA体系
公共对象请求代理体系结构CORBA体系什么是CORBA体系:CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构,通⽤对象请求代理体系结构)是由OMG组织制订的⼀种标准的⾯向对象应⽤程序体系规范。
或者说 CORBA体系结构是对象管理组织(OMG)为解决分布式处理环境(DCE)中,硬件和软件系统的互连⽽提出的⼀种解决⽅案;OMG组织是⼀个国际性的⾮盈利组织,其职责是为应⽤开发提供⼀个公共框架,制订⼯业指南和对象管理规范,加快对象技术的发展。
CORBA体系的主要内容包括以下⼏部分:(1)对象请求代理(Object Request Broker,ORB)。
负责对象在分布环境中透明地收发请求和响应,它是构建分布对象应⽤、在异构或同构环境下实现应⽤间互操作的基础。
(2)对象服务(Object Services)。
为使⽤和实现对象⽽提供的基本对象集合,这些服务应独⽴于应⽤领域。
主要的CORBA服务有:名录服务(Naming Service)、事件服务(Event Service)、⽣命周期服务(Life Cycle Service)、关系服务(Relationship Service)以及事务服务(Transaction Service)等。
这些服务⼏乎包括分布系统和⾯向对象系统的各个⽅⾯,每个组成部分都⾮常复杂。
(3)公共设施(Common Facilitites)。
向终端⽤户提供⼀组共享服务接⼝,例如系统管理、组合⽂档和电⼦邮件等。
(4)应⽤接⼝(Application Interfaces)。
由销售商提供的可控制其接⼝的产品,相应于传统的应⽤层表⽰,处于参考模型的最⾼层。
(5)领域接⼝(Domain Interfaces)。
为应⽤领域服务⽽提供的接⼝,如OMG组织为PDM系统制定的规范。
CORBA的含义及特点:1、CORBA定义了⼀种⾯向对象的软件构件构造⽅法,使不同的应⽤可以共享由此构造出来的软件构件;2、每个对象都将其内部操作细节封装起来,同时⼜向外界提供了精确定义的接⼝,从⽽降低了应⽤系统的复杂性,也降低了软件开发费⽤;3、CORBA的平台⽆关性实现了对象的跨平台引⽤,开发⼈员可以在更⼤的范围内选择最实⽤的对象加⼊到⾃⼰的应⽤系统之中;4、CORBA的语⾔⽆关性使开发⼈员可以在更⼤的范围内相互利⽤别⼈的编程技能和成果,是实现软件复⽤的实⽤化⼯具CORBA的⽤途:1、存取来⾃现⾏桌⾯应⽤程序的分布信息和资源;2、使现有业务数据和系统成为可供利⽤的⽹络资源;3、为某⼀特定业务⽤的定制的功能和能⼒来增强现⾏桌⾯⼯具和应⽤程序;4、改变和发展基于⽹络的系统以反映新的拓扑结构或新资源;。
什么是corba
什么是corbaCORBA(公共对象请求代理架构)(Common Object Request Broker Architect ure):这是个和微软com,com+齐名的同类软件技术规范,由OMT提出。
用于在不同进程(程序)之间,甚至是不同物理机器上的进程(程序)之间通讯。
底层技术依靠RPC[远程过程调用]实现。
由OMG制订的对象相互操作规范通常称为“对象管理体系”(ObjectManag ement Architecture,OMA)。
OMA定义了两个组件:“核心对象模型”(Core Object Model)和“OMA参考体系”(OMA Reference Model)。
OMA参考体系定义了一套基层服务结构及机制,实现了对象相互间进行操作的能力。
OMA参考体系包括“对象请求代理”(Object Request Broker,ORB)、“对象服务”(O bject Services,也称作CORBAservices)以及一些通用机制。
ORB是对象间相互请求的一条通信总线。
进行请求时,毋需关心对方的物理位置在哪里。
这意味着在客户代码中看起来象一次方案调用的过程实际是非常复杂的一次操作。
首先,必须存在与服务器对象的一条连接途径。
而且为了创建一个连接,ORB必须知道具体实现服务器的代码存放在哪里。
建好连接后,必须对方法自变量进行“汇集”。
例如,将它们转换到一个二进制流里,以便通过网络传送。
必须传递的其他信息包括服务器的机器名称、服务器进程以及对那个进程内的服务器对象进行标识的信息等等。
最后,这些信息通过一种低级线路协议传递,信息在服务器那一端解码,最后正式执行调用。
ORB将所有这些复杂的操作都从程序员眼前隐藏起来了,并使程序员的工作几乎和与调用本地对象的方法一样简单。
开发应用组件必须遵循标准,以保证软件组件的互操作性,只有遵循统一的标准,不同厂商的、不同时期的、不同程序设计风格的、不同编程语言的、不同操作系统的、不同平台上的软件或软件部件才能进行交流与合作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2004-05-19;修返日期:2004-06-26基金项目:国防预研基金资助项目(413160102)CORBA 构件模型综述*潘慧芳,周兴社,於志文(西北工业大学计算机学院,陕西西安710072)摘 要:随着计算机网络技术和应用的发展,分布构件技术成为分布式计算领域的热点,CCM 就是主流的分布构件技术之一。
首先介绍了CCM 产生的背景,然后对CCM 的重要组成部分进行了详细的阐述,并对现有的基于CCM 的研究和实现进行了简要的分析,最后将CCM 与EJ B 和COM 进行了比较。
关键词:构件;CORBA;CCM中图法分类号:TP311 文献标识码: A 文章编号:1001-3695(2005)05-0014-02An Overview of CORBA Com ponent M odelPAN Hui-fang,ZHOU Xing-she,YU Zhi-wen(School of Computer Science,Nor thwester n Polytechnical Univers ity,Xi ’an Shanxi 710072,China)Abst ract :Along wit h t he developm ent of com puter net works and applica tions,distribut ed com ponent t echnolog y becam e t hehot spot of distribut ed com M is one of t he popular dis tribut ed com ponent technolog ies.This paper first int roduces t he background of CCM.It then describes t he m a in sect ions of CC M and a na ly zes the ex ist ing im plem ent at ions based on CC M.Fi-na lly,it com pares C CM with rela ted t echnolog ies.Key words:Com ponent;CORB A;C CM随着网络技术的飞速发展,单个计算节点的处理能力持续提高,不同厂商和异构技术环境的不断激增,使得分布式系统的应用和开发日趋复杂。
在构建企业分布式应用系统的过程中,要求系统具有可配置性、可伸缩性、可重用性和可管理性,以满足不断增长的企业应用需求。
在这种情况下,分布构件技术应运而生。
通过采用分布构件技术,可以降低大型分布式系统的开发难度,重用已有的代码资源,提高分布式系统的开发效率。
目前,主流的服务器端分布构件技术有OMG 组织的C CM (CORB A C om ponent Model,C CM )技术,M icrosoft 的C OM (Com ponent Object M odel,C OM)技术以及S U N 的EJ B(E nt er-prise J av a Bea n,EJ B )技术。
因为C ORBA 采用远程对象调用机制,支持异构环境下分布式应用系统的开发和互操作,具有与底层硬件、操作系统、网络、通信协议和编程语言无关的特点,所以被广泛地应用于大型的分布式系统中。
而CCM 作为C ORB A 3.0规范的一部分,对原有的对象模型进行了扩展,从而更易于服务器端软件的重复使用和CORBA 应用程序的动态配置,因而具有广阔的应用前景。
1 CORBA 构件模型传统的CORB A 对象模型(CORBA2.x 规范)具有一些明显的缺陷,如没有配置对象实现的标准方式,缺少对公共COR-BA 服务器编程模式的有效支持,对象功能难以扩展,CORBA 对象服务的可用性没有预先定义,对象生命周期管理没有标准化等。
这些缺陷导致对象实现难以设计、重用、配置、管理和扩展。
为此,OMG 在C ORBA 3.0中引入了CCM,C CM 是用于开发和配置服务器端分布式应用的构件模型。
下面对CCM 中的抽象构件模型、构件实现框架(C IF)、容器编程模型、打包与部署模型进行详细的描述。
1.1 抽象构件模型CCM 构件提供了称为端口(Port s)的多种外部接口,以便与客户、其他构件、C ORB A 服务等进行交互。
构件模型支持四种基本的Port s 。
(1)侧面(Facet s)。
它是构件提供的与客户交互的相互独立的一组接口。
一个构件能够提供多个对象引用,这些不同的对象引用被称为Facet s,Facet s 可以支持不同名字和功能的IDL 接口。
客户通过唯一的等价接口(E quivalent Interfa ce)在构件的多个Facet s 间进行导航。
Fa cet 接口的实现被封装在构件中,被看作是构件的一部分。
(2)插口(Recept acles)。
它是一些指定的连接点(Connec-tion Point s),这些连接点描述一个构件使用外部构件提供的对象引用来调用其上的操作的能力。
通过使用插口,构件能够与其他对象进行连接,并调用这些对象的操作。
(3)事件源/事件接收器(E vent Sources/Ev ent S inks)。
它是指定发送/接收特定类型事件的连接点。
事件源分为Em it-ter 和Publis her 两类,Em itt er 规定在某个时间只允许一个接收者与之连接,Publisher 允许同时有多个接收者与之连接。
事件接收器允许有多个事件源与之相连。
(4)属性(At tribut es)。
属性主要用于构件的配置,配置工具使用属性对构件的配置参数进行预先的设置。
CCM 引入了产地(Hom e)对构件的生命周期进行管理。
一个Hom e 是某种类型所有构件实例的管理器,不同类型的Hom e 能够管理同一类型的构件,但一个构件实例只能有一个Hom e 实例。
Hom e 形式化了工厂(Fa ct ory)设计模式来管理同・41・计算机应用研究2005年一类型所有构件实例的生命周期。
Hom e接口提供创建(Crea-t e)和删除(Rem ove)构件实例的操作,客户能够访问Hom e接口来控制他所使用的构件实例的生命周期。
客户要使用构件,必须首先通过Resolv e_init ia l_references获得Hom eFinder接口的对象引用,再使用Hom eFinder获得Hom e接口的对象引用,最后通过调用正确的操作来创建或找到所需构件的对象引用。
1.2构件实现框架(Component Implementation Frame-work,CIF)构件实现框架为构造构件实现定义了编程模型。
C IF引入了构件实现定义语言(Com ponent Im plem enta tion Definit ion L anguag e,CIDL)来描述构件以及构件Hom e的实现。
支持构件的ORB产品编译CIDL描述文件,生成实现构架(S keleton),它自动完成了构件的许多基本行为,如导航、身份查询、激活、状态管理、生命周期管理等。
开发者对构架进行扩展,添加一些用户定制的构件行为,以创建完整的构件实现。
作为一种编程的抽象,C IF被设计成与现有的POA框架兼容,并且为编程人员屏蔽了使用复杂性。
特别是CIF能够使用现有的POA框架实现,但又没有直接暴露POA框架的任何元素。
1.3 容器编程模型(Container Programming Model)容器编程模型是一个API框架,它定义了一组API接口以简化开发和配置C ORB A应用的复杂度。
容器编程模型的组成如下:(1)外部API(E xt ernal API)。
定义了构件客户可用的接口,这些接口被存在接口库(Int erface Repos it ory)中,由构件开发者实现。
(2)容器API(Cont ainer API)。
定义了构件开发者使用的API框架,它由内部(Int ernal)接口和回调(Ca llback)接口组成。
内部接口由容器提供,用来帮助实现构件的行为,构件可以通过内部接口访问容器支持的服务;回调接口由构件实现,被容器调用,用来在容器内配置和管理构件。
(3)CORBA使用模型(CORB A U sag e Model)。
定义了容器和POA,ORB,C ORBA服务等的交互。
CORB A使用模型由策略(Policy)控制,策略规定了与POA和C ORBA服务的交互模式。
(4)构件的种类(Com ponent Ca tegory)。
有四种CORBA构件,分别是服务(Service)构件、会话(S es sion)构件、过程(Process)构件和实体(E nt it y)构件。
容器编程模型的体系结构如图1所示。
容器为CORB A构件提供运行时的执行环境。
主要功能有:负责运行时期所有构件实例的创建和管理;管理POA策略以决定如何创建构件引用;为常用的CORB A对象服务(交易服务、安全服务、持久性服务和通知服务)提供了一个适配层,从而将客户的请求转发给对应的C ORBA服务。
1.4 打包和部署CCM规范使用XML来指定构件的打包和部署信息,以简化构件在大型分布式系统上的配置和使用。
构件包(C om ponent Packa ge)是用于部署的最小单元,它包括构件的描述信息和一组二进制的构件实现文件。
描述信息在运行时供容器使用;每个实现文件对应在一种硬件平台、操作系统、语言编译器和ORB上编译产生的二进制代码。
一个构件包可以被单独部署,也可以被包含到一个组装包(Assem bly Packa ge)内和其中的其他构件一起部署。
组装包由一个包描述文件、一组构件包和属性文件组成。
包描述文件说明该组装包由哪些构件组成以及它们之间的相互关系。
使用构件包或组装包部署构件的过程如下:①部署工具与用户交互确定构件安装到哪些目标主机上;②将构件实现安装到目标主机上;③在主机上实例化构件Hom e和构件;④对于组装包,还需按照组装包描述信息建立构件之间的连接关系。
2CCM研究与实现系统目前,基于CCM的研究和实现有很多,其中比较有代表性的有:法国里尔大学GOAL项目组开发的OpenC CM(Open CORB A Com ponent Model Plat form),美国华盛顿大学的C IAO (Com ponent-Int eg rat ed ACE ORB),C PI开发的E J CCM(E nter-prise J av a CORB A Com ponent Model)以及MICO项目组开发的MicoCC M。