中间件 Corba 架构
通信中间件CORBA

CORBA(COMmon Object Request Broker Architecture,公共对象请求代理体系结构,通用对象请求代理体系结构)是由OMG(The Object Management Group)组织制订的一种标准的面向对象应用程序体系规范。
或者说 CORBA体系结构是对象管理组织(OMG)为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案;OMG组织是一个国际性的非盈利组织,其职责是为应用开发提供一个公共框架,制订工业指南和对象管理规范,加快对象技术的发展。
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把用其他语言开发的程序码和关于该程序码能力和如何调用该程序码的资讯包到一个套装(package)中,包成套装的物件则可以在网络上被其他程序(或CORBA物件)调用。
corb表达式 -回复

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的二代证识别中间件的设计与实现

它渐 渐被人 们所 重视 . 并且 成为 中间件技 术 的主流 平 台。在这 里我 们采用 Jv 语 言来实 现 C R A架 构 。 aa O B
2 中 间件 应 用模 型
在 采用基 于二 代身份 证进 行个体 信息识 别 的项 目开发 中 .
代 居 民身份证 的信息 化应 用也在 逐步 推广 开来 。 由于第二 代身
应用 中 . 下位 机读 卡设 备 更换 的情 况 下 , 以通 过 中间件 组 在 可
加投入 。
件 的接 口直 接与原 有 的系统进 行接 驳 , 不必在 更新原 系统 上追
应 统1 用1 应 系 累 . 一
I 用 统 一 应 系 nI .
变更 . 只需 将 中 问件进 行 对应 的升 级 , 保持 中间件 对外 部 的 并 定 义不变 , 用软件 几乎 不用修 改 。因此 , 应 采用 用 中间件技 术 , 开 发易 集成 、 易移 植 、 演进 、 易 高可 靠 和易 使用 的 软件 系统 , 成
摘 要 : 根据 第二 代 身份证 的相 关理 论特 性 , 以及 在 实 际 系统 中的应 用情 况 , 计 了一种 用于第 二代 身份 证识 别 的 设
中间件解 决方案 。 方案在 结构上 采 用 C RB 并使 用 Jv 言进 行 实现 。 中间件封装 了第二代 身份证读 取 的部 本 O A, aa语 该
化处 理并将 它们 捆绑在 一起 的粘合 剂 。由于 C R A的操作 平 O B
基 金 项 目 : 江 省 大 学 生 科 技 创 新 活 动 计 划 (0 0 1 0 ) 浙 2 10 0 4
由于采用 了 C R A来 进行 开 发 , O B 整个 中间件 由两 部分 模
java corba 编译

java corba 编译Java CORBA是一种基于Java语言的分布式对象技术。
CORBA (Common Object Request Broker Architecture)是一种面向对象的中间件,通过它可以实现不同平台、不同语言的对象之间的通信和交互。
本文将对Java CORBA进行详细介绍,包括其基本概念、使用方法以及优缺点等方面。
一、CORBA基本概念CORBA是一种分布式对象技术,它建立在面向对象的基础上,通过定义标准接口和协议,使得不同平台、不同语言的对象能够相互通信和交互。
CORBA的核心是对象请求代理(Object Request Broker,ORB),它充当了分布式对象之间的中间人角色,负责对象的寻址、消息传递和通信协议的实现等功能。
二、Java CORBA的使用方法1. 定义IDL接口:IDL(Interface Definition Language)是CORBA的接口定义语言,用于定义接口的操作和数据结构。
首先需要在IDL文件中定义接口的方法和参数等信息。
2. 编译IDL文件:使用IDL编译器将IDL文件编译成Java代码,生成对应的Java接口文件。
3. 实现接口:根据生成的Java接口文件,编写具体的实现类,实现接口中定义的方法。
4. 编译和打包:将实现类的源代码编译成Java字节码文件,然后将字节码文件打包成Java Archive(JAR)文件。
5. 启动ORB:在应用程序中启动ORB,创建ORB实例,并通过ORB连接到CORBA服务。
6. 注册对象:将实现类的对象注册到ORB中,使得其他对象能够通过ORB访问该对象。
7. 远程调用:通过ORB提供的接口,远程调用其他对象的方法,实现分布式对象之间的通信和交互。
三、Java CORBA的优缺点1. 优点- 跨平台、跨语言:CORBA使用IDL作为接口定义语言,使得不同平台、不同语言的对象能够相互通信和交互。
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

