我们目前正在为大学开发一个项目,我们希望将其实现为逻辑模块和 UI 模块。我们几乎没有部署 Web 应用程序的经验,但是我们提出了以下替代方案:
- 将其部署为单个 WAR 项目(这将解决我们在将 UI 与应用程序后端通信时遇到的问题)。
- 使用 Web 服务在同一服务器上部署两个 WAR 项目,以便在项目之间进行通信。(我们有一个使用这种方法的原型部署在 Tomcat 服务器上)
- 部署 WAR 项目和 EJB 项目。
- 部署一个包含对 WAR 和 EJB 项目的引用的 EAR 项目。(我们有一个使用这种方法的原型部署在 Glassfish 服务器上)
我们想知道这些替代方案中是否有任何一个不正确,或者是否有任何替代方案比另一个更好。具体来说,为什么将项目部署为 EAR 模块有用(或没有用)?
该项目现在正在启动,所以我们现在只会处理几百个用户。但是,如果项目成功,我们将需要处理数百万用户。