桌面应用程序如何与Web应用程序通信?

时间:2010-12-23 14:44:27

标签: java gwt desktop-application

我在Java appserver后端运行了一个桌面EXE应用程序和一个GWT web应用程序。我如何在桌面应用程序中执行操作,例如单击在webapp中执行某些操作的按钮?我们可以启动一个浏览器,但之后的进一步交互呢? 如果用户切换回桌面应用程序并执行某些操作,我们是否可以在需要时将浏览器重新置于顶端?

它们都连接到同一个后端应用程序服务器,因此可以通过服务器进行相反的通信(webapp到桌面应用程序)。

更新

我们正在检查Web应用程序中的applet:通过设置一些权限,它可以在本地用户的网络上进行通信,以便与现有桌面应用程序的包装器进行通信。我们将看到响应能力如何。

3 个答案:

答案 0 :(得分:1)

我可能会提出更多替代方案,但我看到的快速解决方案如下:

  1. 公开Web服务/ REST /适合的任何内容,以便您的桌面应用程序可以以客户端 - 服务器方式交换信息
  2. 使用桌面应用中的GWT RPC服务。我认为这应该是可能的,快速搜索显示了这一个:Java on Gems

答案 1 :(得分:1)

您可以通过Web服务公开服务器应用程序的功能。 SOAP或REST是标准的。然后,您可以从桌面客户端调用这些服务。使用Java,JAX-WS和JAX-RS涵盖了这些内容。哪个有多个实现。 Metro,Jersey,CXF,RESTEasy。

从技术上讲,您可以编写可以与桌面应用程序通信的浏览器扩展,然后修改/与页面交互,但这将更难创建和维护。

答案 2 :(得分:0)

无法直接从Web应用程序到桌面应用程序进行通信..您应该使用中介..

此外,您必须使用长轮询gwt应用程序来从桌面应用程序获取命令。