Jini 技術概述

來源:互聯網
上載者:User
問題1:什麼是JiniTM技術?
Jini技術是基於Java技術的一種新的技術突破,它使各種裝置可以非常簡單地串連到任意無準備的網路(impromptu network)上,從而使得對新的網路服務的訪問和發送變得就象接入電話一樣簡單。建立在Java軟體基礎結構之上的Jini技術可以使所有類型的數字裝置,在不需要大量的計劃、安裝或人為幹預的情況下,共同運行在一個社區(community)中。每個裝置可提供該社區中的其它裝置可能需要使用的服務。這些裝置還提供了它們自己的使用者介面或程式介面,這就保證了可靠性和相容性。

問題2:什麼是無準備社區(impromptu community)?
用無準備社區可以描述當兩個或多個使用Jini技術的裝置一起共用它們的服務時的情形。由於裝置之間不需要為串連到該社區而具備彼此間的預先瞭解,因此可以說該社區是無準備的。Jini技術允許裝置動態地建立通訊以共用和交換網路中的服務。無準備社區是一種動態環境,它消除了對裝置配置或安裝驅動的需求。

例如,假設有一台接入網路的照相機。在不需要安裝驅動、插入CD-ROM或磁碟片以及從鍵盤鍵入命令的情況下,該照相機即可立即連入網路。該照相機標識它自己並提供服務。如果照相機能夠說話,它可能會說:"我是照相機,誰要照相?"你可能有一台使用Jini技術的要加入到該網路的膝上型電腦,這時你可能訪問該照相機,照一張相,並把照片發送到你自己的磁碟機上,或為列印而將它發送到另一個裝置上。

問題3:Jini技術有哪些益處?

所有的Jini技術都是為了簡化網上的互動。Java平台已經將這種簡化啟動,而Jini則將其進一步完善。簡化意味著改善的生產力、費用降低和便於使用。Jini技術讓你使用網路就象使用電話一樣的簡單。它使ISVs、IHVs和組件製造商得以擴充到新的市場,並提供基於網路的改良的產品和服務。Jini軟體還允許傳統的服務供應商能夠動態地增加和管理網路服務。

問題4:Jini技術一般都用在哪些地方?

幾乎所有需要處理數字資訊輸入和輸出的裝置都有可能串連到使用Jini技術的社區,這不僅包括傳統的電腦硬體和軟體,而且還包括應用消費品,如個人數位助理(PDA)、數位相機、錄象機、電視、DVD播放機、蜂窩電話和CD播放機等。傳統的組件和外設製造商對此已顯示了極大的興趣,他們都希望將自己轉化為增值網路服務供應商。另外,企業服務供應商對此也非常有興趣,他們期望簡化並擴充他們的網路能力。

問題5:Jini技術迎合了什麼發展趨勢?

隨著處理器和其它技術裝置價格的下降,傳統的電腦的定義和用途正在擴充。使用的技術也從原來的單使用者PCs和幾百萬美元的大型電腦發展到今天的基於網路的計算應用。對能夠將全球連通的寬頻網路的投資仍在進行。網路裝置本身也不限於傳統的電腦。相反地,從數位相機到蜂窩電話到家用電器都使用了某種類型的微處理器,並且具備一定程度的網路智能。但是,今天的網路對一般使用者來說仍然是複雜的,不容易管理和使用。他們正在尋找更簡單而可靠的網路解決方案。通過採用象工具 + 生產力一樣的網路以達到對資訊、資料和服務的共用和計算,這種方式將變得越來越普遍。分散式運算技術將被用來駕禦網路的各種功能。在許多領域,由於Java技術的普遍採用,將會提供一種"編寫一次,隨處運行"的軟體平台。網路的這種發展趨勢--隨處可用、簡單、採用Java以及分散式運算技術--為Jini技術的產生奠定了基礎。

問題6:業界對Jini技術的反響如何?

