2012-04-18 69 views
3

此問題更多基於設計細節而不是特定的編程問題。我希望SO的人不介意這樣的問題。使用Java客戶端和JBoss實現推送技術Webervices

我正在設計一個具有兩個寬泛組件的應用程序。

組件1 - >使用JBoss 5.1.0服務器託管在雲中的中央服務器。我們希望在我們尋求的解決方案中使用該基礎設施。我們將這個解決方案基於JBossWs並使用基於POJO的Web服務。

組件2 - >是遠程部署的Java客戶端,負責收集數據。

我們目前有一個架構,客戶端輪詢服務器的配置細節,然後指示客戶端何時開始收集數據(以及其他內務處理任務)。一旦客戶端收到響應,就相應地配置它自己。

這支持預定的數據採集,以便在收到數據收集時間時,客戶端啓動數據採集過程,然後將結果上載到服務器。

這裏可能會成爲問題的一種情況是,當配置發生變化時,到達客戶端的這種更改發生不可避免的延遲,直到下一次輪詢後客戶端接收到新配置爲止。爲了避免這種情況,我們希望在這裏實施某種「推送」技術,類似於基於網絡的應用中的「Comet」。

有沒有人實施過類似的事情,或者他們有什麼設計見解可以分享?我們注意到,我們有一個更重量級的解決方案,涉及從雲端向客戶端發起的入站請求,但這對於具有DMZ設施和其他適當安全措施的大型企業部署來說更適合。

問題:

  1. 是將JBossWS是正確的WebService引擎一起去?從我們所閱讀的內容來看,它看起來很受歡迎,並且仍然是事實上的標準。
  2. 任何框架都可以幫助實現基於「客戶端推送」的解決方案來與基於JBossWS和Java的客戶端通信?
  3. 在設計/實現這種應用程序時,我們應該考慮哪些特定情況或場景?
  4. 任何可以基於此類應用程序的開源框架?我們使用併爲開源項目做出貢獻,併爲我們提供選擇。

回答