從早期的ICQ、Napster,到現今當紅炸子雞的MSN、Skype,Peer-to-Peer軟體已經成為新一代Internet的重要應用,將任何一個在Internet上的使用者聯繫得更緊密。
JXTA原本是在Sun Microsystem內部由Bill Joy與Mike Clary發起的研究計畫,它定義了一系列開放標準的傳輸協定,提供任何可以上網的設備通訊及協同運作,廣泛包含了即時通訊、資源共享、線上聊天、電子白板等流行應用。它可以不需要透過集中式的伺服器,即可在機器之間共享資源。每個上網的設備同時扮演了主(Server)及從(Client)兩種角色。如此解決了早期的P2P軟體開發人員自訂封閉式傳輸協定的問題,也更為提高不同廠商P2P產品之間的互通性(Interoperability)。另外,它支援多種不同的作業系統及開發語言(Java、C、Perl、Python等),讓更多對JXTA有興趣的同好們可以體驗。透過這樣的技術,未來的MSN也有機會跟Skype交談。
深入淺出,引領你進入P2P殿堂
本書的定位適合對P2P完全沒概念,但已經有Java程式撰寫經驗的讀者們。主要分成四大部份討論。第一部份先介紹P2P的基本觀念(Peers、 Peer Groups、Modules、Services、Advertisements等),JXTA的技術規格與架構,相關的核心組成元件,以及P2P會運用到的相關技術。若你對P2P領域完全陌生,這個部份可以讓你奠定完整的理論基礎。為了讓讀者方便理解,也專章介紹了JXTA專案提供的工具程式:JXTA Shell及myJXTA。JXTA Shell所提供的指令可讓讀者了解JXTA架構下的運作方式;而myJXTA(instantP2P)則是一個簡易版的即時通訊程式,可以讓你實際體驗一下JXTA的運作方式。
第二部份便針對JXTA的重點-通訊協定詳細說明。包括提供尋找其他Peers的Peer Discovery Protocol(PDP)、辨析要求與反應訊息內容的Peer Resolver Protocol(PRP)、定義Peer線上狀態的Peer Information Protocol(PIP)、決定點與點之間傳輸路由策略的Peer Endpoint Protocol(PEP)、定義傳輸方式的Pipe Binding Protocol(PBP)、提供訊息轉送傳遞方式的Rendezvous Protocol(RZP)。就Sun所提供的開放源碼中,對於這些傳輸協定都有指定的Java Binding的套件來處理,不需花太多時間在解析協定內容。其他的程式語言亦提供JXTA Binding的機制供開發者使用。
鉅細靡遺,一步一步教你撰寫P2P程式
第三部份則基於前兩大部份的理論基礎,開始討論如何以Java實作JXTA P2P程式。從一個簡單程式談起,讓讀者可以一步步搭建JXTA P2P的程式骨架,介紹如何透過不同的管線(Pipes)機制在點與點之間進行訊息交換。在資訊安全的議題上,本書亦專章提到如何透過JXTA Security套件來實作資料加密、身份驗證、及數位簽章等機制。而在防火牆(Firewall)及NAT(Network Address Translation)架構下的網路環境,如何使JXTA能運作順利,也是實作中常遇到的問題;另外在資料的儲存上,本書也針對分散式運算及高可靠度(High Availability)的儲存系統需求,利用JXTA多樣化的Pipes機制,提供多層式的設計架構,發揮分散式運算的效益。
最後便將一些JXTA相關資料彙整於附錄中,本書的附錄內容也不含糊,包括如何建置你的開發環境,安裝JXTA套件及正確編譯你的JXTA程式。由於本書著重在以Java語言開發,所以在附錄中提供了完整的JXTA Java API參考手冊。而搭建在JXTA架構上的應用程式這裡也有介紹,亦提及不同語言對JXTA Binding的支援方式,除了JXTA之外,還有其他與P2P相關的開放源碼專案,以及其他廠商(IBM、Microsoft等)提供的開發工具套件。
避開P2P所引發的法律議題不談,這樣的技術是讓人興奮的,作者的用心,在本書中都可以看得到,包括詳細的Java程式碼說明,書末的附錄資料,更讓你只要擁有這一本書,就可以自己搞個像樣的P2P程式。透過這些內容,再加上你的創意,相信必然有驚人之舉。
Mastering JXTA: Building Java Peer-to-Peer Applications
Joseph D. Gradecki, Joe Gradecki /著
Wiley出版
售價:45美元
推薦:Amazon五顆星
《作者簡介》陳宏一
交通大學資訊管理研究所碩士,現任億訊國際資深顧問。曾任職於南亞科技資訊部工程師、資迅人網路研發副理、艾群科技產品研發部經理,專精於OOAD、J2EE 相關技術、Open Source、資料庫設計、軟體開發流程及專案管理等;取得SCJP、SCWCD、SCJD、SCEA、ITIL等認證。曾經歷大型社群及電子商務網站、WAP/3G行動加值服務、CTI/CRM客服系統架構規劃設計等。
他的電子信箱是:aone.tw@gmail.com。
熱門新聞
2025-12-12
2025-12-12
2025-12-12
2025-12-15
2025-12-12
2025-12-12