•
OMG成立于 成立于1989年,作为一个非营利性组 成立于 年 集中致力于开发在技术上具有先进性、 织,集中致力于开发在技术上具有先进性、在商 业上具有可行性并且独立于厂商的软件互联规范, 业上具有可行性并且独立于厂商的软件互联规范, 推广面向对象模型技术, 推广面向对象模型技术,增强软件的可移植性 )、可重用性 (Portability)、可重用性(Reusability)和互 )、可重用性( ) 操作性( )。该组织成立之初 操作性(Interoperability)。该组织成立之初, )。该组织成立之初, 成员包括Unisys、Sun、Cannon、Hewlett成员包括 、 、 、 Packard、Philips等在业界享有声誉的软硬件厂 、 等在业界享有声誉的软硬件厂 目前该组织拥有800多家成员。 多家成员。 商,目前该组织拥有 多家成员
•
CORBA体系的主要内容包括以下几部分: 体系的主要内容包括以下几部分: 体系的主要内容包括以下几部分 (1) 对象请求代理 对象请求代理ORB(Object Request Broker):负责对象在分 : 布环境中透明地收发请求和响应,它是构建分布对象应用、 布环境中透明地收发请求和响应,它是构建分布对象应用、在异构或 同构环境下实现应用间互操作的基础。 同构环境下实现应用间互操作的基础。 (2) 对象服务(Object Services):为使用和实现对象而提供的 对象服务( ):为使用和实现对象而提供的 ): 基本对象集合,这些服务应独立于应用领域。主要的CORBA服务有: 服务有: 基本对象集合,这些服务应独立于应用领域。主要的 服务有 名录服务(Naming Service)、事件服务 名录服务 、事件服务(Event Service)、生命周期 、 服务(Life Cycle Service)、关系服务 服务 、关系服务(Relationship Service)、事务 、 服务(Transaction Service)等。这些服务几乎包括分布系统和面向对 服务 等 象系统的各个方面,每个组成部分都非常复杂。 象系统的各个方面,每个组成部分都非常复杂。 (3) 公共设施 公共设施(Common Facilitites):向终端用户提供一组共享 : 服务接口,例如系统管理、组合文档和电子邮件等。 服务接口,例如系统管理、组合文档和电子邮件等。 (4) 应用接口 应用接口(Application Interfaces):由销售商提供的可控制 : 其接口的产品,相应于传统的应用层表示,处于参考模型的最高层。 其接口的产品,相应于传统的应用层表示,处于参考模型的最高层。 (5) 域接口 域接口(Domain Interfaces):为应用领域服务而提供的接口。 :为应用领域服务而提供的接口。 组织为PDM系统制定的规范。 系统制定的规范。 如OMG组织为 组织为 系统制定的规范
1--Corba整体介绍

