网络编程与计算技术 作者 刘化君 第8章 分布式计算.pptVIP

网络编程与计算技术 作者 刘化君 第8章 分布式计算.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8.1 分布式计算与RMI 分布式计算是当前软件开发技术的重要发展方向之一。在计算机网络中,分布式计算系统结构允许用户共享网络中的计算机资源。本节主要介绍分布式计算与远程方法调用(Remote Method Invoke,RMI)的一些基本概念。 8.1.1 何谓分布式计算 分布式计算的英文为Distributed Computing。如果说某项工作是分布式的,那么,参与这项工作的一定不只是一台计算机,而是一个计算机网络。计算机具有两种功能,一是它能够存储信息,或者称为数据存储;另一个功能是它具有处理数据的能力,它能够计算。按这一分类原则,可以把计算机网络所做的工作分为分布式数据存储和分布式计算两种类型。 在分布式计算中,计算机网络侧重于它的计算功能。在分布式数据中,完成一件工作时,数据可能来自于网络中不同的计算机,但对于这些数据的处理却是由本地主机完成的。而在分布式计算环境中,数据的处理不只是由一台主机完成,而是由多台计算机协同完成的。比如,一些对CPU和内存要求都很高的应用程序,在客户机上不能很好地运行,则可以在网络中的服务器上执行。那么它们就形成了一个分布式的计算。由于计算机的计算总是离不开数据,所以,在大部分情况下,分布式计算总是伴随着分布式数据存储。分布式计算往往是一个表示程度的量词。为此在分布式计算环境中制定了一些共享网络计算机资源的标准和协议,例如远程过程调用(RPC)标准和远程信息交换协议(Remote Messaging Protocol,RMP)等。 Java分布式对象计算技术通常指远程方法调用(RMI)和企业级JavaBean(Enterprise Java Beans,EJB)。RMI提供了一个Java对象远程调用另一Java对象的方法,与传统RPC类似,只能支持初级的分布式对象互操作。Sun公司基于RMI,提出了EJB。基于Java服务器端组件模型,EJB框架提供了像远程访问、安全、交易、持久和生命期管理等多种支持分布式对象计算的服务。目前,Java技术和CORBA技术有融合的趋势。Java是一门适合于分布式计算环境的语言,除了具有很好的安全性和可移植性外,还提供了丰富的网络类库和包,譬如java.rmi、java.rmi.server和java.rmi.registry等,利用这些类库和包,可以很轻松地编写多种类型的分布式计算程序。 8.1.2 远程方法调用(RMI) 如何通过网络执行位于其他计算机上的程序代码?显然解决这个问题的最佳方式是:某些对象恰好位于另一台远程计算机,可以向它们发送一条消息,并获得返回结果,就像那些对象位于本地计算机一样。远程方法调用(RMI)采用的正是这种抽象。RMI是一种分布式系统技术,它允许一个JVM调用运行在网络中另一JVM上的对象方法。这种技术对开发大型系统尤其重要,因为它使得在多台计算机上分布的资源和处理负载的想法成为可能。 1.RMI系统体系结构的分层模型 为了与对象调用的语义匹配,分布式对象系统需要进行远程方法调用。该方法是一种本机存根(Surrogate)对象管理远程对象的调用。RMI用面向对象的思想继承和发展了RPC,其体系结构的分层模型如图8-1所示。 2.Java的远程方法调用 Java 2 Enterprise Edition(J2EE)远程方法调用(RMI)骨架允许创建透明的、分布式的服务和应用程序。基于RMI的应用程序由Java对象构成,这些对象相互调用,同时忽略对方的位置。换言之,一个Java对象可调用另一个JVM上的某个Java对象的方法,其调用过程就像这些远程对象位于本地一个JVM上的某个Java对象的方法一样,如图8-2给出了调用过程的一个示意。 8.2 RMI应用编程示例 Java的RMI技术能够使在一台计算机上运行的Java程序可以远程执行另外一台计算机上的对象方法。执行结果可以通过方法的参数返回给Java程序。因此,它涉及到服务器和客户机两方面的应用程序。服务器程序创建一系列的对象,并向RMI注册服务器注册,等待客户机来执行。而客户机程序获取服务器上对象的引用,然后远程执行其方法。这些方法将在服务器程序所在的计算机上执行,执行的结果可以通过方法的返回值返回给客户机程序。因此,编写Java RMI分布式应用程序是比较复杂的,可以将其分为服务器端与客户机端两大任务。主要步骤包括:定义一个远程接口,实现远程服务接口,服务器端开发,客户机端开发,生成骨架代码,启动RMI、服务器和客户机。本节结合一个比较简单的RMI应用程序示例,来介绍RMI应用程序的编制与运行过程。 8.2.1 服务器端的编程与运行 1.创建远程接口 Java提供了一个完全限定名称为java.rmi.Remote的接口。任何对象要想参与和另一个Java对象的远程

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档