远程方法调用(RMI) 是在远程对象上调用远程接口的方法的操作。最重要的是,远程对象上的方法调用与本地对象上的方法调用具有相同的语法。
RMI 应用程序通常由两个独立的程序组成:服务器和客户端。典型的服务器应用程序创建许多远程对象,使对这些远程对象的引用可访问,并等待客户端调用这些远程对象上的方法。典型的客户端应用程序获取对服务器中一个或多个远程对象的远程引用,然后调用它们的方法。RMI 提供了服务器和客户端通信和来回传递信息的机制。这种应用程序有时被称为分布式对象应用程序。
分布式对象应用程序需要:
rmiregistry,或者应用程序可以传递和返回远程对象引用作为其正常操作的一部分。
下图描述了一个 RMI 分布式应用程序,它使用注册表来获取对远程对象的引用。服务器调用注册表以将名称与远程对象相关联。客户端在服务器的注册表中通过名称查找远程对象,然后调用它的方法。该图还显示,RMI 系统使用现有的 Web 服务器在需要时为对象加载用 Java 编程语言编写的类的字节码,从服务器到客户端,从客户端到服务器。RMI 可以使用 Java 平台支持的任何 URL 协议(例如 HTTP、FTP、文件等)加载类字节码。