欢迎来到天天文库
浏览记录
ID:41553902
大小:628.51 KB
页数:110页
时间:2019-08-27
《分布式对象和远程调用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章分布式对象和远程调用第4章:分布式对象和远程调用引言分布式对象间的通信远程过程调用RemoteprocedurecallJavaRMI实例研究总结分布对象技术要解决的基本问题分布对象技术要解决的基本问题分布式系统的客户/服务器模型N层客户/服务器模型分布对象技术要解决的基本问题分布对象技术要解决的基本问题分布对象技术要解决的基本问题对象请求代理---支持客户访问异地分布对象的核心机制称为对象请求代理ORB(ObjectRequestBroker)分布对象技术要解决的基本问题分布对象技术要解决的基本问题分布式程序设计的模型远程过程调用(RPC--RemoteProcedureCa
2、ll)不同进程之间的过程的调用,但是是相同的语言环境。远程方法调用(RMI--RemoteMethodInvocation)一个进程调用另一个进程中对象的方法,两个进程可以在同一台主机,也可以在不同的主机。事件驱动(Event-basedmodel)注册一些感兴趣的对象的事件事件发生时会的到通知中间件中间件层中间件是一种软件,它提供基本的通信模块和其他一些基础服务模块,使得应用程序开发提供平台中间件要解决的问题通信协议:独立于网络底层的传输协议。硬件:数据类型在不同的硬件平台上有不同的表示:bigendian,litterendian,可以通过mashell解决。操作系统:在操作系统
3、层上提供更高级的抽象API,屏蔽操作系统的异构编程语言:CORBA通过IDL,可以使得不同的语言写的代码互相调用。中间件技术提供了一个编程的抽象,来屏蔽上述的异质问题。中间件---分布对象的核心技术中间件的特性位置透明(Locationtransparency)通信协议(Communicationprotocols)对计算机硬件层的支持对操作系统层的支持对程序设计语言层的支持接口(Interfaces)接口一个模块的接口包含了其他模块可访问的方法的定义(没有实现)和变量。有些情况,需要调用同一个方法,但是的具体实现的不同,接口可以做到这一点。分布式系统中的接口同一个地址空间,模块之间
4、的通信可以通过访问公共变量,但是远程调用不能直接访问变量只能通过属土参数和输出参数指针不能作为参数传递或者作为结果返回接口的实例RPC’sServiceinterface对服务器一组过程的说明,定义每个过程的输入输出参数,供客户端调用。RMI’sRemoteinterface对一个对象的方法的说明。可以传递一个对象或者远程对象的指针,也可以返回这两种类型,这是与过程调用最大的不同。接口的实例接口定义语言(IDLs—InterfaceDefinitionLanguages)JavaRMI中可以直接定义接口,只能被java语言调用其它中间件系统提供了IDLs.e.g.CORBAIDL(n
5、1),DCEIDLandDCOMIDL允许用其它语言实现的对象来调用,具有跨平台功能接口的实例第4章:分布式对象和远程调用引言分布式对象间的通信远程过程调用Remoteprocedurecall事件与通知EventsandnotificationsJavaRMI实例研究总结分布式对象间的通信对象模型(Theobjectmodel)分布式对象(Distributedobjects)分布式对象模型(Thedistributedobjectmodel)设计问题实现分布式垃圾回收对象模型对象的引用(objectreference)访问对象,必须知道对象的引用。可以作为参数的传递,也可以作为结
6、果返回接口(interface)动作(Actions)一个对象调用了另一个对象的方法则触发一个动作,两个作用:对象的状态发生改变生成一个新的对象连锁的调用异常(Exceptions)垃圾回收(Garbagecollection)分布式对象除了对象的属性,分布式对象系统的关键是对象之间的通信引入服务器和客户端的概念客户/服务器模式,对象相当于server,调用该对象方法的程序是client.作为server的对象需要访问其它对象的方法时,它就是client.分布式对象模型进程中可以包含多个对象,本地的和远程的。调用其它进程的对象叫远程调用,即使在同一台机器上,不同的地址空间的调用也叫远
7、程调用.提供可被远程调用方法的对象叫远程对象。E.g.B&F调用远程对象必须先获得远程对象的引用。E.g.C必须有E的引用。远程对象通过远程接口定义可被远程访问的方法。E.g.,B和必须公布远程接口。分布式对象模型分布式对象调用的语义(Invocationsemantics)分布对象的远程调用不能保证每次调用都确定被执行。RRP协议通常采用一些措施来保证所要求的消息传递保障。对于RRP协议,选择不同的策略,以提供不同的提交的保证。RetryRequestm
此文档下载收益归作者所有