关于J2EE应用开发项目包的管理

J2EE应用开发所面临项目包的管理问题

在进行J2EE大规模开发时,我们会经常遇到怎样组织J2EE应用包的问题:

  1. 项目中是否使用到WAR项目和EJB项目?
  2. 我们是应该把所有的业务功能模块都安排在同一WAR项目中,还是按照业务功能划分到不同的WAR项目中?
  3. 如果项目中采用EJB技术,哪我们是把所有的功能模块都安排在同一EJB项目中,还是按照业务功能划分到不同的EJB项目中
  4. 如果把不同的业务功能模块拆分到各个WAREJB项目中,我们应该怎样管理、同步各个WAREJB项目都会使用到的Java服务类?
[@more@]

J2EE项目包管理的基本原则

针对以上我们所遇到的J2EE项目包管理的困惑,解决问题的原则是:

  1. 如果J2EE项目比较大、并且业务功能定义和划分比较清晰明确,从项目管理、模块重用的角度,我们推荐使用多个WAR项目包的方式组织项目,并按照业务类型进行划分。
  2. 同样如果项目中使用了EJB技术,我们可以同样按照WAR项目组织的方式来进行EJB JAR项目的划分。(题外话――针对EJB技术使用,必须遵循以下原则:
    a)
    整个EAR项目中使用一个Stateful SessionBean足以,并且极力反对同一EAR项目中存在一个以上的Stateful SessionBean
    b)
    推荐适当的使用粗颗粒度的Stateless SesssionBean
    c)
    避免使用EntityBean
    d)
    推荐使用Bean Management Transaction。)
  3. 避免提供相同的功能Class类散落在不同的WAR项目和EJB项目中。虽然在项目开发初期,并不会发现此种方式的弊端,反而感觉通过Copy & Paste方式来得更方便些;但是一旦项目进展到中后期,马上会体会到代码维护的复杂性,会对产品质量带来巨大的潜在威胁。
  4. 推荐把相同的、有共性的Class类抽取到专门的Java 项目中来进行同一的开发和维护,而其他的WAR项目和EJB项目通过相关的设置引用此Java项目中的公共Java Class类。
  5. 尽量避免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的示例。

更多内容请查看附件

J2EEPackageMgt.doc

HelloWorld.ear

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8819325/viewspace-903249/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8819325/viewspace-903249/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值