带有Swing和Web GUI的Java App

时间:2014-09-27 13:00:53

标签: java swing web-services user-interface ejb

我需要为内部用户为特定业务构建桌面应用程序。它还需要外部用户使用基于Web的GUI。我知道,使用Web GUI,内部和外部用户都可以访问它,但是有一些因素是我们无法控制的 - 因此,桌面应用程序确实是不可避免的。出于这个问题的目的,我想重点关注支持桌面客户端(Swing)和浏览器客户端的方式。

是否有任何最佳做法可供遵循?我能想到以下几点:

  1. 将服务类公开为Web服务,并使用Swing客户端和Web客户端
  2. 将服务类公开为EJB(业务是Java EE技术)并使用Swing客户端作为EJB客户端。 Web客户端可以使用控制器类与EJB交互
  3. 除了Web服务提供的技术不可知论之外,使用这两种方法是否有任何已知的好处?

    此外,对于swing客户端,我正在考虑使用Java Web Start进行轻松分发。我以前从未使用它,但从我的理解,它可以支持启动时的自动版本检查,并在需要时更新客户端 - 这是正确的吗?

1 个答案:

答案 0 :(得分:0)

如果您需要避免在浏览器上依赖Java / JVM(您最不希望这样),那么您应该采用混合Swing-Vaadin方法。使用Swing或JavaFX构建内部应用程序,使用Vaadin构建Web部件。 Vaadin中的编程模型非常接近典型的桌面UI库,相同的开发人员很容易使用这两个代码库,当然您将使用完全相同的后端。

请参阅我最近制作的the example application以演示此类设置。