我目前正在为网络改编一个桌面摇摆应用程序。
我正在将前端迁移到 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 最终支持)。
是否像将警报包装在可运行文件中一样简单,然后在将控制权返回给应用程序的其余部分之前等待响应?还是需要更复杂的东西?
根据下面的评论更新,并澄清:练习的重点是将大部分应用程序作为服务推送到服务器。前端将完全基于浏览器,使用 Angular.js。为了快速推出这个版本,我想对同步 api 进行微创更改,以允许通过 websockets 进行打包的异步通信。