国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Jini技術綜述

2019-11-18 14:03:14
字體:
來源:轉載
供稿:網友

  引言


隨著嵌入式系統在各種電子設備中的廣泛使用,計算機技術的發展將進入一個無所不在的計算(Pervasive Computing)階段。隨之而來的各種電子設備聯網是一種必然的趨勢,與人類生活息息相關的各種家電設備能夠聯成網絡并接入互聯網,人類可以在任何時間、任何地點統一控制各種家電,讓家電協同工作,那將極大地改變和影響我們的生活。比如,電視機接入互聯網,人們可以通過電視機來瀏覽網頁、獲取信息;又比如,你可以在下班前一小時,通過互聯網控制家里的電飯煲和微波爐開始工作,當你到家時,晚飯已做好;再比如,你在辦公室加班,而電視臺正在播放你所喜愛的電視節目,你可以通過互聯網控制家里的錄像機把節目錄下來……

所有這一切正在逐步變成現實,Jini技術的出現為電子設備的聯網提供了一條嶄新的道路。


動態的分布式系統


Jini系統是以java技術為中心的分布式系統,它可以使各種數字設備無需配置、安裝或人工干預地在一個臨時的設備集合(稱之為聯邦)中共同工作。聯邦中的任何設備無論大小都可以自行治理,組成一個服務網絡,聯邦中的每一成員都給聯邦中的其它成員提供資源和服務,同時又從其它成員中獲取自己所需的資源和服務。Jini結構提供一套機制使得電子設備和應用程序能夠隨時加入或退出聯邦,形成一個動態的分布式系統。



圖1

Jini系統提供了在分布式系統中進行服務的建立、查找、通訊和使用機制。Jini結構的設計充分利用了Java程序代碼可以在機器之間移動的能力,各個服務之間通過提供服務協議(service PRotocol)進行通訊(服務協議是用Java語言寫的一套接口)。Jini系統必須運行在Java虛擬機上,如圖1所示。

每一個Jini設備都應該有自己的存儲器和計算功能,沒有存儲器和計算功能的設備也能夠聯入Jini系統,但是必須由其它Jini設備作為代理(proxy)來控制,該代理可以是軟件也可以是硬件。


基礎結構即插即用


Jini系統的任意服務可以隨時加入和退出聯邦,而且加入聯邦時不需要進行安裝和配置,達到了即插即用的效果。無論是在編程接口級還是在用戶接口級,服務都構成了Jini系統交互的基礎。

Jini系統的核心是三條協議:lookup ,discovery,join。它們構成了Jini技術的基礎結構(infrastrUCture)。

查找服務(Lookup service) 是Jini系統的中心機制,任何服務都是由查找服務發現并確定,系統用戶與系統的聯系也是通過查找服務實現的。查找服務相當于網絡中所有服務的公告牌,它把指明某服務所提供性能的接口與實現該服務的對象集對應起來。查找服務中的對象也可以包含其它查找服務,從而構成層次式的查找服務。查找服務用于用戶在網絡中查找和調用服務,而服務是由它的接口類型(用Java編程語言編寫)或其它屬性描述的。

某設備或應用程序插入網絡時,它所提供的服務首先發現網絡并被網絡所接納,這一過程需要通過發現協議(discovery)和加入協議(join):該服務首先通過發現服務在網絡中找到一合適的查找服務,然后通過join協議加入查找服務。

如圖2所示,某一服務提供者需要加入Jini系統中(服務提供者提供的服務可以是硬件也可以是軟件),它首先要尋找網絡中的查找服務,于是它在局域網中廣播,請求加入到查找服務中,四周的查找服務將識別該服務。這個過程稱之為發現(discovery)。需要注重的是在服務提供者中包含有用于通訊的服務對象(service object)和描述該服務特點的服務屬性(service attributes)。服務對象中包含Java接口,其中包括用戶和應用程序所要調用來執行服務的方法,以及其它描述信息等。



圖2 發現過程

于是,服務提供者與查找服務進行通訊,服務提供者把自己的服務對象和服務屬性注冊到查找服務中,也就是把服務對象和服務屬性發送到查找服務中。這個過程采用的是加入協議(Join),如圖3所示。



圖3 加入過程

如圖4所示,當Jini系統中的客戶需要服務時,它根據服務的類型或屬性向查找服務查詢合適的服務,然后查找服務把查詢的結果返回給客戶,當客戶決定使用某一服務時,查找服務將把所需服務的服務對象的拷貝發送給客戶。



圖4 查找過程

