很久很久以前

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            34 隨筆 :: 4 文章 :: 17 評論 :: 0 Trackbacks
          本文主要介紹了JXTA中的各種概念。
          1.Peer。一個peer就是實現(xiàn)了一個或多個JXTA協(xié)議的網(wǎng)絡(luò)設(shè)備。比如傳感器,電話, PDA,PC,服務(wù)器,巨型機等等。每一個peer與其他peer都是獨立操作并且是異步的。有peer ID來唯一標識一個peer。peer使用JXTA協(xié)議公開一個或多個網(wǎng)絡(luò)接口(network interface),每一個公開的接口都被廣告為一個peer端點(peer endpoint),這個peer端點唯一標識了一個網(wǎng)絡(luò)接口。peer之間不需要有直接的點對點的網(wǎng)絡(luò)連接??梢允褂弥虚g的peer作為peer的消息路由,將由于硬件網(wǎng)絡(luò)或者網(wǎng)絡(luò)配置(NATs,防火墻或者代理)而造成的兩個通信peer進行互聯(lián)。peer通常被設(shè)計成網(wǎng)絡(luò)中自然地互相發(fā)現(xiàn),從而構(gòu)成暫時的或持久的關(guān)系成為peer組(peer gorup)。
          2.Peer Group.一個peer組是一個peer的集合,這些peer都有一組相同的服務(wù)。peer自組織的加入到peer組中,并通過一個唯一的peer組id來區(qū)別這些peer組。每一個peer組都可以建立一個屬于自己的memebership policy,從任何人可以加入到最嚴格的安全驗證以及受保護方式(需要完全的認證書來加入)。一個peer可以同時屬于多于一個peer組。默認地,第一個peer組被實例的組是Net Peer Group。所有的peer都屬于Net Peer Group。peer可以選擇加入其他的peer group。JXTA協(xié)議描述了peer如何公開,發(fā)現(xiàn),加入以及監(jiān)控peer組。
               如下幾點說明了創(chuàng)建peer組的目的。
          1. 建立安全的環(huán)境。peer組可以創(chuàng)建一個本地控制域,在這個域中使用一個特定的安全策略。這個安全策略可以簡單的只是一個明文的帳號 /口令交換,也可以像PKI一樣成熟。peer組界定認證的成員訪問和公開受保護的內(nèi)容(content)。peer組在建立了一個邏輯上的區(qū)域,從而對訪問peer組的資源進行界定。
          2. 創(chuàng)建一個范圍環(huán)境。peer組裕興建立一個本地的專用域。比如,peer可以組織起來實現(xiàn)一個文檔共享網(wǎng)絡(luò)或者一個CPU共享網(wǎng)絡(luò)。 peer組提供細分網(wǎng)絡(luò)成抽象的區(qū)域來提供內(nèi)在范圍機制(implicit scoping mechanism)。比如,當(dāng)搜索一個組內(nèi)容的時,peer組可以界定定義一個搜索范圍。
          3. 創(chuàng)建一個監(jiān)視環(huán)境。peer組允許一個peer為了任何目的去監(jiān)視一組peer(比如,心跳,traffic introspection或者accountability)。peer組也可以構(gòu)建一個父子層次結(jié)構(gòu),其中任何一個組都有一個唯一的父親。查詢請求能偶在這個組中傳播。對于這個組中的廣告也可以在其父組中公開,當(dāng)然也包裹這個組本身。
          peer組提供了一組服務(wù)成為peer組服務(wù)。在JXTA中敵營了一個核心peer組服務(wù)集合。兩個peer如果要通過一個服務(wù)進行交互,他們配需位于同一個peer中。
              核心的組服務(wù)有如下:
          1. 發(fā)現(xiàn)服務(wù)(Discovery Service)。本服務(wù)被組中的peer用來查詢per組資源,比如peer,peer組,通道和服務(wù)等。
          2. 成員關(guān)系服務(wù)(Membership Service)。本服務(wù)被當(dāng)前成員用來拒絕或接受一個新的組成員應(yīng)用。一個peer想要加入到一個group前,首先要確定一個當(dāng)前的成員,并請求加入。當(dāng)前成員的集合可以拒絕或者接受某個想加入的應(yīng)用(application)。本服務(wù)可能會發(fā)起一個所有peer或者指定組代表的一次投票來決定是否接受或者聚居新的成員應(yīng)用。
          3. 訪問服務(wù)(Access Service)。使用訪問服務(wù)可以用來驗證一個peer對另一個peer的請求(request)。如果訪問被允許,那么接受請求的peer會提供給請求peer關(guān)于該請求所要知道的信息的信任和相關(guān)信息。(注意,在peer組中,不是所有的行為(action)都需要通過訪問服務(wù)的檢查,只有那些在某些peer中被限制的行為在需要調(diào)用時,才被檢查。)
          4. 管道服務(wù)(Pipe Service)。本服務(wù)用于在peer組成員間的鏈接管道的建立和管理。
          5. Resolver服務(wù)。本服務(wù)用來發(fā)送一般的查詢請求到其他的peer。peer可以定義和交換請求以便發(fā)現(xiàn)任何需要的信息(比如一個服務(wù)的狀態(tài)或者一個管道端點的信息。)
          6. 監(jiān)視服務(wù)(Monitoring Service)。本服務(wù)用來讓一個peer監(jiān)視本組中的其他成員服務(wù)。
              不是所有上面提到的服務(wù)都必須要被每個peer實現(xiàn)。一個peer組可以自由的實現(xiàn)那些它認為有用的服務(wù),并可以依賴于默認的Net Peer Group來提供非關(guān)鍵核心服務(wù)的一般實現(xiàn)。
          3.Network Services。peer之間可以協(xié)作并通信以發(fā)布,發(fā)現(xiàn)和啟動網(wǎng)絡(luò)服務(wù)。peer可以發(fā)布多個服務(wù)。peer通過Peer Discovery Protocol來發(fā)現(xiàn)network service。在JXTA協(xié)議中組織了兩個層次上的network service。
          • Peer Service。一個peer service只有當(dāng)peer公布了自己的service時才能被訪問。如果這個peer失敗了,那么它的service也失敗了。不同的peer可以運行某個服務(wù)的多個實例,但每個實例都必須公開自己的廣告(advertisement).
          • Peer Group Service。peer組服務(wù)是這個組中成員所運行服務(wù)的實例的集合的組織形式,其中這些實例是互相合作的。如果其中任何一個peer失敗了,那么這個 peer組服務(wù)將不會收到影響(假定這個服務(wù)可以從其他peer獲得)。peer group服務(wù)通過peer 組廣告的以部分來發(fā)布。
              服務(wù)可以是事先被安裝到peer上或者通過網(wǎng)絡(luò)安裝的。為了真正的運行一個服務(wù),peer必須為定位一個適合當(dāng)前peer運行環(huán)境的一個實現(xiàn)。這個從網(wǎng)絡(luò)上查找,下載和安裝一個服務(wù)的過程很類似于在Internet上搜索一個Web頁面,取回這個頁面然后再安裝需要的插件的過程。
          4.Modules。JXTA的module用來描述任何一段用來實現(xiàn)JXTA world中一個行為的“代碼”的抽象表示(Abstraction)。Network Service就是在一個peer上實現(xiàn)的行為的一個最一般的例子。這個Module Abstraction不一定特指什么“代碼”,它可以是一個Java類,也可以是Java jar,或者動態(tài)鏈接庫dll,一個XML消息或是一個腳本。這個module的行為交給了module的實現(xiàn)者。對于一個實例(instance), module表示了一個網(wǎng)絡(luò)服務(wù)(network service)在不同平臺上的不同實現(xiàn),這些平臺比如說在java平臺,MS windows平臺,Solaris 平臺。
              Module允許peer實現(xiàn)一個新的行為,通過提供了一個一般的抽象。當(dāng)peer瀏覽或者加入一個peer組時,他可以查找新的其打算實現(xiàn)的行為。比如,當(dāng)加入一個peer組后,一個peer可能必須學(xué)習(xí)新的搜索服務(wù),這個服務(wù)只能在本peer組中使用。為了加入到這個組,這個peer必須實現(xiàn)這個新的搜索服務(wù)。這個module框架可以啟動平臺無關(guān)行為的表示(representation)和廣告(advertisement)。并允許peer描述和實現(xiàn)任何形式這個行為(behavior)的是實現(xiàn)。比如,一個peer使用java或者c實現(xiàn)一個行為的實現(xiàn)。
          & amp; nbsp;   描述和公告一個平臺獨立的行為的能力能有有效的支持peer組包含異構(gòu)的peer。module的廣告可以使JXTA的peer能夠采用平臺獨立的方式描述一個行為。JXTA平臺使用module廣告來自描述。
              module抽象(Module abstractIon)包括一個module class,module specification和一個moduleimplementation。
          • Module Class。module class主要用于廣告一個行為(behavior)的存在。這個class的定義表述了一個期望的行為和一個期望的對所支持的module的綁定。每一個module class都有一個唯一的ID,成為MoudleClassID
          • Module Specification。Module Specification主要用于訪問這個module。它包含了訪問或者啟動這個module的所有必要的信息。比如,一個服務(wù),他的module specification可能包含了一個用于和其他服務(wù)相通信的管道的廣告。一個module specification用于提供module class所指明的功能。對于一個module class可能有多個module specification。每一個module specification都有一個唯一的id,ModuleSpecID。ModuleSpecID包含了ModuleClass ID,并指明了所使用的module class。一個module specification暗含了對網(wǎng)絡(luò)的兼容性。對于一個給定的module specification的所有實現(xiàn)都必須使用相同的協(xié)議,這些實現(xiàn)都需要是兼容的,即使使用不同的語言實現(xiàn)的。
          • Module Implementation。Module Implement是一給定module specification的實現(xiàn)。對于一個module specification可以有多個module implementation。每一個module implementation都包含了它所實現(xiàn)的與specification相關(guān)聯(lián)的ModuleSpecID。
              Module可以被peer組服務(wù)使用,也可以被獨立的服務(wù)所使用。JXTA服務(wù)通過module abstraction來區(qū)別存在的服務(wù)(他的Module Class),服務(wù)的specification(Module Specification),或者服務(wù)的實現(xiàn)(Service Implementation)。所有的這些都有一個聯(lián)合的廣告,并且可以通過其他JXTA peer來公告和發(fā)現(xiàn)的。作為一個例子,考慮JXTA的發(fā)現(xiàn)服務(wù)。它包含一個唯一的ModuleClassID,標識了他作為一個發(fā)現(xiàn)服務(wù)——他的抽象功能。對于這個發(fā)現(xiàn)服務(wù)可以有多個不同的規(guī)范(Specification),并伴隨著不同的實現(xiàn)。對于組的大小和在網(wǎng)絡(luò)中的傳播方式可以使用不同的裁剪策略。每一個Specification都有唯一的MdouleSpecID,其中指明了發(fā)現(xiàn)發(fā)現(xiàn)服務(wù)的ModuleClassID。對于每個規(guī)范,都可能有多種實現(xiàn),每種實現(xiàn)都包含了相同的ModuleSpceID。
              總之,對于一個給定的module Class都可能有多種規(guī)范,這些規(guī)范可能是完全不同的。然而任何給定規(guī)范的所有實現(xiàn)都是假定可以互相兼容的。
          posted on 2007-05-19 23:11 Long Long Ago 閱讀(958) 評論(0)  編輯  收藏 所屬分類: others
          主站蜘蛛池模板: 五河县| 北辰区| 扶沟县| 淄博市| 马山县| 洮南市| 庄浪县| 沈阳市| 贺兰县| 静安区| 诸城市| 来宾市| 新疆| 吴川市| 汉阴县| 钟山县| 大连市| 板桥市| 赤峰市| 元朗区| 古交市| 玉田县| 玉龙| 大英县| 临桂县| 阜新市| 图木舒克市| 望都县| 共和县| 荥经县| 将乐县| 隆子县| 光泽县| 平果县| 静海县| 丹阳市| 卫辉市| 潮州市| 华亭县| 罗平县| 山阴县|