【问题标题】:How can a desktop application communicate with a web application?桌面应用程序如何与 Web 应用程序通信?
【发布时间】:2010-12-23 14:44:27
【问题描述】:

我有一个桌面 EXE 应用程序和一个在 Java 应用服务器后端运行的 GWT Web 应用程序。我怎样才能在桌面应用程序中做一些事情,比如在 web 应用程序中做某事的点击按钮?我们可以启动一个浏览器,但是在那之后进一步的交互呢? 如果用户切换回桌面应用并执行某项操作,我们能否在需要时让浏览器回到顶部?

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

更新

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

【问题讨论】:

    标签: java gwt desktop-application


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您可以通过 Web 服务公开服务器应用程序的功能。 SOAP 或 REST 是标准的。然后您可以从桌面客户端调用这些服务。对于 Java,这些由 JAX-WS 和 JAX-RS 覆盖。其中有多种实现。地铁、泽西岛、CXF、RESTEasy。

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

      【讨论】:

        【解决方案3】:

        从 Web 应用程序到桌面应用程序的直接通信是不可能的。你应该使用调解器。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-06-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多