Jini是一種用JAVA語言編寫的代碼,這種代碼可以在網(wǎng)絡(luò)上自動地檢測計算機設(shè)備,并且注冊它們所提供的服務(wù)。它是為在網(wǎng)絡(luò)上提供分布式操作系統(tǒng)服務(wù)而采納的開放式體系結(jié)構(gòu)的核心部分。
Sun公司為下個世紀的網(wǎng)絡(luò)計算繪制了一幅藍圖,將這幅藍圖變?yōu)楝F(xiàn)實的技術(shù)就是Jini。Jini是一種基于JAVA的體系結(jié)構(gòu),它提供操作系統(tǒng)的服務(wù),并且將其功能擴展至整個網(wǎng)絡(luò)。更一般地講,Jini是在JAVA虛擬機(JVM)頂端運行的一個JAVA軟件,為設(shè)備提供即插即用的網(wǎng)絡(luò)功能。Sun在它的藍圖中描繪了這樣一幅場景:在未來,任何一臺裝有微處理器以及小容量RAM的設(shè)備之間都能夠相互合作,從而達到了計算上一個嶄新的境界。雖然這是一種超前意識,但是采用Jini至少使我們離未來的藍圖又進了一步???它可以使我們免受設(shè)備驅(qū)動程序不兼容的困擾,并且不再讓用戶在登錄到網(wǎng)絡(luò)上時碰到麻煩。
舉個例子,在Sun所勾畫出的藍圖中,用戶可以將掌上型電腦插入網(wǎng)絡(luò)插槽并且能夠被立即識別出來,從而自動地成為了網(wǎng)絡(luò)的一部分。有了這樣的手持式設(shè)備,用戶就可以方便地訪問一臺計算機上的數(shù)據(jù),并且利用另外一臺計算機所提供的服務(wù)來處理這些數(shù)據(jù);接下來他還可以在最近的一臺打印機上打印數(shù)據(jù),而不用在掌上型電腦上預(yù)裝打印機驅(qū)動程序。這樣不可思議的事是通過這部掌上型電腦自動下載一個基于JAVA的打印機驅(qū)動程序來實現(xiàn)的。網(wǎng)絡(luò)與應(yīng)用程序之間這種自動而便捷的集成可以應(yīng)用到從PC到蜂窩電話的幾乎任何一種電子設(shè)備之上。
這種分布式的計算體系結(jié)構(gòu)并不新奇,Sun公司的Jini也不是實現(xiàn)下世紀網(wǎng)絡(luò)世界的操作系統(tǒng)唯一的技術(shù)。LUCent Technologies公司在1997年推出了為嵌入式系統(tǒng)設(shè)計的Inferno技術(shù),該技術(shù)在邏輯上與JAVA極為相似,也包含了虛擬機概念、編程語言以及通信協(xié)議;Oak Ridge國家實驗室也推出了稱為并行虛擬機(PVM)的技術(shù),它旨在通過網(wǎng)絡(luò)上完全不同的機器之間進行合作而提供一種低價位的超級計算機;IBM力推的T Spaces在概念與實現(xiàn)上與Sun也很類似;而腳踩兩條船的Microsoft也正在研究分布式操作系統(tǒng),他們關(guān)于分布式操作系統(tǒng)的大手筆項目稱做Millennium。Microsoft希望通過Millennium取得兩大偉績:一是將桌面操作系統(tǒng)完全而無縫地分布到世界范圍的網(wǎng)絡(luò)中去,二是將程序員帶往不再考慮底層機器細節(jié)的更高抽象層次上。這兩個目標對于分布式系統(tǒng)來講是相當要害而密不可分的。但是,由于Sun擁有JAVA編程語言以及相應(yīng)的虛擬平臺,它在將操作系統(tǒng)引入下個世紀中處于一個極為非凡的地位。
Jini是如何工作的
Jini解決的并不是諸如一個特定的應(yīng)用程序如何在網(wǎng)絡(luò)上進行工作這樣的細節(jié)問題,而是為這些服務(wù)提供一種極為要害的能力,使得它們彼此之間可以意識到對方的存在,進而建立起相互的連接。Jini的核心是Sun JDK1.2中的JAVA Remote Method Invocation(RMI),這是一種使JAVA對象之間可以在網(wǎng)上實現(xiàn)交互的網(wǎng)絡(luò)服務(wù)。這樣看來,Jini就可以看作是JAVA軟件組件模型JAVABeans在理論與實踐上的一種延伸了。
Jini網(wǎng)絡(luò)就像是一個市場,在其中商人們販賣自己的商品。在Jini網(wǎng)絡(luò)中,商人們就是最終用戶、設(shè)備或者應(yīng)用程序。販賣的過程是這樣的:一個新的商人來到這個市場,他宣告了自己的到來,并且很快建立起了商店;然后他將所賣的商品以及提供的服務(wù)寫下來,像許多其他的商人一樣寫在一張卡片上,而這些卡片的信息就公布在一個布告欄中;Jini提供了這種銷售的機制,根據(jù)它的規(guī)定,商人們被授予在布告欄上貼廣告的地方,并在那里發(fā)布消息;顧客們則在布告欄前駐足,尋找他們感愛好的卡片信息,然后從卡片上抄下與商家聯(lián)系的方式;接下來顧客就與商人在諸如“什么時候交貨”或者“怎么買賣”這樣的細節(jié)問題上討價還價;而商人們交易時所遵循的交易規(guī)則是由Sun的另外一個標準JAVASpaces來規(guī)定的;對于顧客來講,商人之間的自由交易是不可見的。
Jini所蘊涵的意思當然比這個比喻要來得豐富得多:例如消息在布告欄上不會被偷走,以及廣告所占據(jù)的實際空間并不需要考慮等等
新聞熱點
疑難解答