- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 Java远程方法调用 武汉大学计算机学院计算机应用系 本章学习要点 深入理解RMI实现分布式计算基本原理 深入理解RMI服务器端和客户端程序的基本框架 熟练掌握编写一个RMI应用的基本步骤 熟练运用RMI完成各种分布式计算 / / /ysj/hljdxb/ 11.1 概 述 1. 什么是RMI Java RMI(Remote Method Invocation 远程方法调用)能让一个Java程序调用网络中另外一台计算机上的Java方法,就如同调用本地方法一样。RMI大大增强了Java开发分布式应用的能力,为采用Java实现分布式计算提供了简单而直接的途径。 Java强大的威力体现在它强大的开发分布式网络应用的能力上,而RMI就是开发百分之百纯Java的网络分布式应用系统的核心解决方案之一。在某种程度上,RMI可以被看作是RPC的Java版本。Java RMI可以支持存储于不同地址空间的程序级对象之间彼此进行的通信,实现远程对象之间的无缝远程调用,从而能够比RPC更好地应用于分布式系统。 2. RMI的协议及其特点 RMI目前使用Java远程消息交换协议JRMP(Java Remote Messaging Protocol)进行通信。JRMP是专为Java的远程对象制定的协议。因此,Java RMI也具有Java的“Write Once,Run Anywhere”的优点。用Java RMI开发的应用系统可以在任何支持JRE的平台上运行。 RMI是以Java为核心的,所以它将Java的安全性和可移植性等强大功能带给了分布式计算。RMI可将Agent和服务逻辑等属性移动到网络中最合适的地方。RMI可利用标准Java本机接口(JNI)与现有的和原有的系统相连接。RMI还可利用标准JDBC包与现有的关系数据库连接。RMI/JNI和RMI/JDBC相结合,可帮助用户利用RMI与目前使用非Java语言的服务器进行通信。 3. RMI的结构 RMI应用程序通常包括两个独立的程序:服务器程序和客户机程序。 · 典型的服务器应用程序可以创建多个远程对象,并使这些远程对象能够被引用,然后等待客户机调用这些远程对象上的方法。 · 典型的客户机程序则从服务器中得到一个或多个远程对象的引用,然后调用远程对象的方法。这种类型的应用程序通常被称为分布式对象应用程序。 RMI中的“客户/服务器” 仅适用于被调用方法的当前调用过程,它们之间客户/服务器的角色不是固定的。运行调用远程方法的计算机本次是客户机,而处理这些被调用对象的计算机则是本次调用的服务器,它们在下一个调用中还可能互换角色。 11.2 一个简单的RMI应用实例 9.6 一个RMI的分布式应用的实例 用RMI编写一个分布式应用,核心有以下三方面: 定位远程对象 1. 一个应用可以利用RMI的名字服务功能注册器远程对象。 2. 可以象操作普通对象一样传送并返回一个远程对象的引用(指针)。 与远程对象通信: 底层的通信由RMI实现,对于系统开发人员来说,远程调用和标准的Java方法调用没有什么区别。 为需要传递的对象装载类的字节码 RMI允许调用者向远程对象传递一个对象,因此 RMI提供这种装载对象的机制。 9.6 一个RMI的分布式应用的实例 实现一个RMI应用程序需要完成以下几个步骤: 1. 定义一个接口扩展远程接口,再定义一个类实现它,同时实现服务器端程序,为远程方法调用提供服务。 2. 完成客户端程序,在该程序中实现远程方法调用。 3. 上述代码编译通过以后,调用rmic命令生成相应的存根(Stub)类和框架(Skel)类。 4. 设置服务器,为运行分布式应用程序作好准备(如果该程序仅在本地机上运行则不需此步)。 5. 在服务器上运行RMI注册程序rmiregistry。 6. 分别执行服务器程序和客户机程序。 9.6 一个RMI的分布式应用的实例 9.6 一个RMI的分布式应用的实例 依照上述的步骤1,先定义一个接口扩展远程接口Remote,再定义一个类实现它,同时实现服务器端程序,为远程方法调用提供服务 9.6 一个RMI的分布式应用的实例 import java.rmi.*; import java.rmi.server.*; public class FirstImpl extends UnicastRemoteObject implements RemoteInterface{ static int number=0; public FirstImpl() throws RemoteException{ super(); } public String FirstMethod() {
您可能关注的文档
- JavaJava网络编程要点解析.ppt
- JAVASE第二章要点解析.ppt
- JAVAWEB开发第一章背景知识简介要点解析.ppt
- JavaWeb开发环境配置要点解析.ppt
- JAVAweb开发要点解析.ppt
- Java编程要点解析.ppt
- Java程序设计1要点解析.ppt
- Java程序设计2要点解析.ppt
- Java程序设计3要点解析.ppt
- Java程序设计4要点解析.ppt
- 浙江衢州市卫生健康委员会衢州市直公立医院高层次紧缺人才招聘11人笔试模拟试题参考答案详解.docx
- 浙江温州泰顺县退役军人事务局招聘编外工作人员笔试备考题库及参考答案详解一套.docx
- 江苏靖江市数据局公开招聘编外工作人员笔试模拟试题及参考答案详解.docx
- 广东茂名市公安局电白分局招聘警务辅助人员40人笔试模拟试题带答案详解.docx
- 江苏盐城市大丰区住房和城乡建设局招聘劳务派遣工作人员4人笔试模拟试题带答案详解.docx
- 浙江舟山岱山县东沙镇人民政府招聘笔试模拟试题及参考答案详解1套.docx
- 最高人民检察院直属事业单位2025年度公开招聘工作人员笔试模拟试题含答案详解.docx
- 浙江金华市委宣传部、中共金华市委网信办所属事业单位选调工作人员笔试备考题库及答案详解1套.docx
- 广东深圳市党建组织员招聘40人笔试模拟试题及答案详解1套.docx
- 江苏南京水利科学研究院招聘非在编工作人员4人笔试模拟试题及参考答案详解.docx
最近下载
- SY 4201.4-2016 石油天然气建设工程施工质量验收规范 设备安装工程 第4部分:炉类.docx VIP
- 电力市场分析软件:PLEXOS二次开发_(13).电力市场改革与趋势分析.docx VIP
- 云和雪梨生产全程质量控制技术规范.docx VIP
- 电力市场分析软件:PLEXOS二次开发_(12).可视化与报告生成.docx VIP
- 2024-2025学年四川省成都市新都一中实验学校七年级(上)分班数学模拟试卷(含答案).pdf VIP
- 跨座式与悬挂式单轨运输系统幻灯片.ppt VIP
- 市场营销论文:长春农商银行小微企业贷款业务市场营销策略研究.docx VIP
- 电力市场分析软件:PLEXOS二次开发_(11).数据库管理与接口设计.docx VIP
- 电力市场分析软件:PLEXOS二次开发_(10).二次开发工具与技巧.docx VIP
- 有机肥采购项目投标书(范本).docx
文档评论(0)