【问题标题】:How to deploy a J2EE Client/Server application as a standalone solution?如何将 J2EE 客户端/服务器应用程序部署为独立解决方案?
【发布时间】:2018-03-26 12:42:51
【问题描述】:

我想使用带有 JBoss(或 GlassFish)和 JSF 2.0 的 Java EE 开发一个 SaaS 应用程序。虽然最终应用程序将主要部署在标准客户端/服务器应用程序中,但出于多种原因,它还需要作为独立应用程序部署在本地计算机(Linux 或 Windows)上。

我不希望开发我的应用程序的 2 个版本(客户端/服务器和独立)。此外,我还想避免在每台客户端计算机上手动设置完整的本地服务器来托管应用程序。

因此,我想知道是否有任何解决方案可以在本地机器上轻松部署(例如使用单个安装程序或某种容器)Java 客户端/服务器应用程序?

【问题讨论】:

    标签: jakarta-ee deployment client-server saas


    【解决方案1】:

    对于 JBoss/Wildfly,我建议查看 Wildfly Swarm。最终它所做的是创建一个单一的.jar 文件,该文件可以在命令行上使用java -jar myjarfile.jar 之类的东西运行。您仍然需要弄清楚如何启动它(并且用户需要安装 JVM),但您不需要安装完整的服务器。你没有提到它,但如果你使用 Spring,Spring Boot 会做非常相似的事情。

    您的应用程序需要将客户端和服务器端打包到可能是单个.war 文件中,该文件将打包到可运行的.jar 文件中。您还需要某种方式向客户端应用程序指示服务器所在的位置 - 它是本地主机还是您的标准网站。

    您没有提及是否有任何类型的数据库后端,但这需要将嵌入式 H2 或 Derby 数据库之类的东西包含在“uberjar”中以用作后备存储。

    【讨论】:

    • 谢谢。是的,我确实需要一个数据库。我考虑过使用标准的 MySQL 数据库。我是否应该将嵌入式数据库也用于标准 Web 应用程序?
    • 我建议 H2 或 Derby 的原因是它们都是 Java。 MySQL 是本机可执行文件,这意味着您需要为 Linux 和 Windows 提供单独的版本。我不相信您可以使用 Swarm 或 Spring Boot 打包所有这些。缺少 Docker 解决方案,您将进入相当复杂的部署。您真的需要“内部部署”版本吗?
    • 是的,不幸的是,这是客户要求将平台同时作为 SaaS 和本地解决方案的要求。最初,他希望我们开发 2 个不同的版本,但这是双重工作......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2012-06-17
    • 2013-07-15
    • 2019-07-01
    • 1970-01-01
    相关资源
    最近更新 更多