`

RMI原理及实现

阅读更多

简介

  RMI是远程方法调用的简称,象其名称暗示的那样,它能够帮助我们查找并执行远程对象的方法。通俗地说,远程调用就象将一个class放在A机器上,然后在B机器中调用这个class的方法。

  我个人认为,尽管RMI不是唯一的企业级远程对象访问方案,但它却是最容易实现的。与能够使不同编程语言开发的CORBA不同的是,RMI是一种纯Java解决方案。在RMI中,程序的所有部分都由Java编写。

  在看本篇文章时,我假定读者都已经具备了较扎实的Java基础知识,在这方面有欠缺的读者请自行阅读有关资料。

  概念

  我在前面已经提到,RMI是一种远程方法调用机制,其过程对于最终用户是透明的:在进行现场演示时,如果我不说它使用了RNI,其他人不可能知道调用的方法存储在其他机器上。当然了,二台机器上必须都安装有Java虚拟机(JVM)。

   其他机器需要调用的对象必须被导出到远程注册服务器,这样才能被其他机器调用。因此,如果机器A要调用机器B上的方法,则机器B必须将该对象导出到其远 程注册服务器。注册服务器是服务器上运行的一种服务,它帮助客户端远程地查找和访问服务器上的对象。一个对象只有导出来后,然后才能实现RMI包中的远程 接口。例如,如果想使机器A中的Xyz对象能够被远程调用,它就必须实现远程接口。

  RMI需要使用占位程序和框架,占位程序在客户端,框架在服务器端。在调用远程方法时,我们无需直接面对存储有该方法的机器。

  在进行数据通讯前,还必须做一些准备工作。占位程序就象客户端机器上的一个本机对象,它就象服务器上的对象的代理,向客户端提供能够被服务器调用的方法。然后,Stub就会向服务器端的Skeleton发送方法调用,Skeleton就会在服务器端执行接收到的方法。

  Stub和Skeleton之间通过远程调用层进行相互通讯,远程调用层遵循TCP/IP协议收发数据。下面我们来大致了解一种称为为“绑定”的技术。

   客户端无论何时要调用服务器端的对象,你可曾想过他是如何告诉服务器他想创建什么样的对象吗?这正是“绑定”的的用武之地。在服务器端,我们将一个字符 串变量与一个对象联系在一起(可以通过方法来实现),客户端通过将那个字符串传递给服务器来告诉服务器它要创建的对象,这样服务器就可以准确地知道客户端 需要使用哪一个对象了。所有这些字符串和对象都存储在的远程注册服务器中。

  在编程中需要解决的问题

  在研究代码之前,我们来看看必须编写哪些代码:

  ·远程对象: 这个接口只定义了一个方法。我们应当明白的是,这个接口并非总是不包括方法的代码而只包括方法的定义。远程对象包含要导出的每个方法的定义,它还实现Java.rmi中的远程接口。

  ·远程对象实现: 这是一个实现远程对象的类。如果实现了远程对象,就能够覆盖该对象中的所有方法,因此,远程对象的实现类将真正包含我们希望导出的方法的代码。

  ·远程服务器: 这是一个作为服务器使用的类,它是相对于要访问远程方法的客户端而言的。它存储着绑定的字符串和对象。

  ·远程客户端: 这是一个帮助我们访问远程方法提供帮助的类,它也是最终用户。我们将使用查找和调用远程方法的方法在该类中调用远程方法。

分享到:
评论

相关推荐

    RMI原理及实现(JAVA)

    【RMI原理详解】 远程方法调用(RMI,Remote Method Invocation)是Java提供的一种用于在分布式环境中调用远程对象的方法。RMI的核心思想是使客户端可以像调用本地对象一样调用远程对象,实现这一目标的关键在于...

    RMI原理及实现,ppt格式

    以下是对RMI原理和实现的详细解释: 1. **RMI的基本概念**: - RMI是Java中的一个特性,允许对象在不同的网络节点之间进行交互,执行远程对象的方法。 - RMI调用对最终用户是透明的,意味着用户无需关心方法实际...

    RMI原理及应用详解

    **RMI原理及应用详解** 远程方法调用(Remote Method Invocation,简称RMI)是Java平台提供的一种分布式计算技术,允许在不同的Java虚拟机(JVM)之间进行对象方法的透明调用。RMI的核心思想是使Java对象能够跨越...

    java RMI技术实现的网络聊天室

    理解套接字编程的基本原理有助于深入理解RMI的工作机制。 以上是关于“java RMI技术实现的网络聊天室”的主要知识点。通过这个项目,开发者可以学习到如何使用RMI创建分布式应用,以及如何处理并发和网络通信等问题...

    java RMI实现代码

    本项目提供的“java RMI实现代码”包括客户端和服务器端的示例,通过清晰的代码注释帮助理解RMI的工作原理。 一、RMI的基本概念 1. 远程接口:远程接口定义了客户端和服务器之间通信的API,它是Java接口,标注了`@...

    java 简单RMI 会议功能实现

    首先,让我们了解RMI的基本组件和工作原理: 1. **远程接口(Remote Interface)**:这是定义远程方法的接口,继承自`java.rmi.Remote`。例如,我们可以创建一个名为`MeetingService`的接口,包含`queryMeeting`、`...

    rmi 远程调用 实现客户端之间会话

    RMI(Remote Method Invocation,远程方法调用)是Java平台提供的一种用于在分布式环境中实现对象间通信的技术。...通过实践和调试,开发者可以深入理解RMI的工作原理,从而在实际项目中灵活运用。

    java分布式之RMI简介及实例

    ### Java分布式之RMI简介及实例 #### RMI概述 远程方法调用(Remote Method Invocation,简称RMI)是Java平台提供的一种分布式计算框架,它允许开发者创建可以在网络上跨多台计算机运行的对象。RMI的目标是使得...

    RMI的JAVA实现

    在这个“RMI的JAVA实现”主题中,我们将深入探讨RMI的核心概念、工作原理以及如何在实践中使用它。 一、RMI核心概念 1. 远程接口(Remote Interface):远程接口定义了可以在远程对象上调用的方法。这些方法必须...

    rmi原理与入门demo.zip

    在“rmi原理与入门demo”这个压缩包中,你可能找到以下内容: 1. **源码示例**:包含了客户端和服务器端的Java源代码,展示了如何创建远程接口、实现远程对象、注册远程对象以及进行远程方法调用。 2. **编译与...

    RMI java的实现

    本篇文章将深入探讨RMI的实现原理。 一、RMI的基本概念 RMI的核心是远程接口(Remote Interface),它定义了客户端可以调用的远程方法。这些接口的方法会在服务器端执行,并返回结果给客户端。RMI系统通过序列化和...

    rmi原理-chn-pdf

    ### RMI原理详解 #### 前言与背景 RMI(Remote Method Invocation,远程方法调用)是一种Java平台上的技术,它允许开发者在不同JVM间的对象间进行方法调用,就像是本地方法调用一样简单。这项技术的出现极大地简化...

    RMI聊天室-Java实现

    Java RMI(Remote Method Invocation,远程方法调用)是一种在分布式环境中实现对象间通信的技术,它允许一个Java对象调用另一个在不同Java虚拟机(JVM)上的对象的方法。RMI是Java EE平台中的核心组件之一,常用于...

    RMI简单实例RMI简单实例

    下面,我们将从RMI的概念、实现原理、以及一个具体的RMI实例来详细阐述这一知识点。 ### RMI概念 RMI是Java平台的一个核心特性,它支持跨网络的远程方法调用。在RMI模型中,客户端通过调用远程接口的本地代理对象...

    RPC-RMI实现加法的简单示例程序

    本示例程序是关于如何利用RPC和RMI来实现一个简单的加法运算,这对于理解这两种技术的基本概念和工作原理非常有帮助。 RPC(远程过程调用)是一种允许程序在不同的计算机之间调用方法的技术,就像它们在同一台机器...

    RMI实现代码动态下载

    首先,让我们理解RMI的基本工作原理。RMI包含两个主要部分:远程接口(Remote Interface)和远程对象(Remote Object)。远程接口定义了客户端可以调用的远程方法,而远程对象则是实现了这些接口的具体类,它运行在...

    基于JAVA RMI的聊天室

    JAVA RMI原理 RMI允许Java对象在不同的Java虚拟机之间进行方法调用,就像是在同一台机器上操作本地对象一样。它包括三个主要组件:远程接口、远程对象和RMI注册表。远程接口定义了可以在远程对象上调用的方法,...

Global site tag (gtag.js) - Google Analytics