摘要:JXTA作為專為P2P網絡構建的協議,為開發P2P上層應用程序提供了便利、通用的底層平臺。在研究了P2P技術和JXTA架構的基礎上,應用P2P技術,以JXTA協議為支撐,結合現代企業辦公的特點及功能,設計并實現了一個更適用于現代企業辦公的平臺。
關鍵詞:JXTA P2P 辦公系統
隨著近年來網絡和信息技術的進步,越來越多的企業通過采用靈活的企業結構實現了更高的效率和效益。企業辦公系統的發展也經歷了從大型主機模型到客戶/服務器模型,再到互聯網計算模型,直到今天的P2P模型。這個發展趨勢以離散化和分布化的特點,更好地實現了企業辦公系統中的協同。
1 P2P技術和JXTA概述
1.1 P2P技術
P2P的基礎是節點之間的對等性,在P2P的對等性特性中,節點被定義為任何具有信息處理能力的實體。
P2P網絡中各節點具有相同的責任與能力并協同完成任務。對等節點之間通過直接互連共享信息資源、處理器資源、存儲資源、高速緩存資源等,無需依賴集中式服務器或資源。[1]P2P網絡的特點是使得非互連網絡用戶(對等體)很容易加入到系統中,能隨時離開而不會影響到其他對等體,這有別于傳統的網絡組織方法,而是一個典型的文件系統。每個對等體有效地管理自己的資源;最重要的是,在P2P模式的網絡中,系統是一個分散化系統,并支持混合模型[2]。
傳統的辦公系統都是基于客戶/服務器(C/S)模式或客戶瀏覽器 (B/S) 模式,通過一個功能強大的服務器為組內成員提供協作。這種體系結構不靈活,協作用戶越多,就需要功能更強大的服務器,本質上是不可伸縮的。最致命的是系統要受到服務器的限制,服務器成了系統運行和安全的瓶頸。另外,由于NAT和防火墻的存在限制了不同物理網絡之間的通信。而P2P網絡是建立在現有網絡之上的更強調功能應用的邏輯網絡,以反集中和實現多個節點的并行工作為主要特點,強調節點的自由工作,更能體現協同工作的特點。
1.2JXTA 概述
SUN公司開發的JXTA協議簇為P2P的應用提供了一個很好的開發平臺[3]。這套協議被設計用于提供對對等節點形成的動態網絡所需的通用功能的支持。它獨立于操作系統、開發語言和網絡傳輸協議。從本質上講,JXTA的目標是希望在任何設備上,從蜂窩式電話、無線PDA(個人數字助理)到PC等都可以支持P2P編程。
JXTA描述了使用三層結構的典型P2P應用程序[4] ,這三層包括核心層、服務層和應用程序層。
核心層的功能是對通信、路由選擇和P2P的連接管理。封裝了對于P2P網絡來說共有的最小和基木的原語;包括了協議和支持P2P網絡連接的基本部件,這些部件包括資源檢索、消息傳輸、安全性以及對等節點和對等節點組的創建。所有P2P解決方案都將共享這一層的所有元素。
服務層為支持很多P2P應用程序所需的通用服務提供了接口,但并不是所有的P2P應用程序都會使用這些接口。這些接口包括索引、分布式信息檢索、文件共享和對等節點認證等。
應用程序層包括可運行于P2P網絡中的綜合性應用程序,這些程序包括文件共享、分布式存儲以及實時應用程序等。這些應用程序之間的關系既可能是一種“上下級”關系,也可能需要實現和其他基于JXTA內核開發的應用程序間的互操作性。
2 辦公系統的設計與實現
2.1 辦公系統的功能模塊
本文設計的企業辦公平臺,不僅方便企業內部成員的協同工作,也能提供企業成員遠程接入。其功能的組織主要是以服務員工為中心,讓員工的工作內容在辦公平臺上進行有效的實現,并能夠及時地獲得他所關心或對他有用的信息,建立一種個性化的服務模式,提高辦公效率和準確率,降低辦公成本。
考慮到協作的需要,辦公系統具有“文件共享”和“即時通信”兩個基本功能。對于“文件共享”功能,在設計時加入了基于用戶的訪問權限管理,每個被共享的文件,都有一個可訪問的用戶ID列表列出哪些用戶可以看到并下載該共享文檔,而不是讓共享文件對其他人都可訪問,從而保證工作過程中數據的安全性。“即時通信”功能負責發送和接收即時消息,用戶在協作時,可以給當前在線的其他協作者發送消息,雙方進行互動。
由此,該系統包含的功能模塊主要有日程安排、文件管理、任務管理、手機短信發送,聊天、電子郵件、留言、信息匯總等。
2.2 系統的設計與實現
本文設計實現的總體目標是基于P2P技術構建辦公平臺。該平臺具有三層結構,如圖1所示。