如圖5所示,客戶通過該服務對象與服務提供者進行直接聯系,調用服務。服務對象與服務提供者之間的私有協議,對用戶隱藏了實現的細節。



圖5 服務過程

在沒有查找服務的情況下,客戶可以使用一種替代的技術,稱為點查找(Peer lookup)。這種情況下,客戶可以發出與查找服務所用的同樣的鑒別包,請求服務提供者進行注冊。服務提供者將把客戶當作查找服務來進行注冊。然后客戶可以從所有的注冊請求中選擇它所需要的服務,而拋棄不需要的服務。這種情況實質上是客戶臨時充當查找服務。


分布式的編程模式


Jini系統的編程模式也是分布式的,包括租用(leasing)、分布式的事務處理(distributed transactions)和分布式的事件處理(distributed events)三種重要機制。

租用機制使客戶對服務的訪問是基于租約的,租約保證了一段時間內的授權訪問。租約必須在服務的使用者和服務提供者之間進行協商,這也是服務協議的一部分。租約在到期之前不續約的話,資源將被釋放。租約可以是唯一的,也可以不是唯一的,非唯一租約答應多用戶共享資源。

一系列的操作都包裝在一個事務中,而不管這些操作是在一個單一服務內還是跨越多個服務。Jini的事務接口提供了一服務協議用于協調兩階段提交(two-pahse commit)。事務由使用這些接口的服務實現。

Jini結構支持分布式事件,一個對象可以答應其它對象注冊對此對象感愛好的事件,并且在該事件發生時得到通知。這使得基于事件的分布式程序能以有多種可靠性和擴展性保證的方式編寫。

基礎結構是編程模式的基礎,同時也利用了編程模式的各種機制。某一服務若想加入到查找服務中,它必須租用查找服務中的入口,因而查找服務就能夠準確反映當前所有的服務。假如有服務加入或離開查找服務,相應的事件就會發生,而所有對此類事件感愛好并注冊過的對象將得到通知。編程模式建立在由基礎結構所支持的代碼移動性能之上。

基礎結構以及使用該基礎結構的服務都是存在于Jini系統實際環境中的計算實體。服務使用了一組接口,這些接口定義了可以在服務和基礎結構之間通訊的通訊協議。這些接口結合在一起就構成了Java語言編程模型的分布式擴展,也就是Jini編程模型。Jini與Java的關系如圖6所示。



圖6 Jini是Java在分布式環境中的擴展

Jini系統中服務之間的通訊主要是通過遠程方法調用(RMI)來實現。RMI是傳統的遠程過程調用機制在Java語言中的擴展,RMI既可以把數據也可以把代碼封裝成對象在網絡上進行移動,大部分Jini系統的簡單性就是這樣實現的。

Jini系統安全模型的設計是以兩個概念為基礎的:負責人和訪問控制列表。被訪問的Jini服務往往代表著某些實體負責人??通常能追溯到系統中的非凡用戶。某一服務可以請求訪問其他服務,由與實現該服務對象相連的訪問控制列表決定。

Jini系統的關系如圖7所示。



圖7 Jini結構層次

基礎機構、服務和編程模型的結合,其共同工作的設計以及相互構造的特點,使得整個系統簡單化、統一化、易于理解。


廣闊的應用前景


Jini技術的出現為數字化電子設備和現有計算機網絡之間的連接構筑了一條通道,各種電子設備的聯網將產生許多服務,生成新的經濟增長點,推動計算機產業和信息家電產業的發展。目前,美國Sun公司已和日本的索尼、夏普、東芝、日立,荷蘭的飛利浦等八家公司,聯合研制開發基于Jini技術的家電產品。而對于國內的家電廠商和計算機廠商來說,需要聯合起來,進行家電的數字化改造和家電聯網要害技術的研究開發,爭取在后PC時代的競爭中處于有利的地位,Jini技術的出現提供了一條非常重要但并不是唯一的道路。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 理塘县| 景谷| 安平县| 尚义县| 铁岭县| 繁峙县| 如东县| 凭祥市| 教育| 翼城县| 灌云县| 内黄县| 从江县| 南岸区| 六枝特区| 买车| 安吉县| 鸡泽县| 松潘县| 扶绥县| 阿合奇县| 湘西| 定远县| 华宁县| 广州市| 鱼台县| 登封市| 白银市| 克东县| 都昌县| 吉安市| 宝清县| 祁连县| 静宁县| 高安市| 比如县| 门源| 罗田县| 英吉沙县| 尉犁县| 简阳市|