2012-04-18 70 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. 任何可以基于此类应用程序的开源框架?我们使用并为开源项目做出贡献,并为我们提供选择。

回答