远程方法调用(RMI)

RMI应用程序提供两个独立的程序,一个是服务器,一个是客户端。有一些任务是由服务器程序执行的,即创建一些远程对象,对这些对象进行引用,同时等待客户,以便他们调用这些对象上的方法。客户端程序在服务器上获得一个或多个远程对象的远程引用,并对其调用方法。基本上,RMI提供了一种机制,通过这种机制,服务器和客户端可以进行通信并来回传递信息。RMI由三层组成:

  • 存根/骨架层
  • 远程参考层
  • 传输层

这些层之间的关系如下图所示 -
远程方法调用(RMI)

通用对象请求代理架构(CORBA)

CORBA是由对象管理小组开发的标准,以提供分布式对象之间的互操作性。它是世界领先的中间件解决方案。它使信息的交换,独立于硬件平台、编程语言和操作系统。它经常被定义为 “软件总线”,因为它是一个基于软件的通信接口,对象通过它被定位和访问。
CORBA架构

RMI和CORBA之间的区别:

RMI CORBA
RMI是一种Java特有的技术。 CORBA 有许多语言的实现。
RMI使用 Java 接口来实现。 CORBA使用接口定义语言(IDL)来分离接口和实现。
RMI 对象是自动收集垃圾的。 CORBA 对象不是垃圾收集的,因为它是独立于语言的,有些语言如 C++ 不支持垃圾收集。
RMI 程序可以从远程 JVM 下载新的类。 CORBA 不支持这种代码共享机制。
RMI 通过远程引用或通过值传递对象。 CORBA通过引用来传递对象。
Java RMI 是一个以服务器为中心的模型。 CORBA 是一个点对点的系统。
RMI 使用 Java 远程方法协议作为其底层远程协议。 CORBA使用Internet Inter- ORB协议作为它的基础远程协议。
RMI定位一个对象实现的责任落在 JVM 上。 定位对象实现的责任落在对象适配器上,无论是基本对象适配器还是可移植对象适配器。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:RMI和CORBA的区别
本文链接:https://www.vsdiffer.com/vs/difference-between-rmi-and-corba.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。