RMI、IIOP 和 RMI-IIOP

RMI-IIOP 和其他同类技术背后的一些基本概念。

RMI

通过 RMI ,您可以使用 Java™ 编程语言编写分布式程序。 RMI 易于使用,您无需学习单独的接口定义语言 (IDL),并且可以从 Java 固有的“一次编写,到处运行”中获益匪浅。 客户机,远程接口和服务器完全使用 Java 编写。 RMI 使用 Java 远程方法协议 (JRMP) 进行远程 Java 对象通信。 有关编写 RMI 程序的快速简介,请参阅 RMI 教程 Web 页面: https://docs.oracle.com/javase/tutorial/rmi/,其中描述了如何编写简单的 "Hello World" RMI 程序。

RMI 缺乏与其他语言的互操作性,由于它使用非标准通信协议,因此无法与 CORBA 对象进行通信。

IIOP , CORBA 和 Java IDL

IIOP 是 CORBA 的通信协议。 它定义通过 CORBA 客户端与服务器之间的连线发送位的方式。 CORBA 是由对象管理组 (OMG) 开发的标准分布式对象体系结构。 远程对象的接口在平台无关接口定义语言 (IDL) 中进行说明。 实现从 IDL 到特定编程语言的映射,将该语言绑定到 CORBA/IIOP。

Java Standard Edition CORBA/IIOP 实现称为 Java IDL。 与 IDL 到 Java (idlj) 编译器一起, Java IDL 可用于定义,实现和访问来自 Java 编程语言的 CORBA 对象。

Java IDL Web 页面: Java IDL (CORBA),为您提供以 Java 为中心的良好 CORBA/IIOP 编程视图。 要获取编写 Java IDL 程序的快速简介,请参阅 "入门: Hello World" Web 页面: Java IDL 入门

RMI-IIOP

以前, Java 程序员必须在 RMI 和 CORBA/IIOP (Java IDL) 之间选择分布式编程解决方案。 现在,通过遵守一些限制 (请参阅 通过 IIOP 运行 RMI 程序时的限制) , RMI 服务器对象可以使用 IIOP 协议,并与使用任何语言编写的 CORBA 客户机对象进行通信。 该解决方案被称为 RMI-IIOP。 RMI-IIOP 结合了 RMI 的易用性与 CORBA 的跨语言互操作性。

阅读背景信息

以下是一些可以帮助您了解该技术的一些站点: