程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JXTA技術的設計目標和層次結構

JXTA技術的設計目標和層次結構

編輯:關於JAVA

P2P即Peer to Peer,稱為對等連接或對等網絡,P2P技術主要指由硬件形成連接後的信息控制技術,其代表形式是軟件;P2P並不是一個新的概念,因特網上的許多核心協議本身就是P2P的應用程序,因特網的發展過程也說明了這一點,我們可以通過下述特性來描述P2P:

1、Peer知道其他Peer的存在。

2、Peer在一個虛擬的網絡中運行。

3、Peer同時具有Client和Server的特點。

4、多個Peer可以組成為一個Peer組。

從因特網的發展來看,目前已經完全有可能開發新的P2P應用程序來補充和取代現有的集中式應用程序,文件共享程序和聊天程序的成功已經吸引了許多程序員加入P2P程序的開發。而且隨著技術的發展,P2P所面臨的安全、控制和網絡使用的問題將逐步解決。P2P系統可以提供如下功能:

1、Peer的獨立控制能力----用戶將變得非常強大,可以創建自己的組和虛擬網絡,而且可以非常容易地發布自己的資源。

2、可靠性----P2P系統是任何人都可以獲得的可靠系統。

3、擴展性----P2P系統的用戶數量可以急劇膨脹,可以與最大的集中式系統媲美。

4、性能----各種資源之間可以協同工作來有效地解決問題。

P2P是一種基於互聯網環境的新的應用型技術,主要為軟件技術,P2P網絡應用發展可能要涉及到4個方面關鍵技術:

1) 對於互聯網上眾多計算機,P2P應用比其他應用要更多考慮那些低端PC的互聯,它們不具備服務器那樣強的聯網能力,同時對於以往的P2P應用技術,現在的硬件環境已經更為復雜,這樣在通信基礎方面,P2P必須提供在現有硬件邏輯和底層通信協議上的端到端定位(尋址)和握手技術,建立穩定的連接。涉及的技術有IP地址解析、NAT路由及防火牆。

2) 在應用層面上,如果兩個Peer分別代表兩家不同的公司,而且它們已經通過互聯網建立連接,那麼一方的信息就必須為另一方所識別,所以當前互聯網上關於數據描述和交換的協議,如XML、SOAP、UDDI等都是一個完善的P2P軟件所要考慮的

3) 有通信就要有安全保障,加密技術是必須要考慮的。

4) 其他需考慮的有如何設置中心服務器,如何控制網絡規模等。

與P2P相關技術,有許多其他的技術被稱做P2P,或者與P2P相關,或者可以被當作P2P使用,主要是以下幾方面內容:

1、JINI技術;

2、軟件代理(Agent)技術;

3、JXTA的競爭者(Gnutella和Freenet等);

4、Web Services技術。

JXTA設計目標及層次結構

一、JXTA設計目標

首先,JXTA是為了構建P2P網絡而制訂的一組協議,是處理構建P2P網絡所碰到的問題的解決方法,JXTA標准協議規范介紹如下:

“JXTA由六個協議組成,這些協議是專為特定的、分布式的、對等的網絡計算而設計的。使用這些協議,Peer可以互相合作來建立自我組織、自我管理的對等組,而不必關心它們在網絡中所處的位置(在網絡邊緣或者防火牆的後面),並且也不需要集中的管理機構。”

因此JXTA的核心是六個協議,其次,JXTA是P2P應用程序開發的運行平台;目前JXTA首先推出了基於Java的參考實現,提供了支持六個協議的Java API,JXTA還將推出包括C語言在內的其他編程語言的API,JXTA在設計時有如下幾個目標:

1、操作系統無關

2、語言無關

3、為P2P應用提供服務和基礎

從本質上講,JXTA的目標是希望在任何設備,從台式機到PDA、汽車、洗衣機等設備都可以支持P2P編程。這裡有幾個概念上的目標,它們包括:

1、使用組來組織Peer並且在組內提供服務和應用的環境。

2、組可以使用認證和驗證方式來控制組內的訪問權限。

3、通過網絡來發布關於Peer和網絡資源的信息。

4、通過系統來發布各種請求。

5、提供一個基礎平台,供Peer之間做路由和通信。在防火牆或者其他障礙後面的Peer之間的通信也是這個目標中很關鍵的一部分。

6、供一種機制允許Peer之間可以彼此監視狀態和資源。

除此之外還有一些其他目標,例如加密、支持不同的通信協議、易用性、穩定性和性能等,所有這些目標在設計JXTA協議和最初的Java API時,都被考慮到,另外,開發人員和Sun公司的管理者還考慮了以下目標:

1、系統應該允許任何設備直接加入到JXTA網絡中去。

2、系統應該允許ISP對網絡上的Peer進行集中管理。

3、系統應該支持數字產品版權的管理,例如購買的軟件、音樂CD、電影等。

4、封裝和抽象一些特定的核心功能,以便產生出商業方面的應用。

從上面列出的目標可以看出兩點,首先要讓企業覺得使用JXTA可以使自己對系統進行控制,原因在於大部分P2P系統沒有集中式的管理,所以在應用中不受企業的歡迎;其次,對於硬件或者軟件提供商來說,JXTA系統需要能夠創造出利潤。

根據以上這些目標,JXTA被設計成企業可以接受的、容易維護的、健壯的,並且能夠滿足任何P2P應用的概念。

二、JXTA的層次結構

JXTA由三層組成,如圖1所示。第一層是JXTA核心層,它包含了服務所需要的核心功能;第二層是服務層,它提供了訪問JXTA協議的接口;第三層是應用層,它使用服務來訪問JXTA網絡和JXTA提供的功能。這樣的設計和一個標准的操作系統比較相似,標准的操作系統包括核心操作系統、服務和應用程序。

圖1 JXTA的層次結構

各層的說明如下所示:

1、核心層(JXTA Core):這一層封裝了最根本的東西,包括Peer、對等組、Peer發現、Peer通信、Peer監視和相關的安全原語。

2、服務層(JXTA Services):這一層包括對於P2P網絡不是必需的、但很通用的功能,如查找、共享、索引、代碼緩存和內容緩存的機制。

3、應用層(JXTA Application):這一層包括了應用JXTA服務開發出來的完整的P2P應用程序,例如myJXTA,JXTA-CAD等應用程序。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved