# re: J2EE Development without EJB读后随笔 回复 更多评论
2006-05-17 10:21 by
J2EE Development without EJB 胡扯?
# re: J2EE Development without EJB读后随笔 回复 更多评论
2006-05-18 08:54 by
他是理论上批判
你是实际上应用
根本不是用一个理念, 哪有矛盾嘛
# re: J2EE Development without EJB读后随笔 回复 更多评论
2006-05-18 13:49 by
看了各位的评论,有点个人看法:
1、理论的批判和现实的应用
如果一个架构在理论上被人批判,那这个人必需得从应用的角度举出实例来支持他的观点。如果一个架构理论上都不行,那按照这个理论指导出的实践又能怎么样呢!
如果ROd Johnson只是在理论上对EJB进行了批判,我想那是毫无说服力的。而恰恰相反,他在书中对于同一Application,列举了四种架构,两种EJB架构,两种非EJB架构。从应用的角度(系统的资源开销、代码的可测试性、可维护性、组件模型和企业服务的整合(EJB容器)和分离(Spring)),以他的观点阐述了EJB架构的缺点和他强烈推荐的Sping架构的好处。如果说他只是理论上的批判,我认为不合适。
2、说我胡扯,我不知道我到底哪里不对了。我所列出的种种EJB的缺点,都是书中详细描述的(在看了sun最新发布的java EE5.0后,特别是EJB3.0确实对一些缺点做出了改进。可见他的一些批判还是很对的)。我的应用(EJB 让我体会到的实惠)只是在“经典”的J2EE的这个架构下实施的,不排除我“不识庐山真面目,只缘身在此山中”的原因。我并不是把我在EJB中得到的“快捷便利”,和Rod Johnson的理论批判混为一谈。
要说原因,只能说是我没用过Sping,不知道他的架构是不是略胜一筹。都说不怕不识货,就怕货比货,只有你真正应用、比较才能得出你的真实体会。
# re: J2EE Development without EJB读后随笔 回复 更多评论
2006-08-03 10:31 by
其实无所谓ejb的好坏,关键是你怎么用他
3.0以前的entity bean是被人病诟的最多的了,sun的思路是好的,但是也许是实在太重量级了,90%的应用里开发人员完全可以选择hibernate,toplink这类更加轻巧灵活的持久化方案,而像entity bean提供的例如分布式事务处理之类的强大功能无异于屠龙之技,事实上要涉及到包含在一个事务里的多数据库操作的应用极少,就算有人家也都在用TUXEDO之类的成熟中间件技术。于是SUN吸取了教训,3.0的persistences 直接就实施于hibernate一系列持久化方案之上,至少我还觉得不错。
至于session bean,我倒现在也没看出来有太大的不好,Web Server和Application Server的分离在确实需要分布式计算的环境里有什么问题?
当然你的server端只是用来处理一些类如图书信息存储的简单工作,自然是没必要,但是如果你的server端跑着一个计算量极大的应用呢?
EJB是一个为组件化分布式计算而生的技术,和Spring为首的开源框架的目的是有差别的。站在一个用户的角度,你说哪个好,哪个差,不过是你自己的项目究竟适用哪种技术罢了。就好像你一个非常简单的web应用,你非要在server端的数据库调用的时候用web service,然后发现奇慢无比,然后骂web service是垃圾。web service说我怨啊....
当然我们也应该看到ejb也是不断发展和进步的,就好像ejb3.0里面,不也开始大量使用Spring引以为荣的依赖注入了么,同样我们也能看到AOP的身影在闪耀。
说到底,技术不过是用来解决问题的,纯粹为了技术而技术是李宇春的。