分布式计算通信技术解析
1. 通用对象请求代理架构(CORBA)
CORBA 是对象管理组织(OMG)制定的标准,与 Java RMI 不同,它允许用户将用几乎任何面向对象语言编写的程序相互连接。在基于 CORBA 的分布式系统中,不同编程语言编写的程序可以组合在一起,每个程序能使用最适合其需求的语言。例如,经常在不同架构上执行的程序可以用编译成中间格式(如字节码)的语言(如 Java 和 C#)编写;源代码经常更改的程序可以使用脚本语言(如 Perl 和 Python)编写;对性能要求高的程序可以用 C/C++ 编写。
CORBA 的技术设置与 RMI 相似,本地和远程对象可以透明访问,且编组和解组不是应用程序代码的一部分。但 CORBA 系统中的所有计算机都必须运行对象请求代理(ORB),并且有客户端存根和服务器端处理通信的骨架的区别。CORBA 系统中的存根和骨架是自动生成的,使用语言中立的接口定义语言(IDL),由 IDL 编译器编译。除了编组和解组数据,ORB 还为分布式系统程序员提供各种服务,如分布式事务管理。因此,CORBA 比 RMI 提供更多功能,但管理 ORB 需要更多的设置工作。
下面用表格对比一下 CORBA 和 RMI 的特点:
| 技术 | 连接语言 | 存根和骨架生成 | 系统运行要求 | 提供服务 | 设置工作 |
| — | — | — | — | — | — |
| CORBA | 几乎任何面向对象语言 | 使用 IDL 自动生成 | 所有计算机运行 ORB | 编组解组、分布式事务管理等 | 较多 |
| RMI | Java | 基于 Java 自动生成 | 客户端和服务器使用存根对象 | 编组解组
超级会员免费看
订阅专栏 解锁全文
613

被折叠的 条评论
为什么被折叠?



