我对nucleus不清楚
在此谈谈对ejb的感受
在国内使用java做开发,无论客户端用什么,如jsp/jhtml/applet/application/servlet等
只要与db打交道,如果不用ejb,绝大部分人均会用jdbc
写得好的人会将数据库抽象成对象,写得不好的人会直接操作库
这两种方法均会产生以下问题
1、如果你要调用别人的方法,你如何保证事务?[如:a程序员写a_m方法完成某一操作,b程序员想在b_m方法中调用a_m并保证事务]
2、如果你在调用别人方法时保证事务觉得麻烦,你会放弃使用别人的方法,转而自已操作db并保证事务,此时,java的优点荡然无存
3、由于对db的操作份散在各个javabean中,任何时候对db的修改将影响很多代码
看看ejb如何做
1、ejb与db没有任何关系,对db的修改可以通过以下方法来实现只修改局部或完全不修改任何代码
a、修改配置文件
b、增加一个ejb
2、entity bean本身每个方法保证事务,最小的单元逻辑操作可以封装在一个entity bean中供共亨,多个方法的事务用session bean实现
3、至于想要负载平衡,想将系统发布到多server,想要使用自己的组件被不同的客户端访问而不用修改等,肯定只能用ejb
最大的一点感受
ejb让你从底层操作中解放出来,更多的将精力置于业务逻辑中
而且它让你以后的扩展性好一些
缺点
1、出问题时不容易控制,尤其是对其不熟时
2、支持得的app server都较贵