反響非常熱烈。市場上對有關能夠簡化網路的技術的需求是非常大的。對出於研究和非贏利(組織內部)目的的使用者,Sun可免費提供Jini技術的原始碼。因而,一大批組織機構已開始調研Jini技術。同時,一大批從事電子消費品、電腦外部裝置、企業級計算、電腦系統、網路服務供應以及軟體的公司也已購買了Jini技術許可證,並在其商業化的數字產品和服務中使用Jini技術。

問題7:Jini技術的主要設計者有哪些?

在 Bill Joy 和 Jim Waldo 的領導下,一些在分散式運算領域的精英參加了Jini技術開發項目。他們包括Java遠程方法調用(Java RMI)的發明和設計者Ann Wollrath、JavaSpaces技術的設計者、同時也是與James Gosling共同完成"Java programming language"的作者Ken Arnold、以及 X 協會的負責人和尋找/發現(Lookup/Discovery)的設計者Bob Scheifler。

問題8:我從哪裡可以找到有關Jini技術的更多資訊?

從下列網址可以找到有關Jini技術的更多資訊:http://www.sun.com/jini

Jini技術詳解

問題9:Jini技術是如何運作的?

基於有關協議和一套Java技術介面,Jini技術使裝置和應用程式可進入到網上虛擬機器的無準備社區之中。採用Jini技術的裝置使用一種被稱作發現(discovery)的進程來尋找同樣也採用Jini技術的裝置。然後這些裝置可向Jini技術的尋找服務(lookup service)發送對象--這些對象代表了該裝置所提供的服務以及它們的定義特徵和屬性。當一個裝置需要使用社區中的一項服務時,它可以從Jini技術的尋找服務中下載所需的對象,包括任何代碼,如應用程式、裝置驅動或使用者介面等。

問題10:當一個新裝置被接入網路時,會怎麼樣呢?

為將裝置的服務提供給本地社區,該裝置必須使用Jini技術來註冊它所提供的服務。這可通過兩個步驟來完成。首先,該裝置輪詢本網以確認Jini技術的尋找(lookup)服務的所在位置;然後,再將自己註冊在該尋找服務上。這兩個步驟被稱作discovery和join進程。對該裝置提供的每一個服務,該進程都向尋找服務上傳一個Java對象,作為該服務的介面。

問題11:Jini軟體可在什麼裝置上運行?

Jini軟體即Java軟體代碼。它可以運行在任意的數字裝置上,如蜂窩電話、數位相機、個人數位助理(PDA),甚至還包括智能磁卡等。

問題12:為了使用Jini技術,是不是網上的所有裝置都必須採用Java平台。

不是。這些裝置可以允許網上的其它組件代表它們來執行需要Java技術的Jini軟體。通過將Jini軟體所需要的某些特定的Java功能委託給第三者,一個裝置可以不必有它自己的虛擬機器,並且在幾乎不需要有附加代碼的情況下,即可成為Jini技術網路的組件。成為網路社區的組成部分所需要的所有功能可由網路中與該裝置有夥伴關係的另一系統來實現。

問題13:我怎樣才能知道我在網上具有一個Java虛擬機器?

不管你知道還是不知道,你的機器可能已經正在使用一個或者幾個Java虛擬機器了。它們被嵌套於大多數Web瀏覽器以及各種裝置中。如果對一個發現(discovery)的詢問(query)出現了一個響應,則表示在網路上具有了一個Java虛擬機器。

問題14:一個應用程式是如何使用Jini軟體的?

為使用社區中的服務,一個應用程式必須首先用發現協議來定位一個Jini技術的尋找服務,然後它則可以使用該尋找服務來定位能夠提供所需服務類型的裝置。應用程式則可以從該尋找服務中下載一個可被用來與選定的裝置進行互動的Java對象,該對象被用來處理任何有關裝置的細節;運行應用程式的機器不需要具備該裝置的驅動程式。

問題15:如果一個裝置被中斷連線,會怎麼樣呢?

Jini使用一種被稱作"租用(leasing)"的技術來檢測什麼時候一個服務是停用。當一個裝置在尋找服務註冊後,它會收到一個"租用"。這個租用必須被定期更新。如果未被更新,尋找服務則會將該裝置從服務列表中刪除。刪除一個裝置不影響由其餘社區成員所提供的狀態或服務。

問題16: Jini技術適用於我現在的網路嗎?

因為Jini技術是基於Java平台的, 所以它可以運行於任何具有至少一個Java虛擬機器(JVM)的網路, 包括採用傳統作業環境的網路, 如採用Novell Netware或microsoft Windows的網路。

問題17: 使用Jini技術需要替換現存軟體或硬體嗎?

不需要。通過添加某些Jini軟體, 現存數字裝置可被升級, 以達到使用Jini技術的目的。例如, 一旦你的PC擁有了Jini軟體, 它便可以使用其它裝置的服務, 並且其本身也可被當作一個服務而提供給其它裝置。甚至於那些串連在你的PC上的裝置,如磁碟或印表機,在添加了適當的Jini軟體後,也可以作為服務提供給其它裝置。

即使PC被升級以使用Jini技術,該PC上使用的現有軟體也不需要改動。通過改變軟體而在網路上提供服務則需要對軟體進行升級。

Jini技術的開發

問題18:我可以將Jini技術添加到我的現行軟體上嗎?我應該怎樣做?

可以。第一步,要為你的代碼提供一個Java軟體的封裝器,這樣這些代碼即可在一個Java虛擬機器(JVM)內運行。你可以找到有關這個過程的很好的文本說明,因為目前有數以千計的開發人員都要實現這個過程。第二步是將那些可告知你的程式來宣布它自己的代碼添加到尋找服務上。我們將提供一些範例程式碼及升級工具來協助你完成這一步。

問題19:什麼是Jini技術社區?

Jini技術社區由任意對建立應用程式或服務感興趣的開發組織或個人所組成。該社區的成員必須執行基本的Sun社區資源許可(Sun Community Source Licence (SCSL))協議以獲得對Jini技術原始碼的訪問。他們分享一定的權力和責任以保護Jini技術的開放的和可擴充的性質。這些成員可參加使用者小組、開發論壇及顧問討論會,還可能獲得來自Sun Microsystems和其它社區成員的開發與支援人員。

問題20:Sun擁有哪類計劃可以支援各類組織使用Jini技術進行開發?

為鼓勵Jini技術社區內的創新,Sun為使用Jini技術的商業性的產品提供全方位的技術資訊、支援服務以及市場支援。從具有深入技術資訊和共用資源庫的免費Web網站,到專業級的支援人員以及超級合作營銷機會,Sun的計劃可協助開發人員為Jini技術探索新的用途,開發具有創新的產品和服務,以及為使用Jini軟體建立使用者需求。

問題21:有可以使用的Jini技術開發工具嗎?

因為Jini技術是基於Java平台的,所以任何可被用在Java軟體開發上的現有開發工具都可被用在Jini軟體的開發上。除此之外,工具 + 生產力類和實現正在被開發,並可免費擷取。 這將會減低使用Jini技術的服務和客戶(clients)的開發難度。

問題22:是否有建立Jini技術組件或服務的可視開發工具?

在當前這個早期階段,還沒有為Jini技術使用的商業性的可視工具包。然而,我們的確期望社區成員能夠提交這類工具,並且我們鼓勵商務公司為Jini技術開發類似於用在其它技術上的工具包。

問題23:現在就可以獲得Jini技術嗎?我怎樣才能得到它?

可以。Jini技術Core Platform (核心平台)的原始碼和規範可以從網上下載。網址是:http://www.sun.com/jini/。雖然可免費下載,但你必須通過滑鼠的點擊來表示接受 Sun 的社區資源許可協議(Sun Community Source Licence (SCSL))。

問題24:社區資源許可協議是如何運作的?

Sun的社區資源許可(SCSL)協議是為在開發人員社區中發布資原始碼而設計的一種許可模型。該模型是根據Sun Microsystems最近發布的由Richard Gabriel和Bill Joy設計的社區資源許可原則(Community Source Licensing Principles)而提出的。

為了促進和提高Jini技術,按照SCSL協議,Sun在開發人員社區中基本上與其他成員分享了原始碼的權利。Sun還致力於建立一種責任以保證相容性;並提出了一種業務模式--通過提倡協議的接受者建立專利改進項目,以獎勵創新和發明。

有關社區資源許可協議的進一步運作細節,請參見我們的網址的Licensing部分,網址是:http://www.sun.com/jini/licensing/。

問題25: Jini技術的價格體系是怎樣的?

對那些希望對Jini技術的原始碼進行評估、改進、完善和作為內部使用的協議接受者來說, 只要遵守Sun社區資源許可(SCSL)協議, 就可以免費使用Jini技術原始碼。一旦你或你的公司決定將Jini技術產品作為商業性的使用, 你則必須同意SCSL(附件E)中的有關商業性使用規定, 並簽定Jini Compatibility Logo(Jini相容性標誌)許可協議。標誌許可包括了使用標誌的年度價格或單價(per-unit fee)。

問題26:我能夠使原始碼更新嗎?

所有的Jini技術的協議的接受者都可以訪問我們的Jini技術網站。在這裡,我們為協議的接受者(包括Sun本身)安排了一個地區,使他們可以將程式調試、更新、使用的工具、樣本以及與Jini技術有關的其它支援人員問題發送給社區的其他成員。我們期待著每天都收到新的資訊。Sun將在適當的時候、適當的位置將核心代碼做必要的改動。所有的情況都會在網上通知。

問題27:我如何將代碼回贈給Jini技術社區?

在我們的網址上有這方面的詳細步驟。該網址是: http://developer.java.sun.com/developer/products/jini/index.html.

Jini和Java技術

問題28:使用Jini技術需要哪個版本的Java軟體?

Jini技術依賴於最近發布的Java 2 軟體的一些特性。其裝置間的通訊是使用Java遠程方法調用(RMI)來完成的。安全性是通過擴充Java軟體安全性模型來提供的。對象序列化(Object serialization)被用來將裝置介面傳遞給尋找服務以及任何希望利用該裝置的應用程式。

問題29:Sun為什麼在Jini技術中使用了Java遠程方法調用(Java RMI)?

Java RMI是Jini技術的基本底層結構,因為只有RMI才具有使Jini軟體的體繫結構得以實現的能力。Java RMI允許對象(包括它們的行為)按照它們實際的Java軟體類型進行傳遞。這就允許了一個期望獲得基礎類型的對象的子類型的傳遞,以及使相同服務介面得以按不同方式實現的代碼能夠按指令傳遞到該服務的用戶端。

沒有Java RMI,Jini技術就不可能實現。

問題30:Jini技術可以與Microsoft的虛擬機器一起運行嗎?

不可以。因為Jini技術依賴於Java 2 環境,包括增強RMI、安全性以及集合類。目前發行的Microsoft虛擬機器沒有實現Java 2 。

問題31:為什麼Jini技術與Java平台是分離的?

Jini技術是Java平台的擴充,它將Java技術的優勢帶到了網路之中。然而,它與Java平台又是截然不同的--例如,它不適合於獨立的系統(stand-alone system)。再者,鑒於Jini技術的以網路為中心的特性,因而它也不適於在一般的Java平台中使用。

問題32:Jini技術是如何與Java技術的其它功能協調啟動並執行?

Jini軟體的底層結構是用Java程式設計語言編寫的,它可以與所有的Java核心技術協同工作。

問題33:Jini技術適應Enterprise JavaBean組件嗎?

Enterprise JavaBeans(EJB)組件可作為伺服器組件的開發和部署模型。通過將Jini軟體的底層結構添加到這些組件上,EJB可以容易地成為Jini技術的服務。

問題34:什麼是JavaSpaces技術?

JavaSpaces技術是為Java軟體對象的相關組的簡單通訊和儲存而提供的服務。

問題35:我是否需要完整的交易管理程式來使用Jini技術?

使用Jini技術不需要任何交易處理管理程式。服務可以使用免費的Jini兩階段交易認可交易管理程式,也使用對它們合適的任何其它交易管理程式,或者根本不使用交易管理程式。

