没有合适的资源?快使用搜索试试~ 我知道了~
RMI原理及实现(JAVA)
4星 · 超过85%的资源 需积分: 9 8 下载量 137 浏览量
2010-07-18
16:47:58
上传
评论
收藏 34KB DOC 举报
温馨提示
试读
4页
RMI原理及实现 简介 RMI是远程方法调用的简称,象其名称暗示的那样,它能够帮助我们查找并执行远程对象的方法。通俗地说,远程调用就象将一个class放在A机器上,然后在B机器中调用这个class的方法。
资源推荐
资源详情
资源评论
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 中
的远程接口。
·远程对象实现:这是一个实现远程对象的类。如果实现了远程对象,就能够覆盖该对象中
的所有方法,因此,远程对象的实现类将真正包含我们希望导出的方法的代码。
·远程服务器:这是一个作为服务器使用的类,它是相对于要访问远程方法的客户端而言的 。
它存储着绑定的字符串和对象。
·远程客户端:这是一个帮助我们访问远程方法提供帮助的类,它也是最终用户。我们将使
用查找和调用远程方法的方法在该类中调用远程方法。
编程
资源评论
- yichengzhaojian2014-05-27对我很有帮助,谢谢
RevolverOcelot
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功