代理模式-分布式计算.ppt
《代理模式-分布式计算.ppt》由会员分享,可在线阅读,更多相关《代理模式-分布式计算.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、设计模式第九章第九章代理模式代理模式-分布式计算分布式计算设计模式回顾q状态模式允许一个对象基于内部状态而拥有不同的行为q通过将每个状态封装进一个类,我们把以后需要做的任何改变局部化了q状态转换可以由State类或Context类控制q使用状态模式通常会导致设计类的数目增加2设计模式目标q理解本地计算与分布式计算q分布计算角色与机制q远程方法调用(Remote Method Invocation)RMIq配置远程方法调用q远程方法中的参数传递qRMI与CORBA区别3设计模式本地计算与分布计算q本地计算:组件共享一个公共的地址空间进行通信。q分布计算:组件调用不同机器上的地址空间的组件进行通信
2、。JVM组件组件JVMJVM本地计算分布计算4设计模式分布计算q分布计算角色:客户与服务器q分布计算机制:客户端以常规的方式进行方法调用,无须操心数据在网络上传输或者解析响应之类的问题。提供服务的对象可能不在同一个虚拟机内,甚至可能不是Java语言实现的对象。在客户端为服务器对象安装一个代理(proxy),客户调用此代理进行常规方法调用。客户端代理负责与服务器进行联系。在服务器端安装第二个代理对象。该服务器代理与客户端代理进行通信,以常规方式调用服务器对象上的方法。clientServer发送请求数据返回响应数据在客户端与服务器之间传递对象5设计模式clientproxyproxyserver
3、调用本地代理发送请求数据调用本地服务方法返回方法结果返回响应数据返回方法结果RMICORBASOAP6设计模式RMI、CORBA与SOAPq三种通信技术:RMI:Java的远程方法调用技术,支持Java的分 布式对象之间的方法调用;CORBA:通用对象请求代理架构,支持任何编程语言编写的 对象之间的方法调用,使用Internet Inter-ORB协议 (IIOP)支持对象间通信;SOAP:简单对象访问协议,使用基于XML的传输格式。7设计模式Java RMIClientServer对象A远程接口B远程对象BB的代理:存根的代理:存根(stub)远程引用层远程引用层RRL通信模块通信模块远程方
4、法调用返回值B的代理:主干的代理:主干(skeleton)远程引用层远程引用层RRLJava RMI架构通信模块通信模块命名服务注册对象对象B引用引用远程对象远程对象B引用引用8设计模式一般RMI概念服务器:远程接口B:列出了可以远程调用的所有方法;远程对象B:实现远程接口B的类实例化对象;主干(skeleton):将客户端发送的参数反向序列化并调用远程对象上所需方法。方法返回,获得返回值并序列化发送回服务器通信模块。远程引用层(RRL):为远程对象B创建一个远程对象引用。同时维护远程对象 与其引用之间的映射。客户端:存根(stub):以远程对象B的引用(唯一标识)、远程接口B方法描述来构造
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 代理 模式 分布式 计算
限制150内