問題36: 我可以在eJava和pJava技術中使用Jini技術嗎?

這兩種技術都將實現在Java 2環境基礎上的改善,以便更好地支援Jini軟體。有關開發工作的時間表將很快公之於眾。

Jini技術和作業系統

問題37: Jini軟體是一種網路作業系統嗎?

不是。Jini軟體是一種運行於Java平台之上, 用來建立一個虛擬機器同盟結構。每個虛擬機器都運行在一個系統之上,作業系統又在網路上。網路作業系統是一種包含了與其它電腦通過網路進行通訊的軟體的作業系統。UNIX和Novell Netware就是網路作業系統的例子。

問題38: Windwos CE不能做同樣的事情嗎?

不能。Windows CE是一種可被安裝在與傳統的電腦相獨立的裝置上的作業系統。Jini軟體不是作業系統, 它是一種編程模型, 它使開發人員可以建立並管理它們自己的作業環境, 並串連到一個普通的網路上。該裝置可自行管理自己, 並按照基於網路的一套規則運轉, 其使用的作業系統是基於使用者的考慮來決定的。

問題39: Jini技術與Microsoft的"隨插即用"相比是怎樣的?

Microsoft的"隨插即用"特性並不是在所有方面都是可以利用的。從目前所報道的有關它的底層結構的情況看,我們認為:這一特性根本不可和Jini技術相比較。"隨插即用"特性是綁縛在Microsoft作業系統上、由Microsoft領導的一個封閉的集團所定義的。而Jini技術則是獨立於作業系統、由Jini軟體使用者社區所控制的,該使用者社區具有免費訪問、 擴充和更改Jini技術原始碼的權力。"隨插即用"是關於如何串連裝置的,它要求把裝置的驅動代碼提供到客戶或由使用者手工安裝驅動程式。而Jini技術是關於如何串連服務的,這種服務既可以是裝置,也可以是軟體,而且,Jini技術固有的代碼靈活性允許裝置將它們的驅動程式代碼傳遞到客戶,而不需要使用者的幹預。

Jini和其它尋找技術

問題40:將使用Jini技術的網路上的尋找技術與其它諸如LDAP和JNDI(Java Naming and Directory Interface(tm))等目錄服務相比,結果會怎麼樣呢?

Jini技術中的尋找服務是一個輕型的、但功能強大的服務庫。

它使用Java平台的類型系統作為名空間,這種結構是獨特的--這意味著它不是儲存固定的名-值對(name-value pairs),而是儲存物件和反映對象實際行為的對象圖。這在一個分布式系統中有兩個明顯的優勢。第一,你可以按照你所期望的行為,而不是僅僅用它們的名稱來搜尋一個對象或一個服務。第二,當你在目錄中一旦發現一個對象時,即使以前不曾"見過"它,你也可以立即知道如何使用它。

例如,或許你要尋找一個儲存服務。你可以直接發出對某種行為的請求,如可移動的、固定的、本地的、遠端等等。按照你的請求,你可以收到若干選擇,包括可寫的CD、Zip驅動或其它許多任意的安裝在你的網路上的介質類型。一旦你選擇了某種你要使用的服務,則該服務的介面和驅動程式會自動地包含在你的選擇之中,你不必擔心它們是否曾經被安裝過。

Jini的尋找技術被設計為對這些請求的一種服務。而LDAP和JNDI可支援對你同樣重要的其它服務。Jini技術不必替換你的現存系統,企業級目錄服務可被提供為Jini技術服務中的服務,這就使客戶可以容易地找到它們所需要的企業級資訊。

問題41:什麼是SLP,它與Jini軟體的關係是怎樣的?

Jini技術和SLP(服務定位協議)都是網路上的動態尋找服務機制。然而,與SLP不同的是,Jini技術是基於Java平台的,它提供了代碼的靈活性。代碼的靈活性意味著你可以在網路上行動程式碼以及與它相關的行為(代理)。你可以在Jini技術的尋找服務中儲存任何Java對象或對象圖(object graph),包括驅動程式、代理(proxies)、智能代理(smart proxies)和GUI等。應用程式可以用尋找服務提取並執行它們。

