`
jspengxue
  • 浏览: 178680 次
  • 性别: Icon_minigender_1
  • 来自: 天堂和地狱的中间
社区版块
存档分类
最新评论

RMI原理及实现

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

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

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

  概念

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

1:当然了,二台机器上必须都安装有Java虚拟机(JVM)。
2:其他机器需要调用的对象必须被导出到远程注册服务器,这样才能被其他机器调用

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

  RMI需要使用占位程序和框架,占位程序在客户端,框架在服务器端。

在调用远程方法时,我们无需直接面对存储有该方法的机器。

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

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

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

  在编程中需要解决的问题

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

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

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

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

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

相关推荐

    RMI原理及实现,ppt格式

    RMI原理及实现,介绍RMI调用机制,实现过程

    RMI原理及实现(JAVA)

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

    JavaRMI的原理和实现方法

    JavaRMI的原理和实现方法 分布式对象计算 来源于青岛大学学报

    RMI java的实现

    RMI 用JAVA的具体实现原理

    java分布式之RMI简介及实例

    java RMI开发指南,详细地讲述了java RMI的原理,有具体的实例描述。

    JAVA分布式之RMI实例教程网络通信原理[收集].pdf

    JAVA分布式之RMI实例教程网络通信原理[收集].pdf

    长沙蓝杰实训java课件之 RMI技术解析(www.NetJava.cn)

    做为java分布式计算的基础... 3.RMI服务器实现及编码 4.RMI客户机实现及编码 5.使RMI穿过防火墙--定制rmiSocket 6.Spring中的rmi应用 7.类似RMI的相关开源技术实现 -------具体请下载附件或登陆www.NetJava.cn

    最最简单的RMI实例

    简简单单的RMI实便,最基本的RMI原理实现

    RMI.rar_chat rmi_java rmi chat_rmi _rmi 聊天

    详细实现了简单的聊天功能,具体原理是利用RMI,编译后即可运行。

    RMI远程过程调用(远程文件管理)

    java jdk1.8;...掌握远程过程调用原理,基于java RMI进行远程编程和控制。要求定义远程接口类及实现类:定义相应的处理方法;客户端利用RMI实现远程调用服务。同时,在在两台机器之间验证结果正确。

    EJB原理剖析电子书

    分析ejb及rmi原理 1. RMI工作原理 2. websphere、weblogic实现 3. 理解体会 ...

    消息中间件的原理与实现

    本文首先介绍了消息中间件的原理,然后实现消息中间件的一些最重要的功能, 并 说明了实现方法,以及相应功能的应用,最后介绍消息中间件还可以添加哪些重要性质,以 更好的进行消息服务,保证消息的一致异步有效的...

    一种基于RMI得分布式架构设计

    基于RMI的分布式架构设计,详细描述了如何架构RMI分布式系统,并阐述了原理实现

    rmi总结1

    Service.xxxxxxx()方法然后就可以调用服务器端的方法了注释:rmi框架屏蔽了底层的网络访问细节 具体的实现可以参考文件夹中的rmi实现原理代码如果

    Java远程通讯可选技术及原理

    在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、 Burlap、Hessian、SOAP、EJB和JMS 等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的...

    RMI与RPC

    文章目录RMI(Remote Method Invocation)远程方法调用与RPC(Remote Procedure Call Protocol)远程过程调用协议概述实现原理RMI框架注册 RMIMethodDefinitionFactory服务端 RmiServer RmiActioner ArgumentMaker...

    Isola_Game:使用 Java RMI 实现的 2 人游戏

    目标: 了解 Java RMI 的工作原理理解和实现MVC(模型视图控制器)模式注意:您需要在运行之前编译代码。 运行代码: 如果在同一台机器上运行您将需要 3 个终端(1 个用于服务器,2 个用于玩家#1 和玩家#2) 对于...

    基于RMI的文件上传与下载的实现 (2008年)

    不同计算机之间的文件传输可以实现资源...对RMI基本原理做了一些讨论,对文件上传下载及文件夹的上传实现做了较详细的讨论,并应用RMI实现的文件的上传与下载及上传文件夹的上传同时用Java语言实现了全部的程序设计。

Global site tag (gtag.js) - Google Analytics