📜  RMI 和 DCOM 的区别

📅  最后修改于: 2021-09-15 01:50:50             🧑  作者: Mango

在本文中,我们将看到远程方法调用(RMI)和分布式组件对象模型(DCOM)之间的区别。在讨论差异之前,让我们首先了解它们各自的实际含义。

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

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

这些层之间的关系如下图所示:

DCOM是 Microsoft 的分布式计算解决方案。它允许一个客户端应用程序远程启动另一台机器上的 DCOM 服务器对象并调用它的方法。它提供了语言独立性、使用 TCP/IP、UDP、IP、IPX/SPX 和 HTTP 进行通信的能力以及对象的静态/动态调用等特性。它最适合面向 Microsoft 产品的环境。它包括以下功能:

  • 定位和加载远程类。
  • 定位远程对象并提供对它们的引用。
  • 启用远程方法调用。

下表描述了差异:

RMI

DCOM

In RMI every server object implements java.rmi.Remote interface. In DCOM every object implements IUnknown.
It uses JRMP as its underlying remoting protocol. It uses Object Remote Procedure Call as its underlying remoting protocol.
The mapping of an object name to its implementation is handled by the RMIRegistry. The mapping of an object name to its implementation is handled by the Registry.
The responsibility of locating object implementations falls on JVM. The responsibility of locating object implementations falls on Server Control Management.