网络即插即用_第1页
网络即插即用_第2页
网络即插即用_第3页
网络即插即用_第4页
网络即插即用_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中间件技术第11章网络即插即用中间件知识点:网络即插即用概念Jini体系结构Jini核心服务Jini代理结构重点:Jini体系结构概述当今的计算主体是普遍而且广泛存在着的动态分布式计算。——提出了互操作需求SunMicrosystems于1999年提出Jini技术。Jini系统着力于使网络变成一个更富有动态性的环境,可以灵活地增加和删除服务。Jini系统的目标是将网络变成一个易组织、易管理的环境,通过这个环境,用户能够找到感兴趣的资源并加以利用。Jini体系结构的环境假设:⑴一个具有合理延迟的网络;Jini主要依赖于Java的移动代码特性;——RMI网络延迟不能影响到Jini系统的性能。⑵具有一定的内存和处理能力的设备;没有内存或处理能力的设备,则存在一个即有处理能力又带有内存的代理。希望所有的网络成员都拥有所需的最少的计算能力、内存和通信能力。11.1续Jini体系结构的环境假设:⑶每个设备都装备一个Java虚拟机;Java虚拟机的不同版本,内存占用不同。⑷服务组件利用Java实现。所有服务组件必须以Java对象的形式存在,不要求必须是Java服务的实现,只需要一个Java包装器。——RMI方便服务的请求者能够动态地下载或运行代码。11.1续11.2Jini历史Jini与JavaJini的历史就是Java的历史;Oak语言——1990年实现一种为嵌入式处理器编写程序的可移植工具。Java语言——1995年可从Web服务器上下载applet小程序,并在浏览器内安全执行。设备之间移动代码、平台无关、安全性、简洁等。Jini——1999年——面向消费类电子产品把大量的设备和软件服务简单而可靠地组织起来协同工作。11.3系统目标最终目标⑴提供一个能够帮助不同网络用户在任何网络群体自然地完成发现、加入和参与的基础设施。⑵提供一种基础设施,实现零安装和零配置。“即插即用”而非“即插即请求”。⑶通过把所有的对象都处理为服务,提供一种以服务网络为中心的体系结构,屏蔽服务的差别。⑷提供一种能处理部分失败,实现自愈合的网络体系结构。11.4核心概念核心概念1.服务2.查找服务3.租约4.事件Jini体系结构的目标就是将一组设备和软件联合起来形成一个单一的,动态的分布式系统。Jini体系提供简单的访问和轻松的管理。1.服务Jini体系结构最重要的核心。服务一个服务是具有一定功能、可被用户、程序或其他服务所使用的实体。从服务实现角度看,服务是一种Java语言的对象。从用户的观点看,只关心服务的功能和操作界面。Jini系统是由一群服务所组成的用于完成特定任务的联合体。Jini的动态特性使服务可以根据用户的需求随时地加入或离开一个Jini系统。Jini系统中,服务之间使用服务协议进行通信。11.4续11.4续2.查找服务查找服务是Jini体系结构中的一个基本组成部分,为系统中可用的服务提供集中的注册机制。Jini系统中的对象是通过查找服务来实现相互发现和交互的。查找服务是Jini系统与用户之间以及Jini系统之间相互联系的关键纽带。网络上的每个查找服务都可以为一个或多个系统提供服务,每个系统也可以有一个或多个查找服务支持。查找服务中注册的对象也可以是其他查找服务,或者是名称和目录解析服务,从而实现联邦。11.4续2.查找服务服务要加入到查找服务中,即注册,需要通过发现协议寻找一个合适的查找服务,通过加入协议实现具体的加入过程。查找服务提供了对可供服务的服务项目(代理和属性)的管理。代理由服务提供,表明该服务所提供的功能。发布在查找服务上的服务的属性,可便于用户寻找匹配的服务。11.4续代理代理是代表远程对象的本地对象,是序列化的Java对象,在服务中是唯一的。代理具有和远程服务相同的编程接口,用户通过代理与相应远程服务通信,屏蔽下层网络细节。当其他的实体在找到服务项目时,代理对象就会被复制到该实体的java虚拟机,实体通过调用代理对象的方法来使用服务。代理查找服务代理服务提供者代理服务请求者发现协议+查找协议发现协议+加入协议面向服务的协议11.4续系统运行过程1.服务提供者通过发现协议找到查找服务,再由加入协议将所提供的服务注册到查找服务中,注册信息包括:服务标识号、服务代理和服务属性。服务代理从服务提供者上载到查找服务。2.服务请求者通过发现协议找到查找服务,再由查找协议按照所需服务的类型和属性寻找服务。找到匹配的服务后,再将该服务的代理下载到本地。3.服务请求者通过代理使用服务,而代理和服务提供者之间以特定的服务协议进行通信。11.4续代理服务请求者只需知道代理所支持的java语言接口就可以调用服务;代理和服务提供者之间可以采用任何面向服务的协议进行通信,并且通信协议对客户透明。通过代理,服务请求者可以透明地使用服务,而无需了解服务的实现细节。11.4续3.租约基本思想不允许使用者在无限制的时间内访问资源,资源只是在一段有限的时间内“借给”某使用者;Jini租约要求那些能证明其确实与某部分资源密切相关的使用者才能继续占有资源。租约提供了系统自行维护的能力,保证部分失败能被识别并清除,减少人为干预。租约提供了释放Jini中未用或不需要的资源的办法。11.4续3.租约基本思想对客户而言,当租约到期时,资源就被回收;如果客户在租约未到期前就已经完成对资源的使用,则客户可以显示地取消租约,释放资源;假如还要继续使用资源,客户则要不断地更新租约。租约机制不仅适用于客户,也适用于资源将其服务注册到查找服务的过程。作用⑴使局部的错误不会破坏整个系统。⑵使得Jini系统的成员所使用的固定存储空间不需要维护。⑶允许第三方代表另外的实体实施租借。11.4续4.事件分布式事件模型是在分布式对象之间通知状态变化信息的机制。Jini事件模型与普通事件模型差别:⑴Jini接收事件的接口是一个RMIRemote接口;⑵Jini模型的类和方法特别少;⑶Jini采用第三方代管程序实现事件的发送和响应。分布式事件接口模型:⑴指定当事件发生时被用来发送通知的接口。⑵指定通知中所包含的信息。⑶允许通知传送具有受保证的不同等级。⑷支持可调度通知的不同策略。⑸允许插入对象用于收集、存储、过滤和转发通知。11.5Jini的组成Jini与Java相应部分比较11.5续Jini组成部分⑴基础设施用于构建一个Jini联邦系统。⑵编程模型一组接口,用于构建可靠的服务。⑶服务Jini系统中的实体。11.5续⑴基础设施基础设施定义了最小化的Jini技术的核心。目标为设备、服务和用户提供相应的机制用于发现、加入网络或离开网络。构成发现协议和加入协议查找服务——相当于目录服务器分布式安全系统远程方法调用RMI——允许下载服务代理11.5续⑴基础设施Jini的发现和加入协议定义了各种服务加入Jini系统中的方法。查找服务反映了当前系统中成员的情况及帮助系统中成员寻找其他合作者;RMI定义了Jini服务之间通信的基础机制;分布式安全模型及其实现定义了服务项目如何标识以及是否有权限完成某项动作。11.5续⑵编程模型将单台Java虚拟机的编程模型扩展到适用于多台虚拟机上的分布式对象协作的情形。租借模型通过对资源引用加上时间的限制,解决了分布式系统中资源的动态分配和回收问题。分布式事件模型使事件能够被第三方托管程序收集、存储、过滤和转发通知,从而实现分布式对象之间控制流和相关数据的传递。事务处理模型通过运用两阶段提交协议,使Jini应用更加可靠和健壮,从而避免部分失败可能造成的严重后果。11.5续⑶服务Jini技术的基础设施和编程模型都是用来使服务能够在网络中被发布和发现。在Jini体系结构中,任何实体均被看做服务。实体可以是硬件、软件或者是软硬件的结合。服务被标识为Java对象,每个服务都有一个接口,定义了可以向服务请求的操作。典型Jini服务:⑴查找服务⑵JavaSpaces服务——可选的分布式对象保存机制⑶事务管理器服务11.6服务体系结构简介发现和查找协议当某个服务为了注册需要找到查找服务时,使用发现协议;当服务已经找到查找服务并希望加入时,使用加入协议;服务请求者想使用服务时,首先找到查找服务,然后使用查找协议进行匹配。11.6续发现协议组播请求协议用于一个应用或服务首次激活时,寻找附近活跃的查找服务。组播通告协议查找服务用此协议声明自己的存在。单播发现协议用于当一个应用或服务已经知道了要连接的特定查找服务时。单播协议用于直接连向某查找服务。11.6续系统运行过程⑴服务提供者通过组播请求利用发现协议找到本地网络中的查找服务。⑵服务提供者的服务对象上传到查找服务中,完成加入过程。⑶客户利用单播发现或组播发现协议找到查找服务,然后利用查找协议,通过类型匹配定位相应的服务。⑷客户将服务对象代理下载到本地的Java虚拟机上。⑸客户通过服务对象代理直接与服务提供者通信。11.4续系统运行过程服务的代理查找服务服务的代理客户查找服务的代理发现协议发现协议面向服务的协议加入协议查找协议服务提供者服务的代理查找服务的代理⑴⑵⑶⑷⑸⑹⑺11.6续系统运行过程⑴服务提供者在网络中组播一组希望注册自己服务的请求数据包,请求获得查找服务对象的引用。⑵当查找服务侦听到注册请求信息时,根据注册请求数据包中的信息,回送查找服务的代理给服务提供者。⑶服务提供者调用查找服务代理进行注册,将服务对象的代理上载到查找服务,实现注册。⑷客户首先通过组播请求找到查找服务,获得查找服务的代理。11.6续系统运行过程⑸客户程序通过查找服务代理,请求特定类型的服务;⑹查找服务查找接口,返回该类型或子类型的服务代理给客户。⑺客户通过服务代理与服务提供者直接交互。11.7基础设施查找服务基础设施是Jini体系结构的核心。查找服务是Jini群体基础设施的核心部分。查找服务为加入Jini群的设备和服务提供了一种集中的注册机制。传统的分布式定位服务⑴服务请求者必须提前与命名或注册服务进行绑定。⑵只支持基于名字的查询模型。⑶命名服务中保存的服务条目是静态的。⑷存在单点失败的情况。11.7续查找服务Jini查找服务新特性⑴无需提前绑定⑵基于服务类型的查询⑶动态的服务条目⑷避免单点失败⑸提供服务提供者的代理和用户接口bean⑹可进行特定查询和精确查询查找接口⑴服务注册器接口⑵服务项类⑶服务模板类11.7续发现协议⒈组播请求协议被服务提供者和服务请求者用来定位一个附近的查找服务。组播请求客户组播响应服务器组播请求服务器组播响应客户组播地址发送组播请求监听组播请求使用单播发现响应11.7续发现协议组播请求协议工作过程⑴针对服务请求者和服务提供者发现查找服务组播请求客户向某个组播请求服务器监听的组播地址发送数据包。组播响应服务器监听通过单播发现协议返回的应答。服务提供者/服务请求者每隔一段时间间隔发送组播请求。把查找服务的ID增加到组播响应服务器维护的已知的查找服务ID集中。11.7续发现协议组播请求协议工作过程⑵针对查找服务组播请求服务器将一个数据套接字与公开的组播请求端点进行绑定,用于接收组播请求。组播响应客户对组播请求做出响应。根据组播请求中的服务ID做相应操作。使用单播发现协议做出响应。11.7续发现协议⒉组播通告协议查找服务使用组播通告协议向指定的组播范围内的关注方宣布其存在性。参与者组播通告服务器:存在于服务提供者/服务请求者处。组播通告客户:存在于查找服务上。工作过程⑴针对查找服务⑵针对监听组播通告的服务提供者/服务请求者11.7续发现协议⒊单播发现协议要求服务提供者/服务请求者提前知道查找服务的位置单播发现协议应用环境建立TCP连接发送单播请求发送单播响应查找服务位置已知服务提供者/服务请求者查找服务建立TCP连接发送单播请求发送单播响应查找服务做出响应服务提供者/服务请求者查找服务11.7续加入协议加入协议制定了服务提供者在查找服务中注册时必须遵守的规则。⑴服务注册器接口——ServiceRegistrar对象⑵服务项类——ServiceItem对象⑶服务注册接口——ServiceRegistration对象ServiceRegistrar对象ServiceRegistration对象服务对象获得查找服务的代理完成注册注册服务11.7续客户搜索服务请求者在通过发现协议找到查找服务后,将通过服务匹配找到自己所需的服务。⑴服务注册器接口ServiceRegistrar对象Lookup()方法⑵服务模板类匹配字段:服务ID、服务类型和属性⑶服务匹配类返回多个符合要求的服务ServiceMatches对象11.7续安全Jini的安全性建立在Java平台的安全性基础上。⑴Java平台安全模型Java提供多种安全API,支持数字签名、JAR文件,消息摘要、访问控制列表等。⑵Jini安全策略文件许可设定对相关的文件进行访问。所有代码都通过一个代码基被授予一组对文件的操作权限。代码基是一个涉及地址的URL集合,代码可由此得到加载。套接字许可设定在规定端口进行网络访问的权限。11.8编程模型分布式事件模型本地事件与分布式事件事件:某个软件实体状态上的改变。本地事件同一地址空间上软件实体状态的改变。分发速度快、可靠、良序性、可类型化分布式事件不同地址空间中两个或者多个软件实体所发生的状态的改变。分发速度慢、不可靠、不具有良序性、类型多变11.8续分布式事件模型Jini对分布式事件的处理Jini系统中,将所有的事件都抽象为远程事件。远程事件属性事件序列号生成事件的原对象的引用事件类型标识符远程对象事件发生器事件使用者远程事件监听者监听者方法11.8续租借模型基本思想不再保证可以在无限制的时间内访问资源,资源只是在一段固定时间内租借给某个使用者。租借时间到期后,如果资源使用者还想继续使用资源,则必须续订租期。租借一种合约,可在一个已经协定好的时间段内使用资源或者服务。出租者和承租者优缺点使得Jini系统具有自愈合、自管理、自配置的优点。编程复杂。11.8续事务模型分布式事务Jini系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论