当前位置: 首页 > 图灵资讯 > 技术篇> Java远程方法调用1

Java远程方法调用1

来源:图灵教育
时间:2024-02-28 17:16:45

  概述

  Java Remote Method Invocation ( RMI -- Java远程调用)允许您使用Java编写分布式对象。本文将介绍RMI的优点以及如何将其连接到现有和原始的系统,并与Java一起使用 连接编写的组件。

  RMI为Java对象的分布式计算提供了简单而直接的方法。这些对象可以是新的Java对象,也可以是围绕现有API的简单Java包装程序。Java反映了“写一次就可以在任何地方运行”的模式。而RMI可以扩展Java模式,使Java模式在任何地方运行。

  因为RMI以Java为核心,它为Java的安全性和可移植性等强大功能带来了分布式计算。您可以将代理和尖代理与尖代理运行逻辑等属性移动到网络中最合适的地方。如果您想扩展Java在系统中的使用,RMI将使您充分利用其强大的功能。

  RMI可以通过标准Java本机接口JNI连接到现有和原有的系统。标准JDBC包还可以使用RMI连接到现有的关系数据库。RMI/JNI和RMI/JDBC的组合可以帮助您使用RMI与使用非Java语言的现有服务器进行通信,并在需要时扩展Java在这些服务器上的使用。在扩展使用时,RMI可以帮助您充分利用Java的强大功能。

  优点

  从最基本的角度来看,RMI是Java的远程过程调用(RPC)机制。RMI比传统的RPC系统有几个优点,因为它是Java面向对象方法的一部分。传统的RPC系统采用中性语言,因此它们是最常见的系统——它们不能提供所有可能的目标平台所具备的功能。   以Java为核心的RMI可以与采用本机方法与现有系统连接。也就是说,RMI可以通过自然、直接和全面的功能为您提供分布式计算技术,这可以帮助您以不断增加和无缝的方式为整个系统添加Java功能。

  RMI的主要优点如下:

  面向对象:RMI可以将完整的对象作为参数和返回值传输,而不仅仅是预定义的数据类型。也就是说,你可以传递像Java哈希表这样的复杂类型作为参数。在目前的RPC系统中,您只能依靠客户机将此类对象分解为基本数据类型,然后传输这些数据类型,最后在服务器端重新创建哈希表。RMI不需要额外的客户程序代码(将对象分解成基本的数据类型),直接跨网络传输对象。

  可移动属性:RMI可将属性(类实现程序)从客户机移动到服务器,或从服务器移动到客户机。例如,您可以定义检查员工支出报告的界面,以检查员工是否遵守公司目前的政策。创建支出报告后,客户机将从服务器端获得实现接口的对象。如果政策发生变化,服务器端将开始返回使用新政策界面的另一个实现程序。您可以在客户端检查限制条件,而无需在用户系统上安装任何新软件,从而为用户提供闪烁?快速反馈,减少服务器的工作量。这样,你就可以拥有最大的灵活性,因为当政策改变时,你只需要写一个新的Java类别,并在服务器主机上安装一次。

  设计方法:对象传输功能使您能够充分利用分布式计算中面向对象技术的强大功能,如二、三层结构系统。如果你能传递属性,你可以在你的解决方案中使用面向对象的设计方法。所有面向对象的设计方法都依赖于不同的属性来发挥功能。如果不能传递完整的对象——包括实现和类型——,就会失去设计方法提供的优势。

  安全:RMI使用Java内置安全机制,确保用户系统在下载执行程序时的安全。RMI使用专门为保护系统免受恶意小应用程序的侵害而设计的安全管理程序,可以保护您的系统和网络免受潜在恶意下载程序的损坏。在严重情况下,服务器可以拒绝下载任何执行程序。 编写和使用方便:RMI使Java远程服务程序和Java客户程序的编写工作变得简单易行。远程接口实际上是Java接口。大约三行指令宣布服务程序本身就是服务程序,其他方面与其他Java对象相似。这种简单的方法便于快速编写完整的分布式对象系统服务程序,并快速制作软件原型和早期版本,以便于测试和评估。由于RMI程序编写简单,维护也简单。

  现有/原始系统可以连接:RMI可以通过Java本机接口JNI与现有系统交互。使用RMI和JNI,您可以用Java语言编写客户端程序,并使用现有的服务器端程序。当使用RMI/JNI连接到现有服务器时,您可以选择使用Java重新编写服务程序的任何部分,并使新程序充分发挥Java的功能。类似地,RMI可以使用JDBC、在不修改使用数据库的现有非Java源代码的情况下,与现有关系数据库进行交互。

  写一次,到处操作:RMI是Java“写一次,到处运行 “方法的一部分。任何基于RMI的系统都可以100%移植到任何Java虚拟机上,RMI/JDBC系统也不例外。如果使用RMI/JNI与现有系统交互,则使用JNI编写的代码可以与任何Java虚拟机编译和操作。

  分布式垃圾收集:RMI利用其分布式垃圾收集功能收集远程服务对象,不再被网络中的任何客户程序引用。与Java 虚拟机内部的垃圾收集是相似的。分布式垃圾收集功能允许用户根据自己的需要定义服务器对象,并明确当客户机不再引用时,这些对象将被删除。

  并行计算:RMI采用多线程处理方法,使您的服务器能够更好地利用这些Java线程并行处理客户端的要求。Java分布式计算解决方案:RMI从JDK 1.1从Java平台的核心部分开始,所以它存在于任何1.1 在Java虚拟机中。所有RMI系统都采用相同的公开协议,因此所有Java系统都采用相同的公开协议 在不事先转换协议的情况下,系统可以直接对话。

上一篇:

Java远程方法调用2

下一篇:

JAVA的安全结构