将外部数据导入Web应用程序

我是一位经验丰富的应用程序开发人员,他现在必须开发一个我没有太多经验的Web应用程序。

我正在开发一个有许多分布式服务器组件的项目。 它目前有一个客户端应用程序,用于监视这些组件,查看警报和日志等。每个服务器机器的状态通过专有协议通过tcp / ip提供。

当前基于UI的应用程序有一个线程,它不断监视消息的套接字连接,并且一旦收到了内存中所有内容的当前状态,然后将其显示给用户。

我的问题是如何在Web应用程序环境中实现类似的功能。 我的第一个想法是在服务器启动时创建一个类似的comms线程,然后当用户请求数据时,响应是从内存数据建立起来的,但是阅读关于启动自己线程的web应用程序是不好的做法。

我已阅读了一些关于使用Quartz或TimerTask在Web应用程序中运行定期计划任务的内容,但此任务更为连续。 它仍然是要走的路吗?

我正在使用在Linux上运行Tomcat的JSF开发Java应用程序。 哦,应用程序的并发用户数量很少。 (最多25个,但更可能2或3个)


方法1

使用Quartz是很好的。 建议不要使用TimerTask。

方法2

我假设Web应用程序有某种数据库。 由于您需要根据用户请求显示状态,因此不能实时执行可编写的独立守护程序应用程序(而不是Web应用程序),该应用程序将读取服务器状态并更新Web应用程序可见的表。 当用户请求发出时,这个表格可以被称为产生输出。


为什么要使这成为服务器的关注 在您的客户端(浏览器)中,您可以轮询当前状态并根据显示进行调整。 这样做会消除很多复杂性。

至于你的客户将如何更新,这取决于你的应用程序。 如果您只允许使用现代浏览器,则可以查看HTML5 WebSockets。 其他选项是使用AJAX进行屏幕的部分更新或完整的屏幕刷新。

链接地址: http://www.djcxy.com/p/38921.html

上一篇: Getting external data into web application

下一篇: iis