因此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等應用程序。