用于部署用Java编写的分层业务应用程序的模式

时间:2009-07-30 12:34:47

标签: java deployment web-applications maven-2 java-ee

我正在开发一个用Java编写的分层业务应用程序,它应打包为EAR文件并部署到JBoss应用程序服务器。有一个Web应用程序层,一个服务层,一个域层但没有持久层。至少在纸面上。

部署不同图层的最佳做法是什么?在我们的团队中,我们之间发生了一场宗教战争:

  • 将每个图层打包在自己的JAR文件中(例如,在自己的Maven模块中),并将每个模块添加到EAR文件中,或者
  • 在一个JAR文件中将所有内容捆绑在一起,每个层都映射到一个包命名约定。

我还有其他可能性吗?这方面的最佳做法是什么?有没有我可以咨询的在线或离线资源?

2 个答案:

答案 0 :(得分:4)

在我的公司,我们将每个图层捆绑到自己的JAR中。然后我们将它包含在WAR中。

如果您没有任何需要托管的EJB,那么在WAR上使用EAR进行部署没有任何实际优势。

答案 1 :(得分:1)

无论您选择哪种方法,请确保您实际获得。换句话说,不要服务于架构原则(包/ jar)让架构原则为你服务。

您需要平衡关注点的分离与效率。你拥有的项目越多,事情就越麻烦,但如果你有一个项目,那也会很麻烦。

查看您的申请的要求,背景和规模,并确定最适合您的方法。