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

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

認識JINI

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

  一、前言

長久以來許多工程師們,都一直期盼著一個超大型的計算系統,這系統是由網路上許多機器,從超大型主機乃至嵌入在某些設備上的微小晶片,彼此相互合作而成。所有的工作,都可以在任何時間被分散到網路上的任何地方、任何種類的機器上去處理。這樣的系統有很好的彈性,并且可以藉由不斷地更新設備,來解決更多問題。

然而,我們 要一致的語言,以及更強的通訊協定( superPRotocols)等,讓網路上眾多繁雜的成員,能彼此順利地溝通。但是就目前的情況,要達到這樣的目的很難,因此我們可以考慮把一種非凡的程式碼(genetic code)嵌入到許多軟硬體之服務中,使得網路上的成員可以輕易的相互分享彼此資源,這就是 Jini 所要達成的目標 [1] 。

Jini 是由 SUN 公司 R&D 的Bill Joy 所提出的一項技術。我們可以藉著使用Jini,創造出一個富有彈性、輕易治理、且可隨時隨地使用各種服務的網路計算環境。為了讓使用者知道網路上有哪些服務可被使用,我們必須建立一個聯盟( federation ),讓網路上的服務主動加入。當有某個服務加入聯盟時,也等於同時向整個網路告知:「我可以被使用,有誰 要我的服務?」。使用者透過聯盟,可以得知有哪些服務可以使用。然而,我們要如何才能很簡單、很輕易地使用這些服務關於這個問題,也就是 Jini 的工作重點之一。

讓我們來看看Jini 是怎堋做的。網路上的服務要能夠成為聯盟的一份子,不管是硬體服務也好、軟體服務也好,都必須嵌入Jini 的程式碼。此外,網路上還必須提供 JVM的環境,才能執行Jini程式以獲得這些服務。Jini的程式碼是利用 SUN 公司所提供的 Jini package 撰寫而成。Jini package使用的語言是java,并且包含了許多處理網路上資源的相關功能。例如:如何幫助網路服務尋找(discovery)、以及加入(join)聯盟;或者幫助網路服務處理分散式的承租(leasing)、交易( transactions)等的問題。而這些網路服務彼此溝通時,所應用的技術是 RMI(Java Remote Method Invocation )。簡言之,網路上的服務藉由 Jini 所提供的介面,得以相互溝通、合作,來完成使用者的要求。

二、體系結構

Jini system 是由基礎建設( infrastrUCture)、程式設計模型( programming model )、服務( services) 三方面所構成。
基礎建設( infrastructure)
Jini 基礎建設的核心包含以下幾個部分:

Discovery Protocol:
提供了如何讓網路上任何種類的資源加入聯盟的方式。

eXtended RMI :
Jini的元件彼此溝通時所使用的機制。

Distributed Security:
定義了Jini 聯盟成員的使用權限。

Lookup Service:
用來展現聯盟中的所有成員,以及幫助使用者尋找網路資源,或者負責提供聯盟中的資源給使用者用。

程式設計模型( programming model )
Jini 提供一些分散式的程式設計模型,而 Jini 的基礎構造,就是利用這些模型來組合。模型所提供的介面(Interface),包括以下幾個類型:

Leasing Interface:
負責治理物件被使用的時間。

Two Phase Commit Interface :
是一個輕量級的(light-weight)、物件導向的( object-oriented)介面。負責治理分散式交易( transaction)的動作,如:roll back 、roll forward 等。

Events Interface:
在分散式計算的環境中,必須確保程式執行的先後順序,利用事件的觀念可以幫助我們解決這個問題。

服務(services)
有了Jini的架構以及程式設計模型後,我們可以利用這些技術來設計治理網路資源的服務,以促進分散式計算的發展。例如:Javaspaces、Two Phase Commit Manager。

三、JavaSpace

