Jini技術(shù)常見問題解答 |
|
問題1:什么是JiniTM技術(shù)?
Jini技術(shù)是基于Java技術(shù)的一種新的技術(shù)突破,它使各種設(shè)備可以非常簡單地連接到任意無準(zhǔn)備的網(wǎng)絡(luò)(impromptu network)上,從而使得對新的網(wǎng)絡(luò)服務(wù)的訪問和發(fā)送變得就象接入電話一樣簡單。建立在Java軟件基礎(chǔ)結(jié)構(gòu)之上的Jini技術(shù)可以使所有類型的數(shù)字設(shè)備,在不需要大量的計(jì)劃、安裝或人為干預(yù)的情況下,共同運(yùn)行在一個(gè)社區(qū)(community)中。每個(gè)設(shè)備可提供該社區(qū)中的其它設(shè)備可能需要使用的服務(wù)。這些設(shè)備還提供了它們自己的用戶接口或程序接口,這就保證了可靠性和兼容性。 問題2:什么是無準(zhǔn)備社區(qū)(impromptu community)? 用無準(zhǔn)備社區(qū)可以描述當(dāng)兩個(gè)或多個(gè)使用Jini技術(shù)的設(shè)備一起共享它們的服務(wù)時(shí)的情形。由于設(shè)備之間不需要為連接到該社區(qū)而具備彼此間的預(yù)先了解,因此可以說該社區(qū)是無準(zhǔn)備的。Jini技術(shù)允許設(shè)備動(dòng)態(tài)地建立通信以共享和交換網(wǎng)絡(luò)中的服務(wù)。無準(zhǔn)備社區(qū)是一種動(dòng)態(tài)環(huán)境,它消除了對設(shè)備配置或安裝驅(qū)動(dòng)的需求。 例如,假設(shè)有一臺(tái)接入網(wǎng)絡(luò)的照相機(jī)。在不需要安裝驅(qū)動(dòng)、插入CD-ROM或軟盤以及從鍵盤鍵入命令的情況下,該照相機(jī)即可立即連入網(wǎng)絡(luò)。該照相機(jī)標(biāo)識(shí)它自己并提供服務(wù)。如果照相機(jī)能夠說話,它可能會(huì)說:"我是照相機(jī),誰要照相?"你可能有一臺(tái)使用Jini技術(shù)的要加入到該網(wǎng)絡(luò)的膝上型電腦,這時(shí)你可能訪問該照相機(jī),照一張相,并把照片發(fā)送到你自己的磁盤驅(qū)動(dòng)器上,或?yàn)榇蛴《鴮⑺l(fā)送到另一個(gè)設(shè)備上。 問題3:Jini技術(shù)有哪些益處? 所有的Jini技術(shù)都是為了簡化網(wǎng)上的交互。Java平臺(tái)已經(jīng)將這種簡化啟動(dòng),而Jini則將其進(jìn)一步完善。簡化意味著改善的生產(chǎn)力、費(fèi)用降低和便于使用。Jini技術(shù)讓你使用網(wǎng)絡(luò)就象使用電話一樣的簡單。它使ISVs、IHVs和部件制造商得以擴(kuò)展到新的市場,并提供基于網(wǎng)絡(luò)的改良的產(chǎn)品和服務(wù)。Jini軟件還允許傳統(tǒng)的服務(wù)供應(yīng)商能夠動(dòng)態(tài)地增加和管理網(wǎng)絡(luò)服務(wù)。 問題4:Jini技術(shù)一般都用在哪些地方? 幾乎所有需要處理數(shù)字信息輸入和輸出的設(shè)備都有可能連接到使用Jini技術(shù)的社區(qū),這不僅包括傳統(tǒng)的計(jì)算機(jī)硬件和軟件,而且還包括應(yīng)用消費(fèi)品,如個(gè)人數(shù)字助理(PDA)、數(shù)字相機(jī)、錄象機(jī)、電視、DVD播放機(jī)、蜂窩電話和CD播放機(jī)等。傳統(tǒng)的部件和外設(shè)制造商對此已顯示了極大的興趣,他們都希望將自己轉(zhuǎn)化為增值網(wǎng)絡(luò)服務(wù)供應(yīng)商。另外,企業(yè)服務(wù)供應(yīng)商對此也非常有興趣,他們期望簡化并擴(kuò)展他們的網(wǎng)絡(luò)能力。 問題5:Jini技術(shù)迎合了什么發(fā)展趨勢? 隨著處理器和其它技術(shù)設(shè)備價(jià)格的下降,傳統(tǒng)的計(jì)算機(jī)的定義和用途正在擴(kuò)展。使用的技術(shù)也從原來的單用戶PCs和幾百萬美元的大型計(jì)算機(jī)發(fā)展到今天的基于網(wǎng)絡(luò)的計(jì)算應(yīng)用。對能夠?qū)⑷蜻B通的寬帶網(wǎng)絡(luò)的投資仍在進(jìn)行。網(wǎng)絡(luò)設(shè)備本身也不限于傳統(tǒng)的計(jì)算機(jī)。相反地,從數(shù)字相機(jī)到蜂窩電話到家用電器都使用了某種類型的微處理器,并且具備一定程度的網(wǎng)絡(luò)智能。但是,今天的網(wǎng)絡(luò)對一般用戶來說仍然是復(fù)雜的,不容易管理和使用。他們正在尋找更簡單而可靠的網(wǎng)絡(luò)解決方案。通過采用象實(shí)用工具一樣的網(wǎng)絡(luò)以達(dá)到對信息、數(shù)據(jù)和服務(wù)的共享和計(jì)算,這種方式將變得越來越普遍。分布式計(jì)算技術(shù)將被用來駕御網(wǎng)絡(luò)的各種功能。在許多領(lǐng)域,由于Java技術(shù)的普遍采用,將會(huì)提供一種"編寫一次,隨處運(yùn)行"的軟件平臺(tái)。網(wǎng)絡(luò)的這種發(fā)展趨勢--隨處可用、簡單、采用Java以及分布式計(jì)算技術(shù)--為Jini技術(shù)的產(chǎn)生奠定了基礎(chǔ)。 問題6:業(yè)界對Jini技術(shù)的反響如何? 反響非常熱烈。市場上對有關(guān)能夠簡化網(wǎng)絡(luò)的技術(shù)的需求是非常大的。對出于研究和非贏利(組織內(nèi)部)目的的用戶,Sun可免費(fèi)提供Jini技術(shù)的源代碼。因而,一大批組織機(jī)構(gòu)已開始調(diào)研Jini技術(shù)。同時(shí),一大批從事電子消費(fèi)品、計(jì)算機(jī)外部設(shè)備、企業(yè)級(jí)計(jì)算、計(jì)算機(jī)系統(tǒng)、網(wǎng)絡(luò)服務(wù)供應(yīng)以及軟件的公司也已購買了Jini技術(shù)許可證,并在其商業(yè)化的數(shù)字產(chǎn)品和服務(wù)中使用Jini技術(shù)。 問題7:Jini技術(shù)的主要設(shè)計(jì)者有哪些? 在 Bill Joy 和 Jim Waldo 的領(lǐng)導(dǎo)下,一些在分布式計(jì)算領(lǐng)域的精英參加了Jini技術(shù)開發(fā)項(xiàng)目。他們包括Java遠(yuǎn)程方法調(diào)用(Java RMI)的發(fā)明和設(shè)計(jì)者Ann Wollrath、JavaSpaces技術(shù)的設(shè)計(jì)者、同時(shí)也是與James Gosling共同完成"Java programming language"的作者Ken Arnold、以及 X 協(xié)會(huì)的負(fù)責(zé)人和查找/發(fā)現(xiàn)(Lookup/Discovery)的設(shè)計(jì)者Bob Scheifler。 問題8:我從哪里可以找到有關(guān)Jini技術(shù)的更多信息? 從下列網(wǎng)址可以找到有關(guān)Jini技術(shù)的更多信息:http://www.sun.com/jini Jini技術(shù)詳解 問題9:Jini技術(shù)是如何運(yùn)作的? 基于有關(guān)協(xié)議和一套Java技術(shù)接口,Jini技術(shù)使設(shè)備和應(yīng)用程序可進(jìn)入到網(wǎng)上虛擬機(jī)的無準(zhǔn)備社區(qū)之中。采用Jini技術(shù)的設(shè)備使用一種被稱作發(fā)現(xiàn)(discovery)的進(jìn)程來尋找同樣也采用Jini技術(shù)的設(shè)備。然后這些設(shè)備可向Jini技術(shù)的查找服務(wù)(lookup service)發(fā)送對象--這些對象代表了該設(shè)備所提供的服務(wù)以及它們的定義特征和屬性。當(dāng)一個(gè)設(shè)備需要使用社區(qū)中的一項(xiàng)服務(wù)時(shí),它可以從Jini技術(shù)的查找服務(wù)中下載所需的對象,包括任何代碼,如應(yīng)用程序、設(shè)備驅(qū)動(dòng)或用戶接口等。 問題10:當(dāng)一個(gè)新設(shè)備被接入網(wǎng)絡(luò)時(shí),會(huì)怎么樣呢? 為將設(shè)備的服務(wù)提供給本地社區(qū),該設(shè)備必須使用Jini技術(shù)來注冊它所提供的服務(wù)。這可通過兩個(gè)步驟來完成。首先,該設(shè)備輪詢本地網(wǎng)絡(luò)以確認(rèn)Jini技術(shù)的查找(lookup)服務(wù)的所在位置;然后,再將自己注冊在該查找服務(wù)上。這兩個(gè)步驟被稱作discovery和join進(jìn)程。對該設(shè)備提供的每一個(gè)服務(wù),該進(jìn)程都向查找服務(wù)上載一個(gè)Java對象,作為該服務(wù)的接口。 問題11:Jini軟件可在什么設(shè)備上運(yùn)行? Jini軟件即Java軟件代碼。它可以運(yùn)行在任意的數(shù)字設(shè)備上,如蜂窩電話、數(shù)字相機(jī)、個(gè)人數(shù)字助理(PDA),甚至還包括智能磁卡等。 問題12:為了使用Jini技術(shù),是不是網(wǎng)上的所有設(shè)備都必須采用Java平臺(tái)。 不是。這些設(shè)備可以允許網(wǎng)上的其它部件代表它們來執(zhí)行需要Java技術(shù)的Jini軟件。通過將Jini軟件所需要的某些特定的Java功能委托給第三者,一個(gè)設(shè)備可以不必有它自己的虛擬機(jī),并且在幾乎不需要有附加代碼的情況下,即可成為Jini技術(shù)網(wǎng)絡(luò)的部件。成為網(wǎng)絡(luò)社區(qū)的組成部分所需要的所有功能可由網(wǎng)絡(luò)中與該設(shè)備有伙伴關(guān)系的另一系統(tǒng)來實(shí)現(xiàn)。 問題13:我怎樣才能知道我在網(wǎng)上具有一個(gè)Java虛擬機(jī)? 不管你知道還是不知道,你的機(jī)器可能已經(jīng)正在使用一個(gè)或者幾個(gè)Java虛擬機(jī)了。它們被嵌套于大多數(shù)Web瀏覽器以及各種設(shè)備中。如果對一個(gè)發(fā)現(xiàn)(discovery)的詢問(query)出現(xiàn)了一個(gè)響應(yīng),則表示在網(wǎng)絡(luò)上具有了一個(gè)Java虛擬機(jī)。 問題14:一個(gè)應(yīng)用程序是如何使用Jini軟件的? 為使用社區(qū)中的服務(wù),一個(gè)應(yīng)用程序必須首先用發(fā)現(xiàn)協(xié)議來定位一個(gè)Jini技術(shù)的查找服務(wù),然后它則可以使用該查找服務(wù)來定位能夠提供所需服務(wù)類型的設(shè)備。應(yīng)用程序則可以從該查找服務(wù)中下載一個(gè)可被用來與選定的設(shè)備進(jìn)行交互的Java對象,該對象被用來處理任何有關(guān)設(shè)備的細(xì)節(jié);運(yùn)行應(yīng)用程序的機(jī)器不需要具備該設(shè)備的驅(qū)動(dòng)程序。 問題15:如果一個(gè)設(shè)備被斷開連接,會(huì)怎么樣呢? Jini使用一種被稱作"租用(leasing)"的技術(shù)來檢測什么時(shí)候一個(gè)服務(wù)是不可用的。當(dāng)一個(gè)設(shè)備在查找服務(wù)注冊后,它會(huì)收到一個(gè)"租用"。這個(gè)租用必須被定期更新。如果未被更新,查找服務(wù)則會(huì)將該設(shè)備從服務(wù)列表中刪除。刪除一個(gè)設(shè)備不影響由其余社區(qū)成員所提供的狀態(tài)或服務(wù)。 問題16: Jini技術(shù)適用于我現(xiàn)在的網(wǎng)絡(luò)嗎? 因?yàn)镴ini技術(shù)是基于Java平臺(tái)的, 所以它可以運(yùn)行于任何具有至少一個(gè)Java虛擬機(jī)(JVM)的網(wǎng)絡(luò), 包括采用傳統(tǒng)操作環(huán)境的網(wǎng)絡(luò), 如采用Novell Netware或microsoft Windows的網(wǎng)絡(luò)。 問題17: 使用Jini技術(shù)需要替換現(xiàn)存軟件或硬件嗎? 不需要。通過添加某些Jini軟件, 現(xiàn)存數(shù)字設(shè)備可被升級(jí), 以達(dá)到使用Jini技術(shù)的目的。例如, 一旦你的PC擁有了Jini軟件, 它便可以使用其它設(shè)備的服務(wù), 并且其本身也可被當(dāng)作一個(gè)服務(wù)而提供給其它設(shè)備。甚至于那些連接在你的PC上的設(shè)備,如磁盤或打印機(jī),在添加了適當(dāng)?shù)腏ini軟件后,也可以作為服務(wù)提供給其它設(shè)備。 即使PC被升級(jí)以使用Jini技術(shù),該P(yáng)C上使用的現(xiàn)有軟件也不需要改動(dòng)。通過改變軟件而在網(wǎng)絡(luò)上提供服務(wù)則需要對軟件進(jìn)行升級(jí)。 Jini技術(shù)的開發(fā) 問題18:我可以將Jini技術(shù)添加到我的現(xiàn)行軟件上嗎?我應(yīng)該怎樣做? 可以。第一步,要為你的代碼提供一個(gè)Java軟件的包裝器,這樣這些代碼即可在一個(gè)Java虛擬機(jī)(JVM)內(nèi)運(yùn)行。你可以找到有關(guān)這個(gè)過程的很好的文本說明,因?yàn)槟壳坝袛?shù)以千計(jì)的開發(fā)者都要實(shí)現(xiàn)這個(gè)過程。第二步是將那些可告知你的程序來宣布它自己的代碼添加到查找服務(wù)上。我們將提供一些示例代碼及升級(jí)工具來幫助你完成這一步。 |
只有注冊用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||