<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    gembin

    OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

    HBase, Hadoop, ZooKeeper, Cassandra

    Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

    There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

    About Me

     

    Jini

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

          Jini(發(fā)音為DJEE-nee,像“魔術(shù)師”的阿拉伯語(yǔ))是一個(gè)新思想,Sun微系統(tǒng)稱作“自發(fā)網(wǎng)絡(luò)”。有了Jini體系結(jié)構(gòu),用戶就能夠把打印機(jī),存儲(chǔ)設(shè)備,揚(yáng)聲器和任何設(shè)備直接插入網(wǎng)絡(luò),并且,網(wǎng)絡(luò)上的每臺(tái)電腦,設(shè)備和用戶將會(huì)知道新加入的和可用的設(shè)備。每個(gè)可插設(shè)備都會(huì)立即在網(wǎng)絡(luò)設(shè)備注冊(cè)處定義自己。當(dāng)某人要使用或訪問(wèn)這個(gè)資源時(shí),他們的電腦將能夠從這個(gè)資源上下載必要的程序來(lái)與其通信。這樣一來(lái),操作系統(tǒng)中就不再需要專門的設(shè)備支持軟件,即我們所說(shuō)的設(shè)備驅(qū)動(dòng)程序。操作系統(tǒng)將會(huì)通過(guò)網(wǎng)絡(luò)注冊(cè)獲悉所有可訪問(wèn)設(shè)備。  

          Jini可以看作是繼Java編程語(yǔ)言之后邁向使網(wǎng)絡(luò)變?yōu)橐慌_(tái)大電腦的下一步。Jini承諾能使制造商生產(chǎn)可獨(dú)于操作系統(tǒng)(像Windows95)連入網(wǎng) 絡(luò)的設(shè)備。打印機(jī)只要裝上一個(gè)很小的,特殊用途的并很可能是嵌入式微芯片的操作系統(tǒng),它就可以被插到網(wǎng)絡(luò)中并且立即被各種不同電腦的用戶所共享:例如 Windows,Macintosh,UNIX。移動(dòng)設(shè)備可以被傳送并很方便地插入網(wǎng)絡(luò),這樣一來(lái),其他用戶就都可以使用這個(gè)設(shè)備了。  

          Jini是以Java技術(shù)為核心的分布式系統(tǒng),它通過(guò)使用一個(gè)簡(jiǎn)易的"即插即用"模型,能夠隨時(shí)改變硬件或者軟件的配置,從而提供了一個(gè)支持快速配置的分 布式計(jì)算環(huán)境。Jini的迷人之處在于它能夠使各種數(shù)字設(shè)備無(wú)需配置、安裝或者人工干預(yù),就能夠在一個(gè)臨時(shí)的稱為服務(wù)聯(lián)盟(federations of services)的設(shè)備集合中共同工作。聯(lián)盟中的任何設(shè)備無(wú)論大小都可以自行管理,共同組成一個(gè)服務(wù)網(wǎng)絡(luò),聯(lián)盟中的每一個(gè)成員都可以為其它成員提供資源 或服務(wù),同時(shí)又可以從其它成員那里獲取自己所需的資源和服務(wù),Jini提供一套完善的機(jī)制使得硬件設(shè)備或者軟件組件能夠隨時(shí)加入或者退出聯(lián)盟。

          Jini是一個(gè)主動(dòng)的、響應(yīng)式的分布式基礎(chǔ)結(jié)構(gòu),它提供了在分布式環(huán)境中進(jìn)行服務(wù)的建立、查找、通訊和調(diào)用的一整套機(jī)制。Jini技術(shù)被設(shè)計(jì)成可以運(yùn)用在 任何有能力連入網(wǎng)絡(luò)的器件上,而不論該器件運(yùn)行什么軟件或運(yùn)行在哪種硬件設(shè)備之上。Jini技術(shù)是以網(wǎng)絡(luò)器件中的一個(gè)構(gòu)件的 面貌出現(xiàn)的,它為器件如何連入網(wǎng)絡(luò)、共享信息和與網(wǎng)絡(luò)進(jìn)行互操作建立了一套規(guī)則,而同時(shí)又保持了對(duì)用戶的完全透明。Jini本身與平臺(tái)無(wú)關(guān),采用它的器件 不再受到所用軟件、處理器、設(shè)備驅(qū)動(dòng)器,或傳統(tǒng)網(wǎng)絡(luò)協(xié)議的制約,其唯一要求只是一個(gè)能夠運(yùn)行Java字節(jié)碼的虛擬機(jī).


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


          任何帶支持Java的操作系統(tǒng)的設(shè)備都能夠被插到網(wǎng)絡(luò)中。(對(duì)很多設(shè)備來(lái)說(shuō),操作系統(tǒng)都比例如,Windows 2000小得多,因?yàn)樗惶峁┝诉@個(gè)設(shè)備需要的函數(shù)。)當(dāng)一個(gè)設(shè)備被插到Jini網(wǎng)絡(luò)中時(shí),它立即被目錄服務(wù)層注冊(cè)為網(wǎng)絡(luò)的一員。它必要的程序對(duì)象被放在了JavaSpace層,這樣一來(lái),當(dāng)其他網(wǎng)絡(luò)成員要使用這個(gè)設(shè)備的時(shí)候就可以發(fā)現(xiàn)和下載它們。在JavaSpace中對(duì)象的實(shí)際通信是通過(guò)使用遠(yuǎn)程方法調(diào)用(RMI)接口和層來(lái)實(shí)現(xiàn)的。支持boot,join,和discover協(xié)議的這層用于使設(shè)備,用戶,應(yīng)用程序通告并自我注冊(cè)以及發(fā)現(xiàn)其他設(shè)備。


    一、Jini的體系結(jié)構(gòu)

          Jini system 是由基礎(chǔ)建設(shè)( infrastructure)、程式設(shè)計(jì)模型programming model )、服務(wù)( services) 三方面所構(gòu)成。

          基礎(chǔ)建設(shè)( infrastructure)
          Jini 基礎(chǔ)建設(shè)的核心包含以下幾個(gè)部分:

          Discovery Protocol:
          提供了如何讓網(wǎng)路上任何種的資源加入聯(lián)盟的方式。

          eXtended RMI :
          Jini的元件彼此溝通時(shí)所使用的機(jī)制。

          Distributed Security:
          定義了Jini 聯(lián)盟成員的使用權(quán)限。

          Lookup Service:
          用來(lái)展現(xiàn)聯(lián)盟中的所有成員,以及幫助使用者尋找網(wǎng)路資源,或者負(fù)責(zé)提供聯(lián)盟中的資源給使用者用。

          程式設(shè)計(jì)模型( programming model )
          Jini 提供一些分散式的程式設(shè)計(jì)模型,而 Jini 的基礎(chǔ)構(gòu)造,就是利用這些模型來(lái)組合。模型所提供的介面(Interface),包括以下幾個(gè)類型

          Leasing Interface:
          負(fù)責(zé)管理物件被使用的時(shí)間。

          Two Phase Commit Interface :
          是一個(gè)輕量級(jí)的(light-weight)、物件導(dǎo)向的( object-oriented)介面。負(fù)責(zé)管理分散式交易( transaction)的動(dòng)作,如:roll back 、roll forward 等。

          Events Interface:
          在分散式計(jì)算的環(huán)境中,必須確保程式執(zhí)行的先後順序,利用事件的觀念可以幫助我們解決這個(gè)問(wèn)題。

          服務(wù)(services)
          有了Jini的架構(gòu)以及程式設(shè)計(jì)模型後,我們可以利用這些技術(shù)來(lái)設(shè)計(jì)管理網(wǎng)路資源的服務(wù),以促進(jìn)分散式計(jì)算的發(fā)展。例如:JavaSpaces、Two Phase Commit Manager。

    二、JavaSpace

          Jini提供了在分散式環(huán)境中尋找( look-up)、注冊(cè)( registration)、租借(leasing)等功能。而 JavaSpaces則負(fù)責(zé)管理分散式物件的處理程序( processing)、分享(sharing)、以及流通(migration )等。因此 Jini 與 JavaSpaces 彼此存在著相互合作的關(guān)系[3] 。以軍隊(duì)作比喻, Jini扮演的是軍 官的角色,負(fù)責(zé)分派許多武器裝備給軍隊(duì)。JavaSpaces則扮演軍隊(duì)的角色,負(fù)則使用那些被分派的武器以執(zhí)行命令。簡(jiǎn)單的說(shuō), JavaSpaces就好像網(wǎng)路上的一個(gè)市場(chǎng),它提供一個(gè)簡(jiǎn)單、快速、統(tǒng)一的介面,讓網(wǎng)路上分散的資源可以被分享、協(xié)調(diào)與流通[4] 。

          JavaSpaces是用 Java所發(fā)展的技術(shù),并且以RMI實(shí)作其網(wǎng)路通訊的功能,一般應(yīng)用在n-tiers 架構(gòu)的中間層middle tiers)[5] 。JavaSpaces雖然能提供 求者與供應(yīng)者之間查詢與溝通的機(jī)制,但它并不是資料庫(kù),而是以簡(jiǎn)單的messaging system為基礎(chǔ),進(jìn)而提供更強(qiáng)大的功能。

          除了Jini之外, JavaSpaces技術(shù)也可被應(yīng)用在其它系統(tǒng)與服務(wù)中,如: 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的應(yīng)用

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

          想像一個(gè)劇情:一個(gè)使用者坐在公園里,想要透過(guò)掌上型電腦來(lái)使用網(wǎng)路上的印表機(jī),但是他并沒(méi)有任何印表機(jī)的驅(qū)動(dòng)程式。首先,Jini會(huì)啟動(dòng) Lookup服務(wù)(類似 JavaSpaces),到聯(lián)盟(federation )中搜尋符合使用者條件的印表機(jī)。找到之後,Jini會(huì)跟那臺(tái)印表機(jī)溝通,取得它的驅(qū)動(dòng)程式,并且傳至使用者的掌上型電腦。使用者於是可以輕易的使用網(wǎng)路 上的印表機(jī)。

          我們也可以把家中的電器用品都結(jié)合到網(wǎng)路上,這樣可以讓我們?cè)谌魏螘r(shí)間、任何地點(diǎn)來(lái)控制家里的電器,這將是多堋令人期待的一個(gè)理想。

          目前已經(jīng)有許多公司正在發(fā)展相關(guān)的技術(shù),這些公司包括Axis、Canon、 Computer Associates、Datek 、Enocanto、Epson 、Ericsson、FedEx 、Mitsubishi、 Norwest Mortgage 、Novell、ODI、 Oki、Quantum、 Salomon Brother、 Seagate、以及 Toshiba等。

    四、Jini如何與眾不同?

          Jini具有創(chuàng)建龐大的電子設(shè)備網(wǎng)絡(luò)的潛力。用戶可使用標(biāo)準(zhǔn)計(jì)算機(jī)設(shè)備與之相連,或從網(wǎng)絡(luò)本身獲得這些服務(wù)(存儲(chǔ)器、存儲(chǔ)和計(jì)算)。因此,Jini在至少以下10個(gè)主要方面有別于傳統(tǒng)操作系統(tǒng):
    它規(guī)模小。

          Jini的內(nèi)核只需要一臺(tái)Java虛擬機(jī),4KB常駐內(nèi)存和一些計(jì)算環(huán)路(computing cycles)。Jini系統(tǒng)大約為600 KB。
    該系統(tǒng)完全基于對(duì)象。

          即,其組件包括可遠(yuǎn)程執(zhí)行的方法,如果某個(gè)方法與其執(zhí)行環(huán)境不兼容(如浮點(diǎn)代碼),則它能自動(dòng)裝載正確的方法。
    Jini的基本控制結(jié)構(gòu)簡(jiǎn)單。

          對(duì)象通過(guò)JavaSpaces (管理諸如對(duì)象處理、共享和移植等功能的系統(tǒng))的基本操作--- read, write和take ---和標(biāo)準(zhǔn)Java RMI接口實(shí)現(xiàn)通信。
          所有服務(wù)均通過(guò)簡(jiǎn)單的"租用"提供。

          租用是依賴 于時(shí)間的(到期后可延續(xù)),并允許對(duì)同一服務(wù)有多個(gè)租用。
          Jini包括標(biāo)準(zhǔn)Java安全性構(gòu)造。
          因?yàn)榄h(huán)境具有分布式特點(diǎn),所以這一點(diǎn)非常重要,因?yàn)樵趫?zhí)行對(duì)象的地方必須具備安全性。
          借助JavaSpaces,Jini還包含可了交易 服務(wù)(兩階段提交)和持續(xù)性(即 persistency,最初 是 用Object Design公司的ObjectStore PSE Pro for Java )。
          在Jini內(nèi)部,像安全策略等基本信息群均可訪問(wèn)。這些信息群幾乎可以無(wú)限地匯集起來(lái),放置在大型網(wǎng)絡(luò)中。
          Jini支持Java編程模式。Java服務(wù)和協(xié)議( JavaBeans等)仍可為廣大程序員使用。
          資源可免費(fèi)授權(quán)(或近乎免費(fèi))。
          最重要的是,Jini提供插入即可執(zhí)行的能力,新連接的設(shè)備能立刻得到網(wǎng)絡(luò)的認(rèn)可(通過(guò)引導(dǎo)、join and discovery 協(xié)議),并可訪問(wèn)任何已經(jīng)授權(quán)的服務(wù)。Sun公司把這一特點(diǎn)比作標(biāo)準(zhǔn)電話網(wǎng)的撥號(hào) ,并且正在考慮使用JavaTone品牌來(lái)描述整個(gè)環(huán)境。

    五、Jini為什么重要? mandate

          目前的網(wǎng)絡(luò)計(jì)算環(huán)境非常復(fù)雜。Windows 98和Windows NT Workstation等客戶機(jī)操作系統(tǒng)都包含1000萬(wàn)到2000萬(wàn)行代碼。這些系統(tǒng)的規(guī)模 和復(fù)雜性 要求使用昂貴的、資源密集型計(jì)算設(shè)備, 它們能夠隨各新版軟件的面市而不斷升級(jí)。

          在現(xiàn)有網(wǎng)絡(luò)中添加新的設(shè)備也是同樣的情況。雖然Microsoft公司在其操作系統(tǒng)上增加了plug-and-play (即插即用)功能,但對(duì)多數(shù)信息服務(wù)企業(yè)來(lái)說(shuō),新硬件的添加、配置和安裝設(shè)備驅(qū)動(dòng)程序總是一個(gè)問(wèn)題。

          對(duì)那些必須為成千上萬(wàn)用戶維護(hù)穩(wěn)定的計(jì)算環(huán)境的系統(tǒng)管理員 來(lái)說(shuō),對(duì)客戶機(jī)端軟件不斷 復(fù)制使 其工作負(fù)擔(dān)加重,且成本增加,同時(shí)也限制了能與網(wǎng)絡(luò)相連且有效使用的設(shè)備的范圍。

          Jini的重要性體現(xiàn)在,它可能 能夠做到:將服務(wù)的可用性擴(kuò)展到更加廣泛的電子設(shè)備的同時(shí),降低維護(hù)分布式計(jì)算環(huán)境的成本和復(fù)雜程度。

          降低企業(yè)網(wǎng)絡(luò)擁有成本是一個(gè)重要的問(wèn)題。確實(shí),在企業(yè)2000年問(wèn)題解決以后,這個(gè)問(wèn)題將成為各企業(yè)信息服務(wù)部門下一個(gè)10年的主要課題。

          除了降低成本以外,Jini還可能創(chuàng)建全新一代的網(wǎng)絡(luò)服務(wù)和產(chǎn)品。服務(wù)已經(jīng)打破了本地計(jì)算機(jī)系統(tǒng)的界限,并將發(fā)展到與遠(yuǎn)程設(shè)備功能相符,并且當(dāng)功能受到限 制時(shí)可以從網(wǎng)絡(luò)上動(dòng)態(tài)地提供。請(qǐng)想象一下這樣一種智能化家庭網(wǎng)絡(luò)吧:它控制著從電腦到烤面包器、從分布式超級(jí)計(jì)算機(jī)到能把呼叫自動(dòng)傳輸給您(可能是您的計(jì) 算機(jī)、電話、電視和蜂窩設(shè)備)的電話網(wǎng)。Jini有可能使這一切及更多其它的應(yīng)用成為現(xiàn)實(shí)。


    六、結(jié)論

          Jini讓許多電器設(shè)備、網(wǎng)路服務(wù)結(jié)成聯(lián)盟( federation)。 Jini的最上層以 Lookup機(jī)制為基礎(chǔ)的目錄服務(wù)( directory service ),讓許多含有 Jini技術(shù)的資源,來(lái)注冊(cè)以及被公布於網(wǎng)路上。下一層則利用JavaSpaces 技術(shù)來(lái)管理聯(lián)盟的資源,以讓使用者或其他應(yīng)用程式使用資源。底層則是以RMI為基礎(chǔ)的協(xié)定,用來(lái)規(guī)范物件之間在網(wǎng)路上的溝通。

          如同SUN公司所說(shuō):「網(wǎng)路就是電腦(The network is the computer)」。網(wǎng)路的出現(xiàn)提供了無(wú)限的計(jì)算資源,讓我們可望達(dá)成一個(gè)超大型的計(jì)算系統(tǒng)。Java技術(shù)使得分散式計(jì)算變得容易可行,Jini 則實(shí)現(xiàn)網(wǎng)路就是一個(gè)超大型電腦的理想。

    posted on 2010-03-08 17:25 gembin 閱讀(404) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(6)

    隨筆分類(440)

    隨筆檔案(378)

    文章檔案(6)

    新聞檔案(1)

    相冊(cè)

    收藏夾(9)

    Adobe

    Android

    AS3

    Blog-Links

    Build

    Design Pattern

    Eclipse

    Favorite Links

    Flickr

    Game Dev

    HBase

    Identity Management

    IT resources

    JEE

    Language

    OpenID

    OSGi

    SOA

    Version Control

    最新隨筆

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    free counters
    主站蜘蛛池模板: 男人的天堂亚洲一区二区三区 | 亚洲精品国产福利一二区| a级亚洲片精品久久久久久久| 亚洲毛片在线观看| 亚洲国产精品精华液| 国产一二三四区乱码免费| 青青草免费在线视频| 久久久久亚洲精品男人的天堂| 亚洲系列中文字幕| 天堂亚洲免费视频| 99视频全部免费精品全部四虎| 一本久久综合亚洲鲁鲁五月天| 亚洲综合小说久久另类区| 免费的黄色的网站| 日本视频一区在线观看免费| 亚洲国产综合人成综合网站| 亚洲天堂电影在线观看| 国产免费AV片在线观看播放| 妞干网在线免费观看| 婷婷亚洲综合五月天小说 | 美女啪啪网站又黄又免费| 最刺激黄a大片免费网站| 亚洲精品97久久中文字幕无码| 亚洲欧洲另类春色校园网站| 日本一区午夜艳熟免费| 永久在线毛片免费观看| 亚洲美免无码中文字幕在线| 一级做a爰片性色毛片免费网站| 一个人看www在线高清免费看| 日韩亚洲一区二区三区| 国产精品亚洲综合| 国产h肉在线视频免费观看| 中文字幕不卡亚洲| 毛片亚洲AV无码精品国产午夜 | 国产91免费视频| 亚洲VA中文字幕无码毛片| 日本一区二区三区在线视频观看免费 | 亚洲人成自拍网站在线观看 | 特级精品毛片免费观看| 亚洲人成无码网WWW| 亚洲精品精华液一区二区|