Jini提供了在分散式環境中尋找( look-up)、注冊( registration)、租借(leasing)等功能。而 JavaSpaces則負責治理分散式物件的處理程序( processing)、分享(sharing)、以及流通(migration )等。因此 Jini 與 JavaSpaces 彼此存在著相互合作的關系[3] 。以軍隊作比喻, Jini扮演的是軍 官的角色,負責分派許多武器裝備給軍隊。JavaSpaces則扮演軍隊的角色,負則使用那些被分派的武器以執行命令。簡單的說, JavaSpaces就似乎網路上的一個市場,它提供一個簡單、快速、統一的介面,讓網路上分散的資源可以被分享、協調與流通[4] 。

JavaSpaces是用 Java所發展的技術,并且以RMI實作其網路通訊的功能,一般應用在n-tiers 架構的中間層( middle tiers)[5] 。JavaSpaces雖然能提供 求者與供給者之間查詢與溝通的機制,但它并不是資料庫,而是以簡單的messaging system為基礎,進而提供更強大的功能。

除了Jini之外, JavaSpaces技術也可被應用在其它系統與服務中,如: Workflow systems 、Customer management systems、Supply chain management 、Intelligent rich data distribution、 Trading services 、Auction systems 、Resource allocation and management systems、Agent Systems、以及 Publish and subscribe services等[4] 。

四、應用

Jini技術有一個主要目的:讓許多電子產品可以輕易的被加入至網路上,也就是隨插即用(plug-and-play) [6] 。任何物件,如: DVD、CD 、VCR、桌上型電腦、可攜式電腦、印表機、掃描器、磁碟機、播放器、電話、電視機、警報系統、醫療器材、空調系統、廚具、汽車引擎、汽車的丁器板等,只要利用Jini技術,就可以結合各類的電子產品成為網路上的資源服務[6] ,而使用者只 透過電話或無限通訊器材就能使用這些服務。

想像一個劇情:一個使用者坐在公園里,想要透過掌上型電腦來使用網路上的印表機,但是他并沒有任何印表機的驅動程式。首先,Jini會啟動 Lookup服務(類似 JavaSpaces),到聯盟(federation )中搜尋符合使用者條件的印表機。找到之後,Jini會跟那臺印表機溝通,取得它的驅動程式,并且傳至使用者的掌上型電腦。使用者於是可以輕易的使用網路上的印表機。

我們也可以把家中的電器用品都結合到網路上,這樣可以讓我們在任何時間、任何地點來控制家里的電器,這將是多堋令人期待的一個理想。

目前已經有許多公司正在發展相關的技術,這些公司包括Axis、Canon、 Computer Associates、Datek 、Enocanto、Epson 、EriCSSon、FedEx 、Mitsubishi、 Norwest Mortgage 、Novell、ODI、 Oki、Quantum、 Salomon Brother、 Seagate、以及 Toshiba等。

五、結論

Jini讓許多電器設備、網路服務結成聯盟( federation)。 Jini的最上層以 Lookup機制為基礎的目錄服務( Directory service ),讓許多含有 Jini技術的資源,來注冊以及被公布於網路上。下一層則利用JavaSpaces 技術來治理聯盟的資源,以讓使用者或其他應用程式使用資源。底層則是以RMI為基礎的協定,用來規范物件之間在網路上的溝通。

如同SUN公司所說:「網路就是電腦(The network is the computer)」。網路的出現提供了無限的計算資源,讓我們可望達成一個超大型的計算系統。Java技術使得分散式計算變得輕易可行,Jini 則實現網路就是一個超大型電腦的理想。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德江县| 永川市| 关岭| 哈巴河县| 井冈山市| 涿州市| 东辽县| 沈阳市| 无锡市| 东海县| 长乐市| 衡水市| 彭阳县| 眉山市| 抚远县| 尼玛县| 调兵山市| 麦盖提县| 岳阳市| 彭水| 克什克腾旗| 石景山区| 潮安县| 千阳县| 霸州市| 新源县| 日喀则市| 饶阳县| 合山市| 齐河县| 冀州市| 岳池县| 龙泉市| 定州市| 镇巴县| 伊吾县| 安岳县| 宜宾市| 广昌县| 通州市| 翁牛特旗|