简单介绍RMI

java分享会

分享人:成都分院 杨以杰

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

首先我们简单看一下RMI的概念,这里概念有点多,我们慢慢看

RMI(Remote Method Invocation,远程方法调用)是用Java在JDK1.1中实现的,它大大增强了Java开发分布式应用的能力。 RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。 简单地说,这样使原先的程序在同一操作系统的方法调用,变成了不同操作系统之间程序的方法调用,由于J2EE是分布式程序平台,它以RMI机制实现程序组件在不同操作系统之间的通信。

RMI应用程序通常包括两个独立的程序:服务器程序和客户机程序。

典型的服务器应用程序将创建多个远程对象,使这些远程对象能够被引用,然后等待客户机调用这些远程对象的方法。 而典型的客户机程序则从服务器中得到一个或多个远程对象的引用,然后调用远程对象的方法。

RMI为服务器和客户机进行通信和信息传递提供了一种机制。

RMI的技术原理如下

1、生成一个远程接口

2、实现远程对象(服务器端程序)

3、生成占位程序和骨干网(服务器端程序)

4、编写服务器程序

5、编写客户程序

6、注册远程对象

7、启动远程对象

2.知识剖析

简单介绍完RMI后,我们就要看我们的具体需求了,任务中要求我们使用SpringRMI,所以这里我简单介绍一下JavaRMI和SpringRMI

首先说JavaRMI

其实我在刚刚介绍RMI的时候介绍的就是JavaRMI,所以不赘述

再看SpringRMI

我们知道Spring喜欢做封装,所以SpringRMI其实也是对RMI进行了封装,然后使我们使用的时候更加简便,可操作性更强

Spring RMI中,主要有两个类: org.springframework.remoting.rmi.RmiServiceExporter和org.springframework.remoting.rmi.RmiProxyFactoryBean

服务端使用RmiServiceExporter暴露RMI远程方法,客户端用RmiProxyFactoryBean间接调用远程方法。

3.常见问题

那么问题来了

我们知道RMI和SpringRMI是什么了,也知道它们的目的和应用场景了,接下来就是喜闻乐见的如何使用了

4.解决方案

首先JavaRMI是使用具体的方法实现类来操作的,并且之前也介绍了,分为服务端和客户端

然后SpringRMI是封装我们也说过了,操作简单,通过配置文件来进行相关操作,又是解耦~

同样要分开服务端和客户端

接下来就实战演练,加深理解

5.编码实战

憋说话,用心感受我的操作~

6.扩展思考

畅所欲言

7.参考文献

http://blog.csdn.net/zmx729618/article/details/52130722

http://baike.sogou.com/v135501.htm?fromTitle=RMI

8.更多讨论

鸣谢

感谢观看,如有出错,恳请指正

BY : 成都分院 杨以杰