- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
An Introduction to Database System 第10章 远程方法调用 远程方法调用( RMI :Remote Method Invocation)是一种机制,允许运行在一个Java虚拟机的对象调用运行在另一个Java虚拟机上的对象的方法。如果想使机器中的对象能够被远程调用,它就必须实现远程接口。 通俗地说,远程调用就象将一个class放在A机器上,然后在B机器中调用这个class的方法。 RMI允许不同的Java虚拟机之间进行对象间的通信,从而共享各个虚拟机上的资源和处理能力。 RMI的目的是使分布在不同的虚拟机中的对象工作起来像是本地对象,以达到位置透明性,应用程序不用知道对象是本地还是远程的,屏蔽应用程序对底层的复杂实现细节。 RMI是Java的一组拥护开发分布式应用程序的API。 第10章 远程方法调用 RMI(Remote Method Invocation,远程方法调用)是用Java在JDK1.1中实现的,它大大增强了Java开发分布式应用的能力。Java作为一种风靡一时的网络开发语言,其巨大的威力就体现在它强大的开发分布式网络应用的能力上,而RMI就是开发百分之百纯Java的网络分布式应用系统的核心解决方案之一。Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。 10.1 RMI 概述 1、什么是RMI: RMI是一种计算机之间对象互相调用对方函数,启动对方进程的一种机制,使用这种机制,某一台计算机上的对象在调用另一台计算机上的方法时,使用的程序语法规则和在本机上对象间的方法调用的语法规则一样 10.1 RMI 概述 2、RMI应用程序的基本模型 RMI采用客户/服务器通信方式。引用远程对象的JVM叫客户机,包含远程对象的JVM叫服务器。 典型的服务器应用程序将创建多个远程对象,使这些远程对象能够被引用,然后等待客户机调用这些远程对象的方法。而典型的客户机程序则从服务器中得到一个或多个远程对象的引用,然后调用远程对象的方法。RMI为服务器和客户机进行通信和信息传递提供了一种机制 客户端无论何时要调用服务器端的对象,它如何告诉服务器他想创建的对象吗?在服务器端,我们将一个字符串变量与一个对象联系在一起,客户端通过将那个字符串传递给服务器来告诉服务器它要创建的对象,这样服务器就可以准确地知道客户端需要使用哪一个对象了。所有这些字符串和对象都存储在的远程注册服务器中。 10.1 RMI 概述 2、RMI应用程序的基本模型 RMI采用客户/服务器通信方式。引用远程对象的JVM叫客户机,包含远程对象的JVM叫服务器。 典型的服务器应用程序将创建多个远程对象,使这些远程对象能够被引用,然后等待客户机调用这些远程对象的方法。而典型的客户机程序则从服务器中得到一个或多个远程对象的引用,然后调用远程对象的方法。RMI为服务器和客户机进行通信和信息传递提供了一种机制。 客户端无论何时要调用服务器端的对象,它如何告诉服务器它想创建的对象?在服务器端,我们将一个字符串变量与一个对象联系在一起,客户端通过将那个字符串传递给服务器来告诉服务器它要创建的对象,这样服务器就可以准确地知道客户端需要使用哪一个对象了。所有这些字符串和对象都存储在的远程注册服务器中。 10.1 RMI 概述 在服务器上部署了提供各种服务的远程对象,客户端请求访问服务器上远程对象的方法。 10.1 RMI 概述 3、RMI体系结构:RMI框架为远程对象分别生成了客户端代理和服务器端代理。位于客户端的代理类称为存根(Stub),位于服务器端的代理类称为骨架(Skeleton)。 10.1 RMI 概述 当客户机调用RMI方法时,相当于调用Stub,RMI Stub通过编组(Marshaling)--把方法调用中的参数转换成可以在网络上传输的数据格式,经远程引用层和传输层向下,以网络分组的形式传递给服务器,然后再次经传输层,向上穿过远程调用层和骨架(Skeleton),RMI Skeleton负责拆解网络格式的数据,恢复方法调用中的参数到达服务器程序。? Skeleton利用方法调用,访问RMI实现类,RMI实现类进行相应的处理,并将返回值返回Skeleton,Skeleton对返回值进行编组,通过网络传输到客户机上。Stub再对收到的返回值进行分解,最后把分解后的返回值送给客户机应用。 10.1 RMI 概述 存根把以下请求信息发送给服务器: 被访问的远程对象的名字。 被调用的方法的描述。 编组后的参数的字节序列。 10.1 RMI 概述 调用stub的方法时将执行下列操作: (1)
文档评论(0)