2017-10-14 160 views
0

我想用JBoss(或GlassFish)和JSF 2.0開發一個使用Java EE的SaaS應用程序。雖然最終的應用程序將主要部署在標準的客戶端/服務器應用程序中,但出於多種原因,它還需要作爲獨立應用程序部署在本地計算機上(Linux或Windows)。如何將J2EE客戶端/服務器應用程序部署爲獨立解決方案?

我不想開發我的應用程序(客戶端/服務器和獨立)的2個版本。除此之外,我還想避免在每臺客戶端機器上手動設置一個完整的本地服務器來託管應用程序。

因此,我想知道是否有任何解決方案在本地計算機上輕鬆進行部署(使用單個安裝程序或某種容器)Java客戶端/服務器應用程序?

回答

2

對於JBoss/Wildfly,我建議您查看Wildfly Swarm。最終它會創建一個.jar文件,該文件可以在命令行上運行,如java -jar myjarfile.jar。您仍然需要弄清楚如何啓動它(並且用戶需要安裝JVM),但不需要安裝完整的服務器。你沒有提到它,但是有Spring Boot,如果你使用的是Spring,它的功能非常類似。

您的應用程序需要將客戶端和服務器端打包成可能是單個.war文件,該文件將打包到可運行.jar文件中。您還需要某種方式向客戶端應用程序指出服務器所在的位置 - 它是localhost還是您的標準網站。

你沒有提到你是否有任何類型的數據庫後端,但這需要類似嵌入式H2或Derby數據庫的東西包含在「uberjar」中用作後備存儲。

+0

Thx。是的,我確實需要一個數據庫。我想過使用標準的MySQL數據庫。我是否應該將標準Web應用程序也使用嵌入式數據庫? –

+0

我建議H2或Derby的原因是它們都是Java。 MySQL是一個本地可執行文件,這意味着您需要爲Linux和Windows分別提供不同的版本。我不相信你可以用Swarm或Spring Boot打包所有這些。除了Docker解決方案之外,您正在進入非常複雜的部署。你真的需要「預置」版嗎? – stdunbar

+0

是的,不幸的是,這是客戶要求將平臺作爲SaaS和內部部署解決方案。最初,他希望我們開發2個不同的版本,但它是雙重工作...... –

相關問題