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是由OMG组织制订的一种标准的面向对象应用程序体系规范,使用IDL(接口定义语言)刻画出对象将呈现出来的接口,并且规定了从IDL到特定程序语言如C++或Java实现的映射。
其使用一种接口定义语言来刻画物件将呈现出来的接口,又规定了从IDL到特定程序语言如C++或Java实现的映射。
CORBA体系结构的中心部分是对象请求代理程序(Object Request Broker, ORB),它作为一个“软件总线”来连接网络上的不同对象。
在客户端,ORB提供一个发送操作调用的接口;而在服务器端,ORB提供一个将操作调用传输到服务器的API。
ORB的任务是定位一个合适的服务器,并且通过一个对象适配器(Object Adapter, OA)将操作调用传送给服务器。
OA的目的是:给框架发送方法,调用并且支持服务器对象的生命周期(例如,对象的建立和删除)。
在CORBA体系结构中,处理分布式处理环境(DCE)中硬件和软件系统的互连问题,实现整个系统上端到端的可预测性。
处理器资源管理是将网络任务的优先级映射到实时操作系统的优先级队列中,有两种映射方法:一种是将网络ORB请求映射到整个实时操作系统的优先级范围;另一种是映射到本地实时操作系统优先级的一个子集上。
优先级继承与传播:在运行过程中,进程会创建子进程,不同的进程之间相互调用,如果不支持优先级继承和传播,则无法保证正确的优
先级关系。
被调用进程的优先级必须大于或等于调用进程的优先级。
因此在调用时,必须动态改变被调用进程的优先级。
存储管理是通过进程池来实现的。
建议咨询专业人士获取具体详细信息。
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概述
CORBA基本概念
CORBA
Facilities(CORBA工厂):位于CORBA
Services之上,定义了更高层次的分布式服务与框 架。如:打印、电子邮件、文档管理等。
CORBA体系结构
CORBA在基于网络的分布式应用环境下实现应用
软件的集成,使得面向对象的软件在分布、异构环 境下实现可重用、可移植和互操作。
将被分布对象的消息。
CORBA基本概念
CORBA
务。
services(CORBA服务):在ORB级别之
上,定义了大多数分布式企业对象可利用的公共服
命名服务、交易对象服务、关系服务、生命周期服务、外表化服
务、查询服务、事件服务、许可服务、时间服务、对象事务服务、并发 服务、安全服务、收集服务、特性服务、持久对象服务、通知服务、增 强时间视图等。
义语言:定义客户和服务器之间的静态接口,通过 编译器生成客户存根、服务器框架,以及根据支持
的语言映射,自动生成来自一个CORBA IDL的代码。
目前支持的语言映射包括:Java, C++等。
CORBA基本概念
SII(Static SSI(Static
Invocation Interface)静态调用
CORBA体系结构
CORBA特点
CORBA的核心是一套标准的语言、接口和协议, 以支持异构分布应用程序间的互操作性及独立于平 台和编程语言的对象重用。 引入中间件(Middleware)作为事务代理,完 成客户机(Client)向服务对象方(Server)提出 的业务请求;
CORBA体系结构
CORBA特点
编译IDL文件生成,其功能是负责发送一个操作调 用给能实现此操作的服务。
CORBA入门
1.CORBA什么是?
CORBA是Common Object Broker Architecture简称,即公共对象请 求代理体系。
2. COBRA的发展
1991年CORBA的第一个版本问世,可是他只是规范了如何再C程 序中使用它。 随着OMG(Object Management Group,对象管理组)公布RFP(Request for proposals,征求提案)作为将CORBA映射到C++的标准,1994年 秋天才完成了标准化。 最初为CORBA2.0。在CORBA2.0种提供了IIOP(Internet Inter-ORB Protocol)。随后的2.1、2.2、2.3作了部分修改
应用对象 公共设施 ORB
对象服务
第2章 CORBA概述
1.公共设施 (1) 横向设施:是指在通用领域内定义的对象 (2) 纵向设施:是指在专用领域内定义的对象 2.对象服务 (1) 命名服务 (2) 事件服务 (3) 事件处理服务 (4) 交易服务 (5) 生命周期服务 (6) 安全服务 (7) 通知服务 3. 对象请求代理(ORB) 它是CORBA的基础,是在分布式环境下,CORBA应用所使用的基 于对象模型的软件总线。
第2章 CORBA概述
静态调用和动态调用的区别: 国王就是客户,哲学家就是存根,国王询问哲学家就是 客户调用存根,名片就是对象引用,电话就是ORB核 心,哲学界伙伴就是静态框架,先知就是对象实现。 秘书就是DII,名片薄就是接口库。
国王 先知
6 哲学家
1
2
3 哲学家伙伴
4
5
第2章 CORBA概述
corba协议-概述说明以及解释
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)是一种用于分布式系统中对象通信的协议。
corba介绍(java语言)
1.C ORBA 简介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一种异构平台下的语言无关的对象互操作模型。
1.1 CORBA体系结构CORBA的体系结构如下:图1.1 CORBA体系结构CORBA上的服务用IDL描述,IDL将被映射为某种程序设计语言如C++或Java,并且分成两分,在客户方叫IDL Stub(桩), 在服务器方叫IDL Skeleton(骨架)。
两者可以采用不同的语言。
服务器方在Skeleton的基础上编写对象实现(Object Implementation),而客户方要访问服务器对象上的方法,则要通过客户桩。
CORBA概述
持的特定传输之上。
CORBA基本概念
IIOP(Internet
Inter-ORB Protocol)因特网
ORB之间的协议:IIOP把GIOP消息数据映射为 TCP/IP连接行为和输入/输出流读/写。OMG 在最广
泛使用的通信传输平台 -- TCP/IP 上标准化 GIOP。
GIOP 加 TCP/IP 等于 IIOP。
接口:位于客户端,客户与ORB之间的静态接口。 Skeleton Interface)静态框架接
口:位于服务器端,ORB与服务器之间的静态接口。
CORBA基本概念
stub
存根:位于客户端,由IDL编译器编译IDL
文件生成,其功能类似一个客户代理。
skeleton
框架:位于服务器端,由IDL编译器
CORBA
CORBA
CORBA(Common Object Request Broker Architecture:通用对象请求代理结构)是一个分 布式的面向对象应用架构规范,它是由OMG研究组 在80年代末提出,在90年代逐步完善,形成现在被
软件行业普遍认可的标准CORBA/IIOP 规范,目前
CORBA基本概念
DII(Dynamic DSI(Dynamic
Invocation Interface)动态调用
接口:位于客户端,发送客户端的调用请求。 Skeleton Interface)动态框架接
口,位于服务器端,传送客户端的调用请求。
CORBA基本概念
IDL(Interface
Definition Language)接口定
3.0版。
CORBA
CORBA
与RPC(Remote Procedure Call)不同,CORBA 是基于面向对象技术的,它能解决远程对象之间的 互操作问题。 DCOM (Distributed Component Object Model) 和Java RMI(Remote Method Invocation ) 也解 决这一问题的, 但有不足。
CORBA核心服务
事件服务
服务端
4)调用SupplierAdmin对象的obtain_push_consumer()方法,得到一 个ProxyPushConsumer对象。 5)创建1)中的Supplier的实现类的一个实例。在上面4)得到的 ProxyPushConsumer对象上调用connect_push_supplier()方法,把 Supplier的实现类的实例传给此方法。 6)现在Server侧已经连接到Event Channel,可以调用 ProxyPushConsumer对象的push()方法来发送事件通知给Channel了。
$nmg $dior
命名服务
// get a reference to the naming service ORB orb = ORB.init(args, null); org.omg.CORBA.Object o = orb.resolve_initial_references("NameService") NamingContextExt nc = NamingContextExtHelper.narrow( o ); // look up an object server s =
事件服务
服务端
1)创建一个类,继承自PushSupplierPOA,这个类就是Server侧的 Supplier的实现类。 2)创建一个org.jacorb.events.EventChannelImpl 的对象,它实现了 EventChannel的接口。然后向NameService注册这个Channel,注册时 提供一个Channel名。 3)调用EventChannelImpl对象的for_suppliers()方法,得到一个 SupplierAdmin对象。
公共对象请求代理体系结构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、改变和发展基于⽹络的系统以反映新的拓扑结构或新资源;。
webservices、corba、jms、rpc、rmi的区别和概述
新浪微博:/csx1998(放牛长大)1、web service体系结构首先客户端从服务器的到WebService的WSDL,同时在客户端声称一个代理类(Proxy Class)这个代理类负责与WebService服务器进行Request 和Response当一个数据(XML格式的)被封装成SOAP格式的数据流发送到服务器端的时候,就会生成一个进程对象并且把接收到这个Request的SOAP包进行解析,然后对事物进行处理,处理结束以后再对这个计算结果进行SOAP包装,然后把这个包作为一个Response发送给客户端的代理类(Proxy Class),同样地,这个代理类也对这个SOAP包进行解析处理,继而进行后续操作。
这就是WebService的一个运行过程。
Web Service大体上分为5个层次:1. Http传输信道2. XML的数据格式3. SOAP封装格式4. WSDL的描述方式5. UDDI2、RCP客户机对服务器的RPC调用,其内部操作大致有如下十步:1.调用客户端句柄;执行传送参数、2.调用本地系统内核发送网络消息、3.消息传送到远程主机4.服务器句柄得到消息并取得参数、5.执行远程过程、6.执行的过程将结果返回服务器句柄7.服务器句柄返回结果,调用远程系统内核、8.消息传回本地主机、9.客户句柄由内核接收消息、10.客户接收句柄返回的数据3、webservices/corba/jms/rpc/rmi区别web service提供的服务是基于web容器的,底层使用http协议,类似一个远程的服务提供者,比如天气预报服务,对各地客户端提供天气预报,是一种请求应答的机制,是跨系统跨平台的。
webservice服务端是运行在web服务器上的,不过也可以使用Remoting命名空间,创建c/s式的服务,比如CORBA就是c/s的方式提供服务3.1RPC与Web Service1、RPC可以灵活的定义其所基于的协议,如果定义为HTTP,则与Web Service就没有什么区别了,一般都喜欢定义为TCP,这样比Web Service稍为高效一些2、RPC不是标准,而Web Service是标准;3、RPC一般需要通过一个WinForm或是Windows服务进行启动,而Web Service则需要web服务进行启动我建议还是采用Web Service好些,对于开发来说更容易控制RPC一般用在C/S的系统中,Web Service是用在B/S系统中后者还是各语言的通用接口3.2RPC与RMI远程对象方法调用并不是新概念,远程过程调用(RPC) 已经使用很多年了。
CORBA安全服务及其安全策略的研究
遵 循 相 同的 I L语义 的对 象 可 以相 互访 问 。C R A 安 安全 策略可被 同样满 足规范 的其他 策略替换 。安全 替 D O B
网络化和异构化等特点 ,对于相对传统的集 中式应用而 通过窃听通信线路 以截获机密数据 ;篡改对象之 间的通 言 ,分 布式应 用系统可 能存在更 多的安 全漏洞 ,更容 信从而 非法改动系统数据 ;由于对用户认证不足而导致
易受 到攻击 。 目前安全技 术很 多,但应 用在分 布式环 系统 缺 乏 可记账 性 。
S crySr c ,为 C R A应用程序提供 多 t ve O B A ci c r, O B r t t e C R A) he u 安全服 务是一套技术规范 ,详细 全服务 ( eui e i ) 地介绍了在 C R A环境 中如何管理安全性 。 O B
一
种安全措施 以满足不同分布式应用的需求。除了解决基
义 了 策 略和 接 口 。
全机制 ,如消息保护质量 ( o 、安全策略管理 、修改 Q P)
( ) 可 否认性 ( o — e u it n o是 指 系统 必 证书特权等。 4 不 N n rp dai o
须为由主体执行的 、与系统安全性有关的行为提供不可
( 可选的安全功能 ,C B 2) OR A安全服 务规范一种
双 方 问 信 息 的机 密 性 、完整 性 、真实 性 和不 可否 认 性 成 的信 息 ;某 一 授权 用 户伪 装 成 另一 用 户并 取 得 该 用 户被
绕 了人们不得不面对的问题 。此外 ,由于分布式系统具有 授 予 的访 问权 限; 过安 全 控制 机制 直 接访 问 系统信 息 ;
OR A应用程序 , 行的与对象安全性有关 的行为。为了监视安全性 ,就必 级 安全主要针对那些 无安全意识的 C B 须审计许多事件如身份认证失败 、特权变更等 ,在具有 可 为不熟悉安全机制或访问控制与安全审计要求不高的 I 安全性功能的 O B中 ,C R A安全服务为审计行为定 应用程序提供最基本 的安全保障 ;I 级可提供更 多的安 R O B
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 核心又是怎么得到并维护这个POA 与服务标识的列表的呢?这个列表的用于所有ORB 实现的同一接口可能有多个对象适配器上调用 下调用总体结构图创建与修改都是通过POA来完成的,因为与对象实现(服务提供者)直接交互的是POA,而不是ORB核心。
对于服务是否可用的状态维护,本系统考虑了两种情况:一是ORB先于对象实现而运行;二是对象实现先于ORB而运行。
其实这里所说的ORB主要是指ORB中的POA。
CORBA_百度百科
CORBA(Common Object Request Broker Architecture公共对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程序体系规范。
或者说CORBA体系结构是对象管理组织(OMG)为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案;OMG组织是一个国际性的非盈利组织,其职责是为应用开发提供一个公共框架,制订工业指南和对象管理规范,加快对象技术的发展。
OMG组织成立后不久就制订了OMA(Object Management Architecture,对象管理体系结构)参考模型,该模型描述了OMG规范所遵循的概念化的基础结构。
OMA由对象请求代理ORB、对象服务、公共设施、域接口和应用接口这几个部分组成,其核心部分是对象请求代理ORB(Object Request Broker)。
对象服务是为使用和实现对象而提供的基本服务集合;公共设施是向终端用户应用程序提供的一组共享服务接口;域接口是为应用领域服务而提供的接口;应用接口是由开发商提供的产品,用于它们的接口,不属于OMG 标准的内容。
ORB提供了一种机制,通过这种机制,对象可以透明的发出请求和接收响应。
分布的、可以互操作的对象可以利用ORB 构造可以互操作的应用。
CORBA系统CORBA标准由对象管理组织(OMG)设立并进行控制,CORBA定议了一系列API,通信协议,和物件/服务信息模型用于使得异质应用程序能够互相操作,这些应用程序用不同的程序语言编写,运行在不同的平台上。
CORBA因此为定义明确的物件提供了平台和位置的透明性,这些物件是分布式计算平台的基础。
CORBA分布计算技术,是由绝大多数分布计算平台厂商所支持和遵循的系统规范技术,具有模型完整、先进,独立于系统平台和开发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准。
COBRA标准主要分为3个层次:对象请求代理、公共对象服务和公共设施。
网络计算-CORBA简介x
网络计算 net-centric Computing
3. ORB结构
客户 对象实现
动态 调用
IDL根 程序
ORB 接口
静态 IDL程 序框架
动态 程序 框架
对象适 配器
ORB核
用于所有ORB实现的同一接口 对每个对象类型有程序存根和一个程序框架 依存ORB的接口 上调用接口 常规调用接口
计算机学院
计算机学院
网络计算 net-centric Computing
2. OMA参考模型
对象安全性服务 负责系统本身的安全管理。 并发控制服务 负责实现多客户访问情况下的并发性控制和对共享资 源的管理。 生命周期服务 定义和描述了创建、删除、拷贝和移动对象的方法。
计算机学院
网络计算 net-centric Computing
计算机学院
网络计算 net-centric Computing
1. 概述
分布式计算环境(DCE) 主要目的是在异构的网络环境中提供互操作能力。 服务分成两类:基础分布式服务、数据共享服务。 基础分布式服务: 远程过程调用(RPC):提供DCE的分布式通信机制。 分布式时间服务:提供个节点之间的时钟同步。 局部/全局目录服务:许多分布式环境都提供目录服务。 安全服务:授权、鉴别、用户帐户管理等服务。完整性、保
网络计算 Net-Centric Computing
第2章 基于CORBA的分布式平台
网络计算 net-centric Computing
本章要求:
基本概念、体系结构、参考模型等。 原理及编程
计算机学院
网络计算 net-centric Computing
CORBA内容结构:
CORBA解析
14
5.2 公共对象请求代理体系结构
*CORBA
(Common Object Request Broker Architecture )
由OMG提出的应用软件体系结构和对象技术规范, 其核心是一套标准的语言、接口和协议,以支持异构 分布应用程序间的互操作性及独立于平台和编程语言 的对象重用。
10
对象服务
5.1续
⑸事件服务(Event Service):允许对象动态注 册或撤消指定的事件。
⑹安全服务(Security Service):提供一个分布 式对象安全的完整框架。 ⑺交易器服务(Trader Service) : 提供对象的 “黄页”服务,允许服务对象对外公布所能提供的 服务,并让客户对象能够动态地查找到它。 ⑻关系服务(Relationship Service) : 提供在不 相识的对象间动态创建关系的方法,并能不断地跟 踪这种关系。
应用界面 域界面 公共设施
对象请求代理(ORB)
对象服务
7
ORB (Object Request Broker)
5.1续
对象请求代理ORB 是CORBA的基础,是在分布 式环境下,CORBA应用所使用的、基于对象模 型的软件总线。
ORB负责对象在分布环境中透明地收发请求和响 应,它是构建分布对象应用、在异构或同构环境 下实现应用间互操作的基础。 ORB通过标准接口使对象之间的连接独立于所使 用的硬件和软件平台,从而保证了对平台的透明 性以及对操作系统、网络协议和编程语言的透明 性。
4
OMA (Object Management Architecture)
由OMG制定的最关键的规范:
1、对象管理结构——OMA 2、CORBA规范(对象管理结构的核心)
CORBA日志服务的设计和实现
C B 日志 服 务 的 设 计 和 实 现 OR A
杜英芳 汪 芸
( 东南大学计算机科学 与工程学院 , 东南大学计算 机网络 和信息集成教育部 重点实验室 江苏 南京 2 09 10 6)
摘
要
遵从 C R A的 曰志服务规 范, O B 根据该规 范设 计 了 曰志服务 实现结构 , 并在 O B S开发 平 台上 实现 了该服 务。在 局域 RU
nm eo r o sn a a ,n t v ae e y odtb cse h gs le nat t u b c d. dxs r t u br fe r t s adh ae g d! r a ok fci o l le e m eo r o sIa i e ic a d c d i d a e e r a f a l t n ic sy i r oh n r fe r f n n e e b
o ea e oumn,he d ly a e r d e r mai al co e t e a c n tn . f rrlt d c l t ea s c n b e uc d d a tc ly, ls o b o sa t
Ke wo d y rs
a d r c r e c ig i aa a e o c p h s p r o o e ie d ly T e a e a e d ly f re c e o d s a c i g i p o o i n o t e n e o d s a h n n d t b s c u y t e mo t a t fL g S r c ea , h v rg e a o a h r c r e r h n r p r o a t r v s t l h
Ab ta t s r c Th r ht cu e o o e vc sd sg e o f r n o t e s e i c t n o l c m o ev c fC e a c i t r f g s r ie i e in d c n o mi g t h p cf ai ft e o lg S ri e o ORB T e lg s ri e i e l i o e A. h o e c s v
基于CORBA的服务器-客户间对象定位-Read
工厂对象是极其有用的,特别是在客户机能使用大量对象的时候。 服务器可以只公布一些工厂对象,而不公布所有伺服对象的引用, 客户机可以用这些工厂对象来获取它所需的剩余对象的引用。要注 意工厂对于减少某个时间在一个服务器进程中激活的对象数量也是 有用的。工厂允许服务器程序员推迟对象的实例化,直至客户机明 确地请求该对象,而不需要着急实例化所有可能的对象。这些优点 使得工厂对于多数的大规模CORBA系统都是很重要的。 工厂对象本身的发布仍然需要其他机制.
一般模型
对象目录
2.查找
1.公布 3.使用
客户机
服务器
特定于ORB的方法
商业上的ORB还典型地支持定位对象的专有机制。这些机制很容易使用, 很受欢迎。例如IONA Technologies和Borland的ORB都实现了专有的 _bind()方法,这是由IDL编译器为每个接口生成的。这两个机制的详情很 不一样,但它们都受到同样的制约—缺少抽象性。
对象发布/定位机制的选择
主要的考虑是环境的复杂性。有多少对象要被公布到对象目录? 客户机用来查找对象的标准有多复杂?用户要求什么样的服务质量?确 保用户对客户机如何查找对象有一充分的了解是很重要的。
通常,不要使用与特定ORB相关的机制,它们依赖于专有的机制, 并没有工具把高层次信息和对象关联起来,而且不能与其他ORB 互操作。
对于很简单的静态环境,使用对象引用字符串是恰当的。这个方
法不依赖于任何附加服务的可用性。客户机只需使用对象引用字
符串并连接到合适的服务器。
对于更复杂的环境,命名服务更加适合。它们要求更多的考虑,
但相对于其他方法,它们能向用户提供更多的功能。
遗憾的是:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CORBA服务
CORBA (Common Object Request Broker Architecture)是一种分
布式计算平台,旨在使不同的计算机系统能够相互通信和交互。
CORBA服务是由CORBA技术提供的一种机制,用于简化分
布式系统中的通信和互操作。
CORBA服务可以被视为一种软件组件,可以在网络上的不同
计算机之间进行通信。
它提供了一个中间件层,用于处理不同计算机之间的通信细节,例如数据序列化、网络传输和安全性。
这使得开发人员可以将重点放在业务逻辑上,而不必担心底层通信机制。
在CORBA服务中,存在两个主要角色:客户端和服务器。
客户端是请求CORBA服务的应用程序,而服务器是提供CORBA服务的应用程序。
客户端向服务器发送请求,服务器
根据请求执行相应的操作,并将结果返回给客户端。
CORBA
使用一个称为ORB(Object Request Broker)的组件来协调客
户端和服务器之间的通信。
CORBA服务提供了一种透明的方式来访问远程对象。
远程对
象是分布在不同计算机上的对象,可以通过CORBA服务进行远程访问。
客户端不需要了解远程对象的位置和实现细节,只需要知道对象的接口定义。
这种透明性使得客户端可以轻松地访问远程对象,同时也降低了系统的耦合度。
CORBA服务的另一个重要特点是面向对象的。
它支持面向对
象的概念,例如继承、封装和多态。
通过使用面向对象的概念,
开发人员可以更容易地设计和实现复杂的分布式系统。
CORBA服务还提供了一些高级功能,例如事务处理和持久性。
事务处理允许开发人员将多个操作组合成一个原子操作,以确保数据的一致性和完整性。
持久性允许对象在服务器重启后保持其状态,以便客户端可以继续与对象交互。
总的来说,CORBA服务为分布式系统提供了一种简单、灵活
和可扩展的通信机制。
它通过隐藏底层通信细节和提供丰富的功能,使得开发人员可以更容易地开发和维护分布式应用程序。
同时,CORBA服务还具有跨平台性,可以在不同的操作系统
和编程语言之间进行通信。
然而,CORBA服务也存在一些挑战。
首先,它的学习曲线比
较陡峭,需要开发人员具备一定的分布式系统和面向对象编程的知识。
其次,CORBA服务的性能可能不如其他分布式通信
技术,例如Web服务或消息队列。
最后,CORBA服务的部署和配置可能比较复杂,需要一些额外的设置和配置。
尽管如此,CORBA服务仍然是一种重要的分布式计算平台,
并在许多行业中得到广泛应用。
它在电信、金融、航空航天和军事等领域发挥着重要作用。
随着互联网的发展和新兴技术的出现,CORBA服务将继续适应和演变,为分布式系统提供更
好的通信和互操作性。
不确定你想写关于什么主题的内容,请给出具体的主题或要求。