java核心课件2-第9章.ppt
《java核心课件2-第9章.ppt》由会员分享,可在线阅读,更多相关《java核心课件2-第9章.ppt(11页珍藏版)》请在三一办公上搜索。
1、第9章 RMI,熟悉RMI的基本原理和结构能够熟练创建简单的RMI程序,9.2 RMI的本质,RMI(Remote Method Invocation)远程方法调用;它是Java特有的分布式计算技术,允许运行在一个Java虚拟机上的对象调用运行在另一个Java虚拟机上的对象的方法;用RMI实现的远程方法调用,看起来像调用本地方法一样。,9.3 RMI的体系结构,如下图,RMI框架采用代理,来负责客户与远程对象之间通过Socket进行通信的细节;RMI框架为远程对象分别生成了客户端代理和服务器端代理;位于客户端的代理称类为存根(Stub);位于服务器端的代理类称为骨架(Skeleton)。,当客
2、户端调用远程对象的一个方法时,实际上是调用本地存根对象的相应方法。存根对象与远程对象具有同样的接口。存根采用一种与平台无关的编码方式,把方法的参数编码为字节序列,这个编码过程称为参数编组。RMI主要采用Java序列化机制进行参数编组。接着,存根把以下请求消息发送给服务器:被访问对象的名字、被调用的方法的描述、编组后的参数的字节序列;服务器端接收到客户端的请求信息,然后由相应的骨架对象来处理这一请求信息,骨架对象执行以下操作:反编组参数,即把参数俄字节序列反编码为参数;定位要访问的远程对象;调用远程对象的相应方法;获取方法调用产生的返回值或异常,然后对它们进行编组;把编组后的返回值或异常发送给客
3、户端;客户端的存根接收到服务器发送过来的编组后的返回值或异常,再对它进行反编组,就得到调用远程方法的返回结果;存根与骨架类通过Socket进行通信;在JDK5.0中,RMI框架会在运行时自动为远程对象生成动态代理类(包括存根和骨架类),从而更彻底地封装了RMI框架的实现细节,简化了RMI框架的使用方式,9.4 RMI的命名服务,RMI采用一种命名服务机制来使客户程序可以找到服务器上的一个远程对象;在JDK的安装目录的bin子目录下有一个rmiregistry.exe程序,它是提供命名服务的注册表程序;服务器负责创建远程对象,然后把它注册到rmiregistry注册表,客户端从注册表中获得远程对
4、象的存根对象;RMI的命名服务API已经被整合到Java命名与目录信息(JNDI)服务中了,以URL的形式给出;RMI的URL以rmi:/开头,后面接服务器以及端口号,然后是一个斜线,接着是远程对象的名字:rmi:/localhost/server1默认端口为1099。,9.5 一个简单的应用,大致来说,创建一个RMI应用包括以下步骤:创建远程接口:继承java.rmi.Remote接口;创建远程类:实现远程接口,其构造方法必须声明抛出RemoteExcetion异常;创建服务器程序:负责在rmiregistry注册表中注册远程对象;创建客户程序:负责定位远程对象,并且调用远程对象的方法。,9
5、.5.1 创建远程接口,RMI规范要求远程对象所属的泪实现一个远程接口,并且远程接口符合以下条件:直接或间接继承java.rmi.Remote接口;接口中的所有方法声明抛出java.rmi.RemteException;方法和参数的返回值必须是可序列化的对象。例:public interface HelloService extends Remote String sayHello(String msg)throws RemoteException;,9.5.2 提供服务器端实现类(远程类),这个类通常继承自RemoteServer类,但它是一个抽象类,仅仅定义了服务器对象与其远程存根之间通信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 核心 课件

链接地址:https://www.31ppt.com/p-6509872.html