RMI开发实战:客户端部署与远程过程调用
需积分: 16 172 浏览量
更新于2024-08-23
收藏 785KB PPT 举报
在河工大的分布式计算课程第三讲中,重点讨论了RMI(Remote Method Invocation,远程方法调用)的基本原理和开发过程。RMI是Java平台上实现分布式计算的重要工具,它利用RPC(Remote Procedure Call,远程过程调用)通信模式,简化了客户端和服务端之间的通信。
客户端需要部署的关键文件包括:
1. `TelephoneExample`目录,其中包含了整个RMI开发示例的程序结构,如`ClientApplet.class`为主客户端程序,用于调用远程服务。
2. `QueryPage.html`是HTML文档,它调用客户程序来显示远程服务的结果。
3. `Database`子目录,包含数据库访问相关的类,如`DatabaseTableModel.class`负责将查询结果转换为二维数据表模型。
4. `Telephone`子目录,包含电话计费查询程序包,如`CallManagerInterface.java`是远程服务的接口,`CallManager_Stub.class`是客户端使用的远程对象的代理。
5. `QueryPanel.class`是编译后的字节码,用于实现用户界面的交互。
RMI的基本原理涉及分布式对象技术,这种技术的核心是将对象的位置、访问方式以及状态透明地暴露给调用者。其优点在于:
- 对象封装:提供了一种抽象,封装了服务的算法和数据结构,增强了系统的隐藏性和安全性。
- 透明性:对象透明性使得客户端无需知道服务的具体实现细节,提高了灵活性。
- 继承和多态:尽管可能存在较大的成本,但通过接口和实现的分离,可以更好地支持服务的扩展和复用。
- 应用到异构网络环境:RMI允许在不同的操作系统和平台上进行无缝协作,简化了复杂性的管理。
在RMI的开发过程中,通过Socket通信模式,虽然效率高,但需要手动处理数据的编码和解码,增加了编程负担,并可能遇到防火墙和错误恢复等问题。相比之下,RPC模式更为高级,它提供了一种更加统一、易用的接口,让开发者能够像调用本地方法一样调用远程服务。RPC系统负责底层的通信细节,包括参数打包、解包和传输,但不直接支持面向对象的特性融合。
课程中的实例演示了从简单到复杂的RMI开发过程,涵盖了从创建接口、编译生成代理、到客户端调用远程服务的完整流程。无论是基础概念的理解,还是实际项目的开发,这部分内容对于学习者理解和掌握RMI技术具有重要意义。
2021-10-12 上传
108 浏览量
2024-11-06 上传
2024-11-06 上传
2023-06-09 上传
152 浏览量
2024-10-26 上传
529 浏览量
清风杏田家居
- 粉丝: 22
- 资源: 2万+
最新资源
- CI--EA实施
- 24L01模块原理图+PCB两种天线三块板子
- Horiseon-proyect
- SimbirSoft
- 钟摆模型:用于不同实验的 Simulink 模型-matlab开发
- shopcart.me
- 6ES7214-1AG40-0XB0_V04.04.00.zip
- hivexmlserde jar包与配套数据.rar
- KeepLayout:使自动布局更易于编码
- worldAtlas
- AdvancedPython2BA-Labo1
- lsqmultinonlin:共享参数的全局参数非线性回归-matlab开发
- STK3311-WV Preliminary Datasheet v0.9.rar
- js实现二级菜单.zip
- 微店助理 千鱼微店助理 v1.0
- tao-of-rust-codes:作者的回购