9.6一个RM的分式应用的实 t·用RM编写一个分布式应用,核心有以下三方面 原·定位远程对象 1.一个应用可以利用RM的名字服务功能注册器远程 学计算机 对象。 2.可以象操作普通对象一样传送并返回一个远程对象 的引用(指针)。 系·与远程对象通信: 底层的通信由RMI实现,对于系统开发人员来说,远 代 程调用和标准的Java方法调用没有什么区别。 平·为需要传递的对象装载类的字节码 RMI允许调用者向远程对象传递一个对象,因此RMI 提供这种装载对象的机制
北 京 大 学 计 算 机 系 代 亚 非 1 9.6 一个RMI的分布式应用的实例 • 用RMI编写一个分布式应用,核心有以下三方面: • 定位远程对象 – 1. 一个应用可以利用RMI的名字服务功能注册器远程 对象。 – 2. 可以象操作普通对象一样传送并返回一个远程对象 的引用(指针)。 • 与远程对象通信: – 底层的通信由RMI实现,对于系统开发人员来说,远 程调用和标准的Java方法调用没有什么区别。 • 为需要传递的对象装载类的字节码 – RMI允许调用者向远程对象传递一个对象,因此RMI 提供这种装载对象的机制
9.6一个RM的分式应用的实 北京大学计算机系代亚非 Web server Client URL protocol /RMI RMII URL protocol Server ○ ARMI Web server registry URL protocol 2
北京大学计算机系代亚非 2 9.6 一个RMI的分布式应用的实例 Web Server Client Server Web Server registry URL protocol RMI RMI URL protocol URL protocol RMI
9.6一个RM的分式应用的实 问题的提出 task 北京大学计算机系代亚非 Client Remote object task Compute engin Client S erver task Client 3
北 京 大 学 计 算 机 系 代 亚 非 3 9.6 一个RMI的分布式应用的实例 Compute engin Server Remote object Client task Client task Client task 一、问题的提出
9.6一个RM的分式应用的实 ·分布特点 engin开发,先运行,task后定义写engn时不对执行什么 任务作任何规定任务可以是任意定制的 大学计算机系代亚非 前提条件: 定义任务的类要规定任务的实现步骤使得这个任务 能够提交给 engin去执行使用 Server上的CPU资源 技术支持: RMI的动态装载功能
北 京 大 学 计 算 机 系 代 亚 非 4 9.6 一个RMI的分布式应用的实例 • 分布特点: – engin开发,先运行,task后定义.写engin时不对执行什么 任务作任何规定.任务可以是任意定制的. • 前提条件: – 定义任务的类,要规定任务的实现步骤,使得这个任务 能够提交给engin去执行.使用server上的 CPU资源. • 技术支持: – RMI的动态装载功能
9.6一个RM的分式应用的实 A m10 compute 北京大学计算机系 远程方法、○○○ engine m 远程对象+A ComputeTask client server executeTask execute 远程对象必须继承远程接口 确定那些方法是远程方法,为此定义远程接口 代远程接口只负责提供方法名不一共实现细节因此必须由一个对 菲象来实现接口
北 京 大 学 计 算 机 系 代 亚 非 5 9.6 一个RMI的分布式应用的实例 远程对象 client server A m1 远程方法 A.m1() 远程对象必须继承远程接口 确定那些方法是远程方法,为此定义远程接口 远程接口只负责提供方法名,不一共实现细节,因此必须由一个对 象来实现接口 executeTask compute engine Compute execute Task