关于j2ee的几点疑问

本人刚接触j2ee没什么经验,最近看了好多资料,本来想搞清楚一些。谁知道越来越糊涂,下面是几个问题,请各位高人指点,不胜感激。
1.何谓前端会话Bean?与普通会话Bean有什么区别?
2.何谓Access Bean?与普通Bean有什么区别?
3.J2EE的优势究竟在什么地方?与Servlet方式相比有何优缺点?各自应该应用于什么场合?
4.实体Bean的优缺点是什么?到底应不应该用?为什么?如果不用,访问数据库的方式有什么?各有什么优缺点?分别适用于什么环境?典型应用是什么?
5.使用会话Bean加上DAO来访问数据库优点是什么?有没有缺点?DAO又是什么?是由什么来实现?比之于实体Bean有点是什么?

1.何谓前端会话Bean?与普通会话Bean有什么区别?

Session Facade 就是Session Bean,只不过颗粒度比较粗,这样客户端就不需要调用好几次服务端的Session Bean,而是调用一次Session Facade就OK了,减少网络远程调用次数。

2.何谓Access Bean?与普通Bean有什么区别?
没有听说过Access Bean。

3.J2EE的优势究竟在什么地方?与Servlet方式相比有何优缺点?各自应该应用于什么场合?
J2EE只是一个规范,包括了Servlet/JSP,JDBC,EJB,.....等等技术。你仅仅用Servlet编程,也可以说是J2EE。

4.实体Bean的优缺点是什么?到底应不应该用?为什么?如果不用,访问数据库的方式有什么?各有什么优缺点?分别适用于什么环境?典型应用是什么?

EJB优点是做的项目合同金额很高,可以卖很多钱(因为大家都觉得很高端,很值钱),如果你仅仅用Servlet/JSP,不用EJB,就卖不了多少钱,一说用了EJB,能卖好几十倍的价格。

Session Bean缺点还不那么突出,Entity Bean缺点比较突出,前面有个帖子讨论很充分了,用ORM替代Entity Bean。ORM的缺点是几个Big name因为商业原因不热心,发展比较缓慢,这几年刚刚热起来,还没有充分的评测数据来证明它的性能和稳定性。

5.使用会话Bean加上DAO来访问数据库优点是什么?有没有缺点?DAO又是什么?是由什么来实现?比之于实体Bean有点是什么?

使用会话Bean加上DAO来访问数据库的性能至少是CMP的3倍以上,缺点是要写很多代码,比较累。DAO就是一组抽象接口,隔离数据库,让业务层看不到数据库,必须调用DAO来操作数据库的数据。DAO可以用很多技术实现,JDBC,JDO,Hibernate,OJB,Toplink等等。

谢谢您的回答,受益匪浅。
关于J2EE那个问题,使我没有问清楚,其实我想问的是EJB的优点是什么?它比普通BEAN和Servlet好在哪里?性能谁好?