ITPUB论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
更多
查看: 3923|回复: 1

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

版主

版主

精华贴数
15
技术积分
2055
社区积分
0
注册时间
2007-2-3
论坛徽章:
8
月度精华徽章
日期:2007-04-01 01:15:33会员2007贡献徽章
日期:2007-09-26 18:42:102011新春纪念徽章
日期:2011-01-25 15:41:012011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:08
发表于 2007-3-7 14:40:57 |显示全部楼层
关于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
技术积分
12
社区积分
0
注册时间
2007-3-6
论坛徽章:
0
发表于 2007-3-9 11:34:25 |显示全部楼层
谢谢楼主呀,真是我所急需要的文档呀,解决了困惑多时的问题。

使用道具 举报

相关内容推荐
您需要登录后才可以回帖 登录 | 注册

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 邮箱 虎吧 老博客 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
回顶部