各層的功能:
(1)基本層:硬件基礎層,該層是由操作系統及基本網絡部件組成。主要完成數據傳輸、信息存儲及其它訪問系統資源的功能,使多用戶與分布性成為可能,提供具有基本分布功能的編程接口。
(2)中間層
平臺的中間層是核心層,主要功能是將企業中位于不同網絡中的對等體或對等組組成的物理網絡映射成虛擬的P2P網絡,并為上層實現P2P通信及群組和節點的管理提供了相應的API。網絡的映射是由位于該層底部的 JXTA 協議實現,并通過虛擬管道建立起計算機之間的通信,通信傳遞的消息都是XML格式,并且遵守 TCP/IP 協議。如果在遇到網關限制,網絡防火墻等問題時,消息傳遞遵守 HTTP 協議,所以平臺性能不會因網絡通訊協議限制而下降[5]。另外,虛擬網絡中所有的機器都安裝相同版本的程序(代理),由程序運行后根據自身探測到的網絡狀態自動進行配置,自組織形成網絡拓撲結構并進行通信,協同完成某項任務。但也可以通過在應用程序中增加一個配置文件,通過手工修改配置文件達到配置節點參數的目的。
(3)應用層
應用層調用中間層提供的服務和通信功能實現本層的任務,為用戶提供協同辦公過程中的工具、服務或應用。系統用戶通過用戶界面直接與應用層交互。通過應用層提供的文件服務接口,用戶看到的將是一個虛擬的存儲空間,用戶可以上傳、下載、共享自己的文件,也可以訪問由其它用戶共享出來的文件。在應用層中,可以利用系統提供的文件存儲共享功能,開發各種應用。另外,本系統提供給用戶的客戶端工具主要有名片、討論板、日程、白版等。
總結
目前,P2P 技術發展很快,在很多領域都已經得到了應用,并取得了一定的成果。而JXTA作為專為P2P網絡構建的平臺和協議,為開發P2P上層應用程序提供了統一、便利、通用的底層平臺,具有很強的獨立性和可擴展性。本文中研究的以P2P技術和協同工作為主要特征的辦公自動化系統,能夠克服客戶/服務器體系結構的弱點,在協同工作和資源全面共享方面表現出較強的優勢,體現了該領域的發展方向。
參考文獻:
[1]吳易,王凌.JAVA技術在P2P環境下的應用[J].微計算機信息(測控白動化),2005,21(3):75-78.
[2]沈笑莉,王光明.P2P環境下基于Web服務的電子商務模型研究[J].計算機工程與設計,第2007,28(1):81-84.
[3] Robert FlennerMichael Abbott等著.高嶺,劉紅等譯.Java P2P技術內幕[M].北京:人民郵電出版社,2003.
[4]Windsor Hsu,Alan Smith.The performance impact of I/O optimizations and disk improvements [J]. IBM Journal of RD,2004,48(2):255-289.
[5]常曉波,李靜.JAVA P2P程序設計[M].北京:中國電力出版社,2003.
[6]Emir. Halepovic,Ralph. Deters,“The costs of using JXTA”.ThirdInternationalConference.