網絡即插即用_第1頁
網絡即插即用_第2頁
網絡即插即用_第3頁
網絡即插即用_第4頁
網絡即插即用_第5頁
已閱讀5頁,還剩41頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

中間件技術第11章網絡即插即用中間件知識點:網絡即插即用概念Jini體系結構Jini核心服務Jini代理結構重點:Jini體系結構概述當今的計算主體是普遍而且廣泛存在著的動態分布式計算?!岢隽嘶ゲ僮餍枨骃unMicrosystems于1999年提出Jini技術。Jini系統著力于使網絡變成一個更富有動態性的環境,可以靈活地增加和刪除服務。Jini系統的目標是將網絡變成一個易組織、易管理的環境,通過這個環境,用戶能夠找到感興趣的資源并加以利用。Jini體系結構的環境假設:⑴一個具有合理延遲的網絡;Jini主要依賴于Java的移動代碼特性;——RMI網絡延遲不能影響到Jini系統的性能。⑵具有一定的內存和處理能力的設備;沒有內存或處理能力的設備,則存在一個即有處理能力又帶有內存的代理。希望所有的網絡成員都擁有所需的最少的計算能力、內存和通信能力。11.1續Jini體系結構的環境假設:⑶每個設備都裝備一個Java虛擬機;Java虛擬機的不同版本,內存占用不同。⑷服務組件利用Java實現。所有服務組件必須以Java對象的形式存在,不要求必須是Java服務的實現,只需要一個Java包裝器?!猂MI方便服務的請求者能夠動態地下載或運行代碼。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查找服務新特性⑴無需提前綁定⑵基于服務類型的查詢⑶動態的服務條目⑷避免單點失?、商峁┓仗峁┱叩拇砗陀脩艚涌赽ean⑹可進行特定查詢和精確查詢查找接口⑴服務注冊器接口⑵服務項類⑶服務模板類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

提交評論