查看: 5908|回复: 1

[精华] 关于J2EE应用开发项目包的管理

[复制链接]
论坛徽章:
18
月度精华徽章
日期:2007-04-01 01:15:33马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58
发表于 2007-3-7 14:40 | 显示全部楼层 |阅读模式
关于J2EE应用开发项目包的管理


J2EE应用开发所面临项目包的管理问题在进行J2EE大规模开发时,我们会经常遇到怎样组织J2EE应用包的问题:
  • 项目中是否使用到WAR项目和EJB项目?
  • 我们是应该把所有的业务功能模块都安排在同一WAR项目中,还是按照业务功能划分到不同的WAR项目中?
  • 如果项目中采用EJB技术,哪我们是把所有的功能模块都安排在同一EJB项目中,还是按照业务功能划分到不同的EJB项目中?
  • 如果把不同的业务功能模块拆分到各个WAR、EJB项目中,我们应该怎样管理、同步各个WAR、EJB项目都会使用到的Java服务类?
    [/list=1]


    J2EE项目包管理的基本原则

    针对以上我们所遇到的J2EE项目包管理的困惑,解决问题的原则是:
    • 如果J2EE项目比较大、并且业务功能定义和划分比较清晰明确,从项目管理、模块重用的角度,我们推荐使用多个WAR项目包的方式组织项目,并按照业务类型进行划分。
    • 同样如果项目中使用了EJB技术,我们可以同样按照WAR项目组织的方式来进行EJB JAR项目的划分。(题外话――针对EJB技术使用,必须遵循以下原则:
      a) 整个EAR项目中使用一个Stateful SessionBean足以,并且极力反对同一EAR项目中存在一个以上的Stateful SessionBean。
      b) 推荐适当的使用粗颗粒度的Stateless SesssionBean。
      c) 避免使用EntityBean。
      d) 推荐使用Bean Management Transaction。)
    • 避免提供相同的功能Class类散落在不同的WAR项目和EJB项目中。虽然在项目开发初期,并不会发现此种方式的弊端,反而感觉通过Copy & Paste方式来得更方便些;但是一旦项目进展到中后期,马上会体会到代码维护的复杂性,会对产品质量带来巨大的潜在威胁。
    • 推荐把相同的、有共性的Class类抽取到专门的Java 项目中来进行同一的开发和维护,而其他的WAR项目和EJB项目通过相关的设置引用此Java项目中的公共Java Class类。
    • 尽量避免Java JAR项目、WAR项目、EJB项目之间的循环引用,这样会造成各个项目之间的紧密耦合,造成项目协调的困难,证明前期项目包的规划有待改善。
      当然在后面的示例中有两个演示不是我们所推荐的方式,此例子仅仅演示了各个项目之间调用的技巧,供各位参考。这两个有待改善的例子分别为:
      a) WAR项目中Servlet调用Java JAR项目中的Java 服务类,紧接着Java JAR项目Class又调用了另外一个WAR项目的Java Class类。
      b) WAR项目中Servlet调用Java JAR项目中的Java 服务类,紧接着Java JAR项目Class又调用了另外一个EJB项目的Java Class类在最后我们会给出推荐的、经过refactoring的示例。
      [/list=1]

      更多内容请查看附件
      关于J2EE项目包的管理.doc
      HelloWorld.ear
论坛徽章:
0
发表于 2007-3-9 11:34 | 显示全部楼层
谢谢楼主呀,真是我所急需要的文档呀,解决了困惑多时的问题。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表