CORBA
好的,CORBA 的中文解释如下:
CORBA (公共对象请求代理体系结构)
- 中文全称: 公共对象请求代理体系结构(Common Object Request Broker Architecture)
- 核心目标: 解决异构分布式环境中,不同编程语言编写、运行在不同操作系统上、位于不同网络节点的软件组件(对象)之间如何透明地通信和互操作的问题。
- 关键原理:
- 面向对象: 将功能封装为独立的对象。
- 位置透明性: 客户端调用远程对象的服务时,无需关心该对象具体位于网络的哪个位置、使用什么语言实现、运行在什么操作系统上,就像调用本地对象一样。
- 语言无关性: CORBA 定义了通用的接口定义语言 (IDL)。
- 平台无关性: 基于标准的网络通信协议 (通常是 IIOP)。
- 核心组件:
- IDL (接口定义语言 - Interface Definition Language):
- 用于严格定义对象提供的接口(即哪些方法可以被调用,方法的参数和返回值类型是什么)。
- 语言中立:IDL 本身不是编程语言,但可以被映射到具体的编程语言(如 C++, Java, Python, COBOL 等)。
- 定义了对象之间的契约。
- ORB (对象请求代理 - Object Request Broker):
- CORBA 系统的核心枢纽和通信基础设施。
- 存在于客户端和服务器端。
- 职责: 当客户端需要调用远程对象的方法时:
- 客户端 ORB 负责将调用请求、参数打包(列集/Marshalling),并通过网络发送给服务器端 ORB。
- 服务器端 ORB 接收请求,解包(散集/Unmarshalling),定位到具体的对象实现并执行相应方法。
- 服务器端 ORB 获取结果后打包,通过网络返回给客户端 ORB。
- 客户端 ORB 解包结果并返回给客户端程序。
- 对开发者隐藏了底层的网络通信、数据格式转换、对象定位等复杂细节,实现了位置透明性。
- IIOP (因特网对象请求代理间协议 - Internet Inter-ORB Protocol):
- CORBA ORB 之间进行通信的标准网络协议,基于 TCP/IP。
- 确保了不同厂商实现的 ORB 能够互相通信。
- 对象引用:
- 代表一个 CORBA 对象的唯一标识符。
- 客户端通过持有对象引用来发起对远程对象的调用。
- 对象引用包含了定位对象所需的信息(由 ORB 管理)。
- 存根与骨架:
- 存根: 位于客户端,由 IDL 编译器针对特定语言生成。它代表了远程对象的本地代理。客户端调用存根的方法,存根负责将调用委托给 ORB。
- 骨架: 位于服务器端,也是由 IDL 编译器生成。它负责接收来自 ORB 的请求,并将其分派给具体的对象实现。
- IDL (接口定义语言 - Interface Definition Language):
- 主要优势:
- 互操作性: 跨越语言、平台、操作系统的界限。
- 位置透明性: 简化开发,对象位置变化对客户端影响小。
- 面向对象: 符合现代软件开发思想。
- 标准化: 由 OMG 组织制定标准,有众多厂商支持。
- 主要缺点/挑战:
- 复杂性: 规范庞大,学习和使用门槛高。
- 复杂性带来的开销: 开发、部署、维护相对复杂,运行时性能开销通常比更轻量的解决方案(如 gRPC, REST)要大。
- 防火墙穿透: IIOP 使用非 HTTP 端口,穿越企业防火墙有时需要额外配置。
- 厂商依赖/碎片化: 虽然标准化,但不同厂商实现之间有时仍存在兼容性问题。
- 二进制协议: IIOP 是二进制协议,不如基于文本的协议(如 HTTP/XML, HTTP/JSON)直观和易于调试。
- 现状与替代方案:
- 在 CORBA 鼎盛时期(1990年代末至2000年代初),它曾是构建大型企业分布式系统(如电信、金融、制造)的关键技术。
- 随着以 Web Services (SOAP/WSDL) 和 RESTful APIs (HTTP/JSON) 为代表的基于 Web 标准的中间件技术的兴起,以及后来更轻量、高性能的 gRPC 的出现,CORBA 的应用逐渐减少。这些替代方案通常更简单、更易于理解、与 Web 技术栈整合更紧密,且在特定场景下性能更好。
- 当前应用: CORBA 并未完全消失。它仍然在一些传统的、对可靠性和实时性要求极高的遗留系统中使用,特别是在航空航天、国防、电信等领域。
总结来说:CORBA 是一种强大的、标准化的中间件技术,旨在解决异构分布式系统中对象间的互操作问题。它通过 IDL 定义接口,利用 ORB 实现通信透明性,使用 IIOP 作为标准传输协议。虽然其复杂性和新兴替代技术的涌现使其在新项目中应用减少,但在某些特定领域和遗留系统中仍有价值。
北向接口和南向接口是什么?南向接口和北向接口的区别
和管理的接口,即向上提供的接口。它是驻留在底层网管上的一个进程,与通常所说的Agent功能相同。北向接口负责处理来自上层网管的请求报文,发送trap信息。一般网管提供三种北向接口,分别为CORBA
2024-01-19 16:10:57
每个程序员必收藏常用英语词汇
context 环境、上下文control 控件cookiecopy 拷贝CORBA 通用对象请求中介架构(Common Object Request Broker Architecture)cover
嵌入式监控系统的主要功能组件及如何实现应用设计
同其它组件编程技术相比,PECOS具有很好地跨平台性能且与编程语言无关,其较好的开放性、扩展性和实时性。 所以,我们选择以CORBA 作为组件化标准,对整个系统进行组件化编程。
2021-03-17 09:27:09
什么是JNDI,JNDI注入成因
And Directory Interface. JNDI客户端通过名字来查找所需对象,这些对象可以保存在多种的命名服务和目录服务中,像RMI( Remte Method Invocation)、CoRBA
工业物联网设计一般都会有什么问题的困扰
三十多年来协助将各种不同的连网系统结合在一起,最初订定的CORBA (common object request broker)标准,让连网软件对象能互通。
2019-12-11 16:52:00
与CORBA相关的函数库有哪些?
它发展的GTK绘图技术和CORBA分布式平台技术。其实,这两项技术对GNOME的开发和应用是至关重要的:GTK绘图技术给GNOME应用程序带来统一的外观和一致的感觉;CORBA分布式平台技术为在
那些年,我们见过的 Java 服务端“问题”
;WebService接口;Dubbo/HSF接口;CORBA接口。4.3.2.异步消息通知异步消息通知是一种通知式的信息交互机制。当系统发生某种事件时,会主动通知相应的系统。常见的交互协议有:MetaQ的消息通知
软件通信体系结构规范下如何实现FPGA的硬件抽象层设计
数字信号处理的可编程器件(FPGA)将不可避免的需要应用到SCA的硬件平台中。目前,FPGA并不支持CORBA中间件,故不能直接应用到SCA体系结构中。另外,由于FPGA芯片的外部输入/输出端口没有像通用
关于STP网元集中管理系统的实现方案分析
通用对象请求代理体系结构CORBA(Common ORB Architecture)技术是当今主流的三大构件技术之一。CORBA(Common Object Request Broker
2019-05-20 08:07:00
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- amoled屏幕和oled区别
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机
- 元宇宙概念龙头股一览