第一章 導言
JXTA是一整套開放的、一體化的P2P協議,它能使任何連接到網絡的設備,包括手機、PDA、個人PC以及服務器,作為對等體進行通信和協作。JXTA協議獨立於任何編程語言,可執行在不同的環境之下。本文專門介紹JXTA綁定在Java" 2平台,Standard Edition software(J2SE™。
為什麼使用JXTA
目前網絡在內容和聯網設備數量兩方面不斷增長,P2P計算已經變得越來越受歡迎。基於P2P技術的流行軟件包括,文件共享、分布式計算和即時消息服務。當這些應用執行不同任務時,他們都會用到一些相同的機制,比如對等點的發現、搜索和文件或數據的傳輸。當前,應用程序的開發是低效的,開發者們解決相同的問題,重復那些相似的底層執行過程。並且,大多數的應用程序被限定在一種平台下,不能與其他應用程序通信和共享數據。
JXTA要實現的一個主要目標就是提供一個具有P2P網絡所必備的基本功能的平台。除此之外,JXTA技術致力於解決現有的P2P系統中潛在的缺點:
協同性-JXTA技術能使對等體提供多種P2P服務,用於對等體之間互相定位與通信。
平台獨立性-JXTA技術獨立於編程語言,傳輸協議及開發平台。
普遍性-JXTA技術能使任何數字產品連接入網,不僅僅是PC機或某一特定的開發平台。
什麼是JXTA
JXTA是用於P2P計算的開放性網絡計算平台,目的是為peer groups成員開發新的應用程序提供基本的構建模塊和服務。
JXTA為開發P2P應用程序提供了一整套開發協議和開源參考使用方法。JXTA協議標准化了對等體以下幾個方面的方式:
相互發現機制
對等體組自我組織機制
廣告和網絡服務發現機制
相互通信機制
相互監視機制
Java程序語言、C/C++、Perl以及大多數語言都可以實現JXTA協議,並且可以在TCP/IP、HTTP、藍牙等其他協議之上執行。
JXTA技術能做什麼
使用JXTA技術,開發人員能夠編寫基於網絡的、通用性應用程序:
穿過防火牆,使用動態發現機制尋找網絡中的其他節點
輕松的共享網絡中任何人的文檔
找出網絡中站點的細小內容
創建一個提供服務的對等體組
遠程監控節點的活動
為網絡中通信的節點提供安全保障
第二章 JXTATM的體系結構
概述
JXTA軟件體系結構可以劃分為三層:
平台層(JXTA核心)
平台層封裝了所有P2P網絡都必須的基本要素,包括為P2P應用程序提供關鍵機制的構建模塊。這些關鍵機制又包括發現、傳輸、創建對等體和對等體組的機制,以及相互關聯的安全基元。
服務層
服務層包含了並不是P2P網絡所絕對必需的網絡服務,但它們在P2P環境下卻是常見的。這樣的網絡服務包括搜索、索引、發現、存儲系統、文件共享、分布式文件系統、協議轉換以及PKI(公鑰基礎設施)服務。
應用層
應用層提供了集成的服務,例如,P2P即時消息、文檔與資源共享、P2P Email 系統、分布式拍賣系統等。
服務層與應用層之間沒有嚴格的界限。一個客戶的應用將會被看成對另一個客戶的服務。整個系統被設計成模塊化的形式,開發者能夠挑選他們需要的服務與應用。
JXTA組件
JXTA網絡由一系列相互連接的節點、對等體組成。對等體能夠自組織形成提供一套服務的對等體組。由對等體組提供的服務包括文檔共享或聊天等應用。
JXTA對等體以一種叫做廣告的XML文檔發布其服務,廣告能夠通知網絡中其它對等體如何連接上一個對等體的服務。
JXTA對等體之間通過管道發送消息。管道是一種用於服務通信的異步、單向消息傳輸機制。消息是封裝了路由、摘要及認證等信息的XML文檔。管道被綁定到特定的端點,就像在TCP傳輸協議中的端口和特點的IP地址連接起來一樣。
JXTA體系結構中的關鍵部分
三個特征使得JXTA架構和其他的分布式網絡模式相比更加優越:
利用XML格式的文檔來描述網絡資源的存在
更加靈活的命名機制,拋棄了對傳統的中心命名機制DNS的依賴,采取了管道到對等點、對等點到端點的抽象映射。
采用了一種全局通用對等點地址命名機制,為每個對等點都定義了一個唯一的ID。
未完待續...