📜  RMI 和 CORBA 的区别(1)

📅  最后修改于: 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 定义接口规范。