用于监控应用程序的框架

时间:2014-03-26 20:18:28

标签: java spring hibernate model-view-controller frameworks

我们正在开始研究将为多个硬件提供状态的监控应用程序。数据将通过后端进程在Oracle DB上更新,此应用程序必须使用Java开发,并部署在Apache HTTPD服务器后面的WebLogic 12c应用程序服务器上。

由于监控是实时的,我们几乎需要立即刷新数据库中添加的数据。为实现这一目标,我一直在使用以下框架进行一些测试:

  • Hibernate as ORM。
  • Spring 3.0.5。
  • 使用PrimeFaces Push的JSF 2.2和PrimeFaces 3.5(使用大气层)。

我的测试成功,我能够很快得到一些工作。但是,我注意到Atmosphere有一些潜力被PF实现所包含,同样,我不知道这是否是最轻量级的解决方案。

因此,我想问你们是否有其他方法可以解决这个问题,即:

  • Spring MVC + Atmosphere。
  • 其他MVC +其他Comet / WebSocket框架。

显示的大多数数据将用于图表,表格和地图。最大的限制是一切都必须与Java兼容,因为应用服务器不会被更改。

总结一下,我的问题是:

根据我建立的要求和限制,您对此项目建议了哪些备选方案?

如果您需要其他信息,请与我们联系。

1 个答案:

答案 0 :(得分:1)

Spring 4具有良好的Websockets支持,请查看documentation。它可以创建一个websockets端点,并在基于STOMP协议的发布 - 订阅模型中使用它。

此协议是一种消息传递协议,允许订阅主题并接收通知,向所有订阅的侦听器发布主题或向单个客户端发送服务器推送消息。

目前,由于浏览器的限制,Websockets可能不适用于所有用户,未配置代理以转发从HTTP升级到Websockets所需的升级头,或者超时长连接的网络元素。

Spring 4通过SockJS为此提供了很好的支持,如果无法建立Websocket连接,SockJS具有透明的回退功能(对ajax,iframe)。

在这个时代,使用Websockets需要所有这些东西,Spring 4提供了一个完整的开箱即用的解决方案。

看看这个blog post,了解这个解决方案的轻量级,特别是如果与Spring Boot一起使用的话。

如果它是一个前端密集型应用程序,您可以将Spring 4与AngularJs结合使用,以进行前端窗口小部件开发。但Primefaces是一个很好的解决方案,如果它们提供的小部件适合您的需求,它将节省大量的工作。