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 的跨语言互操作性。
阅读背景信息
- Java RMI 主页包含指向 RMI 文档,示例和规范等的链接: https://www.oracle.com/technetwork/java/javase/tech/index-jsp-136424.html
- Java 教程中的 RMI 跟踪: https://docs.oracle.com/javase/tutorial/rmi/
- RMI API Javadoc HTML 包含最新的 RMI API 文档: https://docs.oracle.com/javase/8/docs/api/java/rmi/package-summary.html
- Java IDL Web 页面将使您熟悉 Oracle的 CORBA/IIOP 实现: https://docs.oracle.com/javase/8/docs/technotes/guides/idl/index.html
- Java 教程中的 Java IDL 跟踪: https://docs.oracle.com/javase/8/docs/technotes/guides/idl/GShome.html