📅  最后修改于: 2023-12-03 15:04:54.733000             🧑  作者: Mango
RMI 和 CORBA 的区别
RMI
RMI (Remote Method Invocation) 是一个允许 Java 程序员在另一个 Java 虚拟机 (JVM) 上调用远程对象上的方法的机制。
特点
- RMI 可以通过 Java 序列化来传输对象。
- RMI 支持在不同的 JVM 上进行通信。
- RMI 容易实现,并且使用简单。
- RMI 整体比较轻量级。
缺点
- RMI 只支持 Java 语言。
- RMI 需要使用 Java 序列化进行对象传输,这可能会导致性能问题。
- RMI 不够灵活,不能够做到像 CORBA 那样实现异构语言的通信。
CORBA
CORBA (Common Object Request Broker Architecture) 是一种中间件平台和分布式对象计算标准。
特点
- CORBA 是一种语言中立的通信机制,因此可以在不同的语言环境中使用。
- CORBA 支持可扩展性,允许添加新的服务和组件。
- CORBA 支持异构的操作系统和硬件平台。
- CORBA 使用 IDL (Interface Definition Language) 来定义接口规范,可以生成多种语言的代码。
缺点
- CORBA 的使用上相对较为繁琐,并且有一定的学习曲线。
- CORBA 的实现比较复杂,需要使用 ORB (Object Request Broker) 进行对象调度和管理,这可能会导致一定的性能问题。
总结
- RMI 更适用于 Java 程序员之间的通信,而 CORBA 更适用于异构的系统之间的通信。
- RMI 更加轻量级、易于实现和使用,但不够灵活,只支持 Java。
- CORBA 更加强大、可扩展和语言中立,但复杂度较高,需要学习 ORB 概念和使用 IDL 定义接口规范。