CORBA的产生 CORBA的产生
CORBA的产生有其特定的背景,它是在面 向对象的技术兴起,客户/服务器模式普遍 得到应用的前提下,为屏蔽通信和实现细 节的需求,继承已有系统,消除“孤岛” 现象而产生的。
最 初,OMG 在1990 年 制 订 了 对 象 管 理 体 系(Object Management Architecture), 即 OMA, 来 描 述 应 用 程 序 如 何 实 现 互 操 作。 作 为 其 中 的 一 部 分, 需 要 有 一 个 标 准 规 范应用程序片段即对象的互操作──这 导 致 了CORBA 的 诞 生。
Client
远程引用
Object Request Broker 详 述
OMA 定 义 了 组 成CORBA 的 四 个 主 要 部 分:
(1) 对象请求代理ORB(Object Request Broker)。
(2) 对象服务(Object Services)
(3) 公共设施(Common Facilitites)
(4) Business Objects
对象请求代理ORB(Object 对象请求代理ORB(Object Request Broker)
(1) 对象请求代理ORB(Object Request Broker): 负责对象在分布环境中透明地收发请求和响应, 它是构建分布对象应用、在异构或同构环境下实 现应用间互操作的基础。ORB是一个中间件,他 在对象间建立客户-服务器的关系。通过ORB, 一个客户可以很简单地使用服务器对象的方法而 不论服务器是在同一机器上还是通过一个网络访 问。ORB截获调用然后负责找到一个对象实现这 个请求,传递参数和方法,最后返回结果。客户 不用知道对象在哪里,是什么语言实现的,他的 操作系统以及其他和对象接口无关的东西。
公共对象请求代理体系结构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),以增强软件系统间的互操作能力,使构造灵活的分布式应用系统成为可能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对象管理小组
由OMG制定的最关键的规范——对象管理结构 (Object Management Architecture, OMA)和它的核 心(也就是CORBA规范),提供了一个完整的体系结 构。这个结构以足够的灵活性、丰富的形式适用了各 类分布式系统。
山东大学计算机科学与技术学院
–命名服务(Naming Service):允许通过名字查找对象。 –持久性服务(Persistence Service):提供在各种存储服
务器(包括对象数据库、关系数据库和简单文件)上永久 性存储对象的统一界面。
山东大学计算机科学与技术学院
对象服务
–生存周期服务(Life Cycle Service):定义了在 对象总线上创建、拷贝、移动和删除对象的操作。
持久支应对持用象客、户程事程序务序接、与并对口发象控实制现在一个分布式环境
、关中系通、信外。表化、许可机制
、查独询立领、于属实域性现接、对口安与象全具的性体特、应定时用平相台关与的技接术口。
间、客对户象程收序集无、需交为知易终道对端如象用何等户与执对行象特通定讯的、任如务何激
服务活。对公象、共对设象C施不如O是何RBO实AM现MG、a标n如u准f何a化ct查u的r找i内n对g容象等。
5.1.0.3 对象管理体系结构
OMA描述了面向对象技术在分布式处理中的运 用。它包括两部分:对象模型(Object Model)和参 考模型(Reference Model)。 对象模型定义如何描述分布式异质环境中的对象; 参考模型描述对象之间的交互。
山东大学计算机科学与技术学院
5.1.0.3.1 OMA对象模型
▪ 成立于1989年的非盈利性联盟。 ▪ 目标:
– 促进在分布式系统开发中面向对象技术的理论与实践的 发展。
▪ 现有成员800多个,负责制定协议、实现基于
协议的软件产品、应用软件产品。
山东大学计算机科学与技术学院
对象管理小组
为使该组织所采纳的技术具有开放性,OMG所 采用的方法是,针对某一领域发出RFP(Request For Proposal), 然后以各方提交的建议为基础,经过一系 列的讨论和协商,产生最终的规范。CORBA规范主 要基于以下几个公司所提交的建议:DEC、 HyperDesk、HP、SunSoft、NCR和Object Design。
在OMA对象模型中,对象是一个被封装的实体, 它具有一个不可改变的标识,并能给客户用户提供一 个或多个服务。 interface printer {
attribute model; void print(in string buffer); };
山东大学计算机科学与技术学院
OMA对象模型
对象的访问方式是通过向对象发出请求来完成的。 请求信息包括目标对象、所请求的操作、0个或多个实 际参数和可选的请求上下文(描述环境信息)。每个 对象的实现和位置,对客户都是透明的。
山东大学计算机科学与技术学院
ORB优点
▪ 静态和动态调用:可在编译时或运行时使用方法调
用
▪ 高级语言绑定:将界面与实现分离且提供中性语言
数据类型
▪ 位置透明 ▪ 内置安全和事务处理 ▪ 与遗留系统共存:使用IDL可使遗留代码看起来像
ORB上的对象
山东大学计算机科学与技术学院
5.1.1 对象服务
对象服务提供基本服务,与具体的应用领域无 关的界面。目前,CORBA支持的这类服务有:名 字服务、持久性服务、生命周期服务、事务处理服 务、对象事件服务和安全服务等。
– 2)把interface放入Interface Repository service中; 该服务把接口中的元素描述 成一个对象。
▪ 任何能实现ORB的软件中,IDL和Interface Repository具有相同的作用。
一个client要使用Object Reference完成请求,它必须知道对象的类型的及 具体的操作。
山东大学计算机科学与技术学院
5.1.4 应用界面
应用界面针对某一具体应用而产生。
山东大学计算机科学与技术学院
5.2 公共对象请求代理体系结构CORBA)
CORBA规范详细说明了OMA中ORB组件的特 性和界面。最新的CORBA规范主要包含以下内容:
– ORB 核心(ORB CORE) – OMG界面定义语言 – 界面仓库和实现仓库 – 语言映射 – 存根和框架 – 动态调用 – 对象适配器(Object Adapter) – ORB之间的互操作
并保证了在异C类O网RB络A中M对ed象的可移植性与可
互操对作性象。服C务COORRBBAA FFaicnialnicteies:
CORBA 分Te布lec式om文s 档设施
对象请求代理 打印设施
数据库设施
计算机科学与技术学院
5.1.0.4 对象请求代理——ORB
5.1.2 公共设施
与对象服务不同的是,公共设施面向最终用户的 应用,它是各种应用可以共享的一系列服务集合。复 合文档的管理工具,数据库存取工具、文件打印工具、 电子邮件服务都等属于公共设施。
山东大学计算机科学与技术学院
5.1.3 域界面
针对着某一特殊的应用领域。例如,PDME(工厂 数据管理环境) 是OMG发出的最早的这类RFP之一, 它是为解决制造领域中的问题而发出的。另外,OMG 也已经发出了通信、医药和财务等领域中的这类RFP。
山东大学计算机科学与技术学院
▪ 5.1.0 基本概念 ▪ 5.1.1 对象服务 ▪ 5.1.2 公共设施 ▪ 5.1.3 域界面 ▪ 5.1.4 应用界面
5.1 OMA
山东大学计算机科学与技术学院
5.1.0.1 记住Corba
▪ C-ORB-A: “Common” + “ORB” + “Architecture”
序 使 用 CORBA 系 统 来激发定义在一些信 息、数据、或应用程 序对象上的操作,服 务器应用程序则执行 这些操作。客户机应 用程序用桩类型激发 API或动态激发API向 服务器发送请求
山东大学计算机科学与技术学院
CORBA 体 系 结构
2、桩类型激发API 桩类型激发
API 是 两 种 发 送 请 求 方式种的一种。该 API是一个线程API, 专用于某类对象上的 特定操作。桩类型激 发 API 看 起 来 象 函 数 调用。
通用“orb”体系结构
▪ Orb: Object request broker 对象请求代理:通过
智能代理的方式处理对象请求
▪ 对象管理组织——OMG制定的规范 ▪ 是OMA(Object Model Architecture)的核心部分
山东大学计算机科学与技术学院
5.1.0.2 对象管理组织——OMG
第五章 Corba 初步
山东大学计算机科学与技术学院
Corba 初步
▪ 5.1 OMA ▪ 5.2 CORBA ▪ 5.3 ORB核心 ▪ 5.4 IDL语言与语言映射 ▪ 5.5 存根和框架 ▪ 5.6 动态调用 ▪ 5.7 对象适配器 ▪ 5.8 界面仓库和实现仓库 ▪ 5.9 ORB互操作 ▪ 5.10 CORBA的最新进展
山东大学计算机科学与技术学院
CORBA
客户
服务器
界面 仓库
动态 调用
IDL 存根
ORB 界面
静态 IDL 框架
ORB 核 心(GIOP/IIOP)
动态 框架 调用
对象 适配
器
对象实 现仓库
所有 ORB 实现都一致的界面 可能有多个对象适配器 依赖 ORB 核心的界面
向上调用界面 向下调用界面
与每个对象对应的存根或框架 山东大学计算机科学与技术学院
山东大学计算机科学与技术学院
CORBA 体 系 结构
3、客户桩 一个客户机应
用程序可以用客户桩 给服务器应用程序发 送请求。
客户桩通过使 用OMG IDL编译器编 译OMG IDL接口而产 生。
山东大学计算机科学与技术学院
CORBA 体 系 结构
4、动态激发API 动 态 激 发 API
是两种发送请求方式 种 的 一 种 。 该 API 是 面 向 对 象 API。 动 态 激发API 在运行时从 接口仓库里发现定义 并用它来创建和激发 向对象的请求。
▪ 客户端发出请求方式:
– 1)Dynamic Invocation interface (与目标对象的接口无关), – 2) OMG IDL stub (与目标对象接口有关的stub)
▪ 对象接口定义:
– 1)是用OMG IDL。该语言根据可对对象进行的操作和这些操作使用的参数来 定义对象类型。
山东大学计算机科学与技术学院
对象管理组织——OMG
▪ 负责制订并维护一套规范(not software):
– 支持分布式、异类(heterogeneous)环境的软件开发项目。 – 覆盖了从分析、设计到编码、部署、运行和管理的整个软件开发过程。 – 这些规范是一种工业或行业标准
▪ OMG主要规范
– UML:Unified Modeling Language – CORBA:Common Object Request Broker Architecture。 – DMA: Model Driven Architecture
▪ Client初始化请求:
– 1)通过调用目标对象的stub routines – 2)是动态的创造请求
山东大学计算机科学与技术学院
Client使用Stub 或Dynamic Invocation Interface
山东大学计算机科学与技术学院
Object Implementation 接受请求
▪ 每一个接口和object adapter 使用不同的Skeletons。为了完成