我目前正在为网络调整桌面摇摆应用程序。
我正在将前端迁移到Angular.js应用程序,并将大部分后端业务逻辑保留原样(目标是微创并使我们的第一次迭代工作正常)。我将主要通过REST调用与后端服务进行交互。从理论上讲,这应该有效。
但是,我有一点打嗝。在继续或调整其任务处理之前,当前形式的应用程序依赖于对用户的大量提示。这些通过桌面摇摆应用程序完成,通过同步警报处理(所有这些都隔离在一个类中,幸好),结果响应影响应用程序流。
例如,将字段字符串解析为数字之类的内容可能会通过警报处理:
if (Alert.convertStringsToNumbers()) { // blocking call. Response is boolean value
// continue processing
} else {
// abort
}
为了保持Web应用程序版本的高性能,而不采用长轮询,我们的想法是将同步警报换成websocket通信。但是,由于套接字是异步的,我不确定如何暂停处理任务,直到用户响应对话框。
注意,我在过去的5年里主要从事JS工作,所以我假设有一些非常简单的方法可以做到这一点,我只是不熟悉Java。
如果有帮助,我将使用Tomcat 7和他们的catalina实现的websockets,而不是标准的Java EE 7版本(最终在Tomcat 8中得到支持)。
它是否像在runnable中包装警报一样简单,并在将控制权返回给应用程序的其余部分之前等待响应?或者需要更复杂的东西?
更新根据以下评论,并澄清: 练习的重点是将大部分应用程序作为服务推送到服务器。使用Angular.js,前端将完全基于浏览器。为了快速推出这个版本,我想对同步api进行微创更改,以允许通过websockets进行包装,异步通信。