Lee*_*lla 6 javascript java applet refactoring
我有一个运行的Web应用程序,支持某些特定的硬件.这是通过以下步骤实现的:
这很有效,但看起来很笨重.关于如何改进,我有几点想法,但我不知道哪些,甚至值得尝试.
将hardwareManager设置为socketServer并让applet直接连接到它而不是通过文本文件会更好吗?这甚至可能吗?
有没有办法完全消除applet并让javascript直接与hardwareManager对话?也许通过将hardwareManager编写为本地http服务器?它应该运行什么端口?这里的javascript xss限制适合吗?
使用 Java Web Start 启动 Java 应用程序会不会那么笨重。这将消除守护进程或安装 Java 硬件管理器的需要。
另一种选择是使用 Java 中的内置浏览器。我认为这不是一个选择,因为您严重依赖 Javascript(我想提供丰富的客户端体验)。
如果您已经必须在客户端计算机上安装某些内容,为什么选择使用 Web 应用程序?
经验之谈:我们有一个 Java EE 应用程序,需要打印到客户端的 PoS 打印机。我们安装了一个小型“同步器”应用程序,它通过 SSH 连接并同步所有客户端文件。然后,它加载 JAR 并执行程序。该程序通过 RMI 与服务器连接,并订阅 JMS 队列以接收打印分配。
应用于您的案例:为什么不让您的 Java 应用程序直接连接到服务器?您可以使用 HTTP、SOAP 甚至基于 RMI 的 JMS。然后,您可以从服务器(而不是从有限的 JavaScript Web 浏览器环境)启动硬件命令。通过这种方式,您可以获得大量功能:身份验证、命令缓冲,甚至可以在多个客户端之间共享硬件。
示意图:
<----AJAX------> Web browser
ApplicationServer
<---HTTP/SOAP--> Java hardware manager application
Run Code Online (Sandbox Code Playgroud)
您可以使用 Java Web Start 启动 Java 应用程序,这允许您自动更新应用程序(而不需要向每个客户端传递新的安装程序)。