浏览器和java组件之间的通信

时间:2014-06-19 10:33:00

标签: java javascript spring java-ee web

我目前正在处理销售点申请。 我们有一个基于java的现有系统,它使用javapos与设备集成(如收据打印机,现金抽屉,MSR等)。 现在我们正在尝试将基于java的胖客户端移植到服务启用,因此它被设置为成为由html5和spring webservice支持的Web应用程序

我的问题是将设备集成到网络即浏览器中,以便收银员可以从浏览器访问销售点应用程序。

如何将设备现在集成到网络应用程序中。我有一个选择是在寄存器中部署一个java组件,并通过websocket将它传递给浏览器。

浏览器< - > websocket< - >本地系统中的java设备组件

有没有更好的方法呢?我需要的技术使我能够做到这一点。

我也考虑了applet,但问题是本地java组件有点大,每个系统都有不同的设备驱动程序。

2 个答案:

答案 0 :(得分:0)

JavaFX提供了一个相当不错的Web浏览器组件,可以在页面中运行的Javascript代码和外部的Java代码之间轻松进行通信。您可以移植您的应用程序,以便:

  1. 它使用JavaFX,仅使用浏览器组件打开一个窗口并将其指向您的Web应用程序
  2. 正常实施网络应用程序 - 它将显示在浏览器组件
  3. 在JavaFX应用程序中移动特定于设备的Java代码,将其方法公开给浏览器;现在,Javascript代码将调用Java,并且(希望)您将能够重用大部分现有代码,当然不包括UI代码
  4. A" Hybrid" JavaFX / HTML应用程序示例是iBreed(它是一个可以实际使用的框架)。

答案 1 :(得分:0)

我认为你可以让它发挥作用,但你还需要一个软件。

  1. Webserver(托管HTML文件和API)
  2. 客户端PC(在浏览器中运行HTML前端)使用连接设备
  3. 在客户端PC上运行
  4. 服务,并为所连接设备提供Web-API
  5. 我认为,这与您在websockets中提到的方法完全相同。 (Ony适用于较旧的浏览器)。

    看看气氛。这可以帮助您完成websocket的工作: https://github.com/Atmosphere/atmosphere