問題42:我聽說一種稱作Salutation的業內新發明,它與Jini技術類似嗎?

Salutation提供了類似於被稱作Information Management Service(IMS)的服務庫那樣的尋找服務,這與Jini技術的尋找服務類似。然而,IMS只支援按照名-值對的搜尋,而不支援象Jini技術那樣的按照物件類型的搜尋。Salutation允許服務之間的相互搜尋,但一旦找到後,它便直接使用RPC。由於Jini軟體是基於Java技術的,因而它支援代碼的可移動性。這就允許你使用代理(agent)在網路上移動行為。

問題43:HAVi是家用網路的新發明,Jini技術適用於它嗎?

HAVi(家庭音頻/視頻互動操作性)是一種針對家用電子裝置的家用網路系統。Jini技術不但應用於家用網路環境,也應用於企業和Internet。HAVi組織最近已宣布,它將使用Java程式設計語言作為它選定的語言,這就使它可以更容易地將HAVi整合到使用Jini軟體的網路中。我們期望看到基於Jini技術的軟體橋樑能夠允許無縫共用HAVi裝置和服務。

問題44:HP的JetSend協議與Jini軟體是一種相似的技術嗎?

HP JetSend是為固定功能和可程式化的裝置而設計的資訊交換協議。Jini技術為軟體服務和硬體服務都提供了一種體繫結構,並為動態行為支援代碼的靈活性。利用Jini技術,服務可被動態地發現並自動註冊,驅動程式也可被自動地安裝。通過在JetSend裝置和Jini技術之間提供一個網關,JetSend裝置可與Jini技術一起運行。

Jini技術和補充網路技術

問題45:Jini技術適應firewire技術嗎?

Firewire技術主要致力於如何使PC與外部裝置的串連變得更簡單。通過提供將外部裝置串連於較大的網路和Internet的方法, Jini技術進一步完善了Firewire和USB技術。Jini技術還提供了附加的服務, 如租用、交易處理和JavaSpace技術等。我們期望看到建立在那些重要技術之上的Jini技術。

問題46: Jini技術適用於USB嗎?

通用序列匯流排(USB)是一個網路傳輸層, 設計它的目的是為了在硬體中採用 "隨插即用"功能。雖然它解決了某些Jini技術可以解決的問題, 但Jini技術使USB向更深一步發展了。Jini技術是一個單獨的、統一的傳輸層, 它可與網路直接會話; 使用Jini技術的服務既可以是硬體, 也可以是軟體。Jini技術適用於USB, 正象它適用於乙太網路和Firewire一樣。

問題47: Jini技術適用於家用電話線網路聯盟(Home Phoneline Networking Alliance (HPNA))嗎?

HPNA是一個創新, 它為家庭現有電話配線提供了 "乙太網路"的能力。HPNA所要解決的問題主要是各種現存家用配線(較老的單對非雙絞線、3類雙絞線和5類雙絞線)以及如何管理在各種配線拓撲上的頻寬節流設定。這種技術不是針對 "自髮網絡" 的概念的, 在自髮網絡中的裝置的引導和加入是與家庭或辦公室中的其它裝置一起進行的。HPNA可能是Jini技術在家庭中的一個潛在的發送機制, 這裡,家庭的網路配線已經不存在, 或者說安裝這樣的配線的費用是不能接受的。

問題48:Jini技術適合於Bluetooth嗎?

Bluetooth是為在PDA、膝上電腦、行動電話和其它攜帶型裝置之間使用低成本、短距離無線電連結而制定的網路傳輸技術規範。當兩個Bluetooth裝置相互靠近時,它們可以自動探測到對方,並建立網路連結。然後,它們便可以利用Jini技術去尋找能夠提供它們所需要的服務的其它裝置。Jini技術適用於Bluetooth,正象它適用於其它網路傳輸協議一樣。

轉載出處:http://blog.csdn.net/romans1981/archive/2005/03/15/319725.aspx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.