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