我们目前正在开发一个大学项目,我们希望将其作为逻辑模块和UI模块来实现。我们没有经验部署Web应用程序,但是我们提出了以下方案:部署Java应用程序(Tomcat/Glassfish)
- 部署它作为一个WAR项目(这将解决我们的问题,关于我们的应用程序的后端通信的UI)。
- 使用webservices将两个WAR项目部署到同一个服务器中,以便在项目之间进行通信。 (我们有一个使用Tomcat服务器部署的这种方法的原型)
- 部署一个WAR项目和EJB项目。
- 部署一个EAR项目,该项目将包含对WAR和EJB项目的引用。 (我们有一个使用这种方法在Glassfish服务器上部署的原型)
我们想知道这些替代方案中的任何一个是否不正确,或者是否有任何替代方案比另一方案更好。具体来说,为什么将项目部署为EAR模块会有用(或不是)?
该项目现在开始,所以我们现在只能处理几百个用户。但是,如果项目成功,我们需要处理几百万用户。
感谢您的回复。但是现在我有另一个问题。如果我们决定将该项目部署为多个WAR,那么应如何完成WAR之间的通信?我们正在考虑使用ApacheCXF web服务,但我们了解到使用EJB在性能方面会更好。另外,我们能否以更好的方式实现这一目标? (我们是否还应该阅读关于JMS和OSGi?) – user2100776 2013-02-23 18:10:29
Web服务在标准中有很好的定义,并且存在良好的安全机制以及跨平台支持,但它们也很复杂,实现起来有些脆弱,而其他一些手段可能更具性能就像你说的。没有人会回答你应该使用哪种方法,这取决于你的用例。 JMS具有高性能,xa意识和持久性,并且比OSGi更易于理解,我会说,但它们也都是可能的。 – eis 2013-02-23 18:22:18
非常感谢您的建议。 – user2100776 2013-02-23 18:38:14