国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JXTA Platform JAVA參考實現源代碼分析(1)

2019-11-18 12:18:22
字體:
來源:轉載
供稿:網友

  1.本文目標
  本文是以對JXTA的基本概念有一定理解,并且想進一步挖掘其實現手段的讀者為對象的,因此,將不重復介紹JXTA的一些基本知識。
  
  本文的主要目標是分析初始對等系統是如何構建的,及為什么這么構建(How and Why)。為了確保作者的思路集中使目標得以實現,在此基礎上的各種服務,及端點協議的實現只能作為一種抽象的概念來闡述。另外,平臺實現時所采用的設計模式只會提及名稱,而不會去分析。該系列文章的其他章節將會把他們分為不同的目標逐個闡述。
  
  2.JXTA系統的構建入口
  2.1 概念分析
  
  JXTA的最核心的概念之一就是對等組,它是共享資源和服務的對等機的集合。同樣java參考實現中,就是以對等組為起始的服務平臺。然后,在此基礎上形成了對等機,以及對等發現,對等解析,對等管道,對等成員資格,對等訪問,等協議。
  
  JXTA協議中定義了三個重要的對等組:Null WorldGroup NetGroup
  
  Null 表示為空
  WorldGroup 系統級起始對等組,任何其他對等組(null 除外)均是其后代
  NetGroup 用戶級的缺省對等組,其parentGroup就是WorldGroup
  由于我們現在可能還沒有實例化的概念,所以暫時均不分析協議中為什么如此定義,及其功能劃分的依據。在隨后的類圖及代碼分析中,就自然會明白其中韻味。
  
  2.2 代碼分析
  
  以下是一個對等點構建JXTA對等系統的初始代碼。
  
   PeerGroup netPeergroup = PeerGroupFactory.newNetPeerGroup();
  參考實現中,構建整個系統的框架,采用的是factory模式。這里我們獲得的netpeerGroup就是NetGroup。到目前為止,系統已經構建了WorldGroup,以及建立在其上面的各種服務。并且為用戶缺省的建立了一個對等組NetGroup。本文的目標就是讓我們清楚JXTA系統是如何初始化的,并結合JXTA協議分析這種實現方法的優缺點。
  
  接下來的任務是,首先讓我們對JXTA的參考實現中的對等平臺的主要類的職責有個整體的概念,然后逐步跟蹤各個服務,及端點協議的構建。
  
  3.對等平臺的主要類的分析
  平臺類的類圖見下圖:注釋里簡要的描述了個各類或接口的用途。
  
 JXTA Platform JAVA參考實現源代碼分析(1)(圖一)

  從整體上,由類的繁雜的繼續層次。可以了解到構建完的JXTA對等組及其服務,有不同層次上的需求,例如,PlatForm是系統級的,構建了屬于底層平臺的PeerGroup: WorldGroup。而StdPeerGroup則是一般級別的標準對等組,例如,前文中
  
  PeerGroup netPeergroup = PeerGroupFactory.newNetPeerGroup();
  返回的就是該級別的對等組。雖然這里采用Factory method模式,讓用戶獲得的是外表一致的PeerGroup接口,但提供的用戶仍然是該級別的類服務。
  
  4.深入到代碼層
  初始化對等組及其服務的序列圖如下所示:
  
  PeerGroup netPeergroup = PeerGroupFactory.newNetPeerGroup();
  
 JXTA Platform JAVA參考實現源代碼分析(1)(圖二)

  從圖可以看出,JXTA系統的構件分兩步完成:1.構建對等平臺 2.構建標準對等組。第一步是基礎,1.1.1 init() 和1.2.1 init()均比較復雜,以下將進一步分析。
  
  4.1 對等平臺的構建
  
  流程描述:
  
  從用戶處獲得平臺的基本配置:Configurator
  構建ModuleImplAdvertisement
  在此基礎上,構建了:PeerAdvertisement和PeerGroupAdvertisement
  初始化ModuleImplAdvertisement的端點服務init()
  初始化ModuleImplAdvertisement的端點協議init()
  初始化ModuleImplAdvertisement的其他服務init()
  各項服務依次啟動startApp()
  各項端點協議依次啟動startApp()
  以上大致描述了其過程,具體類的調用關系請看序列圖。其中配置文件PlatformConfig,和三個廣告PeerAdvertisement, PeerGroupAdvertisement, ModuleImplAdvertisement,描述了整個平臺的配置。其中ModuleImplAdvertisement包含了對等組應該提供的服務(service),端點協議(PRotocol)及應用(application)。從xml廣告中,可以獲得標簽為MSID(在PeerGroup以常量形式定義)和Code的元素,這樣可以找到具體實現類的地址及初始化參數。以下是ModuleImplAdvertisement中元素的內容:
  
  七個服務:
  
  net.jxta.impl.rendezvous.RendezVousServiceImpl
  net.jxta.impl.endpoint.EndpointServiceImpl
  net.jxta.impl.membership.NullMembershipService
  net.jxta.impl.discovery.DiscoveryServiceImpl
  net.jxta.impl.peer.PeerInfoServiceImpl
  net.jxta.impl.pipe.PipeServiceImpl
  net.jxta.impl.resolver.ResolverServiceImpl
  四個端點協議:
  
  net.jxta.impl.endpoint.tls.TlsTransport
  net.jxta.impl.endpoint.tcp.TcpTransport
  net.jxta.impl.endpoint.EndpointRouter
  net.jxta.impl.endpoint.servlethttp.ServletHttpTransport
  一個應用:
  
  net.jxta.impl.peergroup.StartNetPeerGroup
  
 JXTA Platform JAVA參考實現源代碼分析(1)(圖三)

  內容:
  1.本文目標
  本文是以對JXTA的基本概念有一定理解,并且想進一步挖掘其實現手段的讀者為對象的,因此,將不重復介紹JXTA的一些基本知識。
  
  本文的主要目標是分析初始對等系統是如何構建的,及為什么這么構建(How and Why)。為了確保作者的思路集中使目標得以實現,在此基礎上的各種服務,及端點協議的實現只能作為一種抽象的概念來闡述。另外,平臺實現時所采用的設計模式只會提及名稱,而不會去分析。該系列文章的其他章節將會把他們分為不同的目標逐個闡述。
  
  2.JXTA系統的構建入口
  2.1 概念分析
  
  JXTA的最核心的概念之一就是對等組,它是共享資源和服務的對等機的集合。同樣java參考實現中,就是以對等組為起始的服務平臺。然后,在此基礎上形成了對等機,以及對等發現,對等解析,對等管道,對等成員資格,對等訪問,等協議。
  
  JXTA協議中定義了三個重要的對等組:Null WorldGroup NetGroup
  
  Null 表示為空
  WorldGroup 系統級起始對等組,任何其他對等組(null 除外)均是其后代
  NetGroup 用戶級的缺省對等組,其parentGroup就是WorldGroup
  由于我們現在可能還沒有實例化的概念,所以暫時均不分析協議中為什么如此定義,及其功能劃分的依據。在隨后的類圖及代碼分析中,就自然會明白其中韻味。
  
  2.2 代碼分析
  
  以下是一個對等點構建JXTA對等系統的初始代碼。
  
   PeerGroup netPeergroup = PeerGroupFactory.newNetPeerGroup();
  參考實現中,構建整個系統的框架,采用的是factory模式。這里我們獲得的netpeerGroup就是NetGroup。到目前為止,系統已經構建了WorldGroup,以及建立在其上面的各種服務。并且為用戶缺省的建立了一個對等組NetGroup。本文的目標就是讓我們清楚JXTA系統是如何初始化的,并結合JXTA協議分析這種實現方法的優缺點。
  
  接下來的任務是,首先讓我們對JXTA的參考實現中的對等平臺的主要類的職責有個整體的概念,然后逐步跟蹤各個服務,及端點協議的構建。
  
  3.對等平臺的主要類的分析
  平臺類的類圖見下圖:注釋里簡要的描述了個各類或接口的用途。
  
  從整體上,由類的繁雜的繼續層次。可以了解到構建完的JXTA對等組及其服務,有不同層次上的需求,例如,PlatForm是系統級的,構建了屬于底層平臺的PeerGroup: WorldGroup。而StdPeerGroup則是一般級別的標準對等組,例如,前文中
  
  PeerGroup netPeergroup = PeerGroupFactory.newNetPeerGroup();
  返回的就是該級別的對等組。雖然這里采用Factory method模式,讓用戶獲得的是外表一致的PeerGroup接口,但提供的用戶仍然是該級別的類服務。
  
  4.深入到代碼層
  初始化對等組及其服務的序列圖如下所示:
  
  PeerGroup netPeergroup = PeerGroupFactory.newNetPeerGroup();
  
  從圖可以看出,JXTA系統的構件分兩步完成:1.構建對等平臺 2.構建標準對等組。第一步是基礎,1.1.1 init() 和1.2.1 init()均比較復雜,以下將進一步分析。
  
  4.1 對等平臺的構建
  
  流程描述:
  
  從用戶處獲得平臺的基本配置:Configurator
  構建ModuleImplAdvertisement
  在此基礎上,構建了:PeerAdvertisement和PeerGroupAdvertisement
  初始化ModuleImplAdvertisement的端點服務init()
  初始化ModuleImplAdvertisement的端點協議init()
  初始化ModuleImplAdvertisement的其他服務init()
  各項服務依次啟動startApp()
  各項端點協議依次啟動startApp()
  以上大致描述了其過程,具體類的調用關系請看序列圖。其中配置文件PlatformConfig,和三個廣告PeerAdvertisement, PeerGroupAdvertisement, ModuleImplAdvertisement,描述了整個平臺的配置。其中ModuleImplAdvertisement包含了對等組應該提供的服務(service),端點協議(protocol)及應用(application)。從XML廣告中,可以獲得標簽為MSID(在PeerGroup以常量形式定義)和Code的元素,這樣可以找到具體實現類的地址及初始化參數。以下是ModuleImplAdvertisement中元素的內容:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金华市| 望谟县| 饶河县| 曲周县| 宁晋县| 安龙县| 新疆| 都兰县| 阿城市| 九寨沟县| 民勤县| 札达县| 九龙县| 广宁县| 昌江| 新安县| 景东| 高青县| 鸡泽县| 巴彦县| 双江| 松原市| 防城港市| 磴口县| 桐柏县| 日照市| 镇平县| 谷城县| 长兴县| 汝城县| 社旗县| 左权县| 富蕴县| 建始县| 平度市| 宁河县| 芦溪县| 巴东县| 浠水县| 天台县| 阿拉尔市|