Java资源网

| JAVA基础 | 环境配置 | JDBC | 线程技术 | Socket编程 | JavaMail | JAVA与XML | 设计模式 | 技术新闻 | Java认证 | 程序人生 软件下载
| JSP&Servlet | Spring | Struts | Hibernate | JBuilder | Eclipse | WebService | EJB技术 | J2ME开发 | 应用服务器 | JXTA | Ajax
Articles search文章搜索
   关键字:
   类 别:
       
New download 最新下载
· [组件]HTML Parser 1.5
· [教程]WebSphere Studio应用教程
· [组件]JDom 1.0
· [工具]Junit3.8.1
· [教程]EJB编程及J2EE系统架构和设计
· [教程]EJB教程
· [教程]J2EE Tutorial中文版
· [教程]Java编程思想2(英文)
· [教程]java编程思想(完整版)
· [教程]Java网络编程
New articles 最新文章
· 设计移动 Web 服务
· 解析XML的时候完全忽略DTD
· 理解XML Schema XML Schema 初步
· 标签库的深入研究
· 提升JSP应用程序的七大绝招
· 如何使用JDOM对XML文件进行操作
· 处理XML字符串中特殊字符
· 利用Digester把XML转换成为Java对象
· 使用WebService 和RMI远程协作
· 使用Axis开发Web Service程序
Articles top 热门文章
· Eclipse基础--plugin插件安装(6644)
· eclipse+tomcat+lomboz的安装配置说明(4774)
· Java程序员就业前景(4584)
· Windows下JAVA环境变量的设置祥解(3788)
· Tomcat下JSP、Servlet和JavaBean环境的配置(3716)
· 使用links方式安装Eclipse插件(3698)
· 一个老程序员的心理话(3533)
· linux下jdk的安装与配置(3459)
· 初学者入门:Structs中基本配置入门(3334)
· Eclipse 运行命令行参数大全(3084)
您的位置:首页>>应用服务器>>参加4月4日Ben Wang的JBoss讲座纪实
参加4月4日Ben Wang的JBoss讲座纪实
2007-04-17   来源:Java资源网  作者:Java资源网

  今天下午赶到复旦大学三教3108去Ben Wang的JBoss讲座。由于听讲座的人比较多,教室临时从3209改到3108,2:30分,Ben在曹晓钢同学陪同下来的,曹晓钢同学最辛苦,上午去浦东机场接Ben。
  
  在讲座开始前,和Ben进行了简单的交谈,感觉Ben是个谦谦君子,很有学者的气质,实际上他也确实是PhD,没有一点架子,很平易近人,很和蔼。
  
  Ben讲座要介绍的内容很多,因此两个小时的演讲很紧凑,讲座结束之后,有几个朋友举手提问,其中有个朋友的问题比较尖锐,直接对准了EJB,特别是Entity Bean,而Ben的回答也坚定了我的一些观点,这些下面再提到。
  
  提问结束以后,论坛的几个版主,我,曹晓钢,dlee和他的gf,smallduzi,gehf,马伟,和在IBM做consultant的nuke陪同Ben来到陆家嘴小南国吃饭,实际上最后是由nuke埋单的。饭桌上大家边吃边聊,边向Ben请教问题,我也借机问了很多关于JBoss,EJB,Hibernate方面的问题。
  
  由于Ben第一次来中国大陆,于是晚餐后我们陪Ben逛了浦东的滨江大道,眺望浦西外滩,欣赏著名的上海滩夜景,最后做鸟兽散了。
  
  Ben此次来华的主要目的就是想了解一下中国大陆,香港地区和台湾地区对于JBoss的应用情况,以及寻找合适的合作伙伴。因此他比较关心JBoss在这些地区的应用状况,我向他介绍了一些我了解的国内的应用JBoss,应用Hibernate方面的现状,向他提了一点点个人的见解。
  
  通过今天听Ben的讲座和Ben的交流,我觉得收获很大:
  
  一方面是和JBoss Inc这样一个国际著名的Java Open Source组织有了近距离的接触和了解,也许这样的机会可以促进中国的Java社区和国际Java社区更多的交流和合作,同时对Java视线网站也是一个很好的提升。
  
  另一方面我了解了很多关于JBoss,Hibernate方面的情况。由于Ben是JBoss的core team成员之一,因此很多情况从他嘴里说出,我想应该是相当的准确了,虽然这仅仅代表Ben自己一个人的想法,不过我想也基本上可以代表整个JBoss Core Team的看法。这一点也是我想向大家稍微详细介绍的地方:
  
  1、关于Entity Bean和Hibernate的争论
  我是一个Entity Bean的坚决反对者。围绕Entity Bean的话题,在国内也是众说纷纭,我去年夏天曾经就这个问题和很多人反复辩论过,由于坚决反Entity Bean,坚持O/R Mapping,特别是Hibernate的态度,最后被很多人围攻,这也直接导致了现在Java视线论坛的诞生。
  
  对于JBoss这样一个全面支持EJB的Java Application Server来说,了解JBoss core team对EJB,特别是对Entity Bean的态度,是我比较关心的事情。
  
  Ben在讲座提问的时候就表明,Entity Bean是J2EE规范中最失败的东西,然而对数据库的操作又是一个软件项目最重要的部分,如果连这部分都做不好,软件还能做什么?晚餐的时候,Ben也向我介绍,他以前做项目,也往往采用Session Bean去直接操作JDBC,而不采用Entity Bean。
  
  相对于Entity Bean的失败,Hibernate却得到了异乎寻常的关注。从Ben的意思中似乎流露出JBoss Inc有意将Hibernate做为Java数据库持久层规范来推广的设想。
  
  另外由于Gavin King是JDO委员会成员,Ben说从他那里了解的情况是,现在JDO2.0规范已经陷入了难产,各个成员代表了不同公司的利益,相持不下,JDO2.0在可以预见的将来无法发布,JDO的未来已经蒙上了阴影。
  
  鉴于此,JBoss在目前的阶段已经放弃了把JDO技术集成进来的设想,而转为全面支持EJB3.0规范。而未来的EJB3.0规范据他说将非常不同于现在的EJB2.0,我感觉JBoss似乎有点努力让Hibernate成为EJB3.0规范中的一部分。
  
  而我问到既然Entity Bean是鸡肋的话,而Hibernate也完全可以在CMP外面使用,又何必要另外费时费力把Hibernate集成到CMP中,做CMP的Engine呢?Ben回答是没有必要使用CMP的,但是考虑到很多采用了CMP的老系统兼容问题,考虑到为了保持和J2EE规范的兼容问题,所以才会这样做的。这不是一个技术因素,而是一个政治因素。当然如果你觉得没有必要使用CMP,你可以完全可以单独使用Hibernate。
  
  从Ben那里了解到的情况,我觉得对于O/R Mapping未来的技术方向,稍微有点眉目:
  1) 当前的Entity Bean无疑是失败的,未来的EJB3.0中的Entity Bean也许会变成了像Hibernate的样子
  2) JDO的前景堪忧,未来还遥遥无期,至少JBoss已经放弃了对JDO的兴趣
  3) JBoss在力推Hibernate,似乎有将Hibernate做为Java持久层标准规范的设想
  
  在Ben看来,开放源代码软件的竞争模式就是没有标准的,大家都在竞争,最后优胜者就成了标准,现在Hibernate无疑是这方面的佼佼者,有望成为事实上的标准。
  
  2、AOP的广泛应用
  上次聚会gigix的AOP讲座我没有时间听,这次Ben介绍AOP,我得以有幸了解了AOP的基本概念。从Ben介绍来看,JBossAOP能够做的事情很多,可以处理Log,处理跨类调用的事务,。。。。。。等等,“跨类调用的事务?”,呵呵,这不是原来EJB的功能吗?这也是我的一个疑问。如果AOP可以把容器管理事务,Security检查,分布式功能全部实现,那么还要EJB干什么?毕竟AOP可以实现的功能是对POJO的,而且是lightweight的,无论编程,调试,部署和运行,其难度都远远小于EJB,而性能相当甚至更好。于是我带着这个疑问请教Ben。他的回答就是,如果未来的发展,AOP真的可以做到的话,EJB确实就没有使用的必要了。但是从现状来说,有很多旧系统要兼容,有Sun的J2EE规范要兼容,没有这个兼容认证,可能很多企业就不会用JBoss了。当然Ben没有否定EJB,他说JBoss是在同时支持AOP和EJB的,并且JBoss做为一个App Server,要想被企业接受,全面支持J2EE标准是必要的。
  
  对于AOP和EJB的问题,Ben的看法是也许在将来J2EE规范将包括AOP,否则也许J2EE规范会逐渐被淘汰。而JBoss的做法就是支持J2EE规范,支持EJB3.0,同时JBoss也支持AOP。你如果想兼容J2EE开发EJB,那么OK,如果你喜欢用AOP简化编程,那么也OK。
  
  3、关于JBoss本身的发展
  由于我对JBoss不是很熟悉,因此在这方面也说不出来所以然。印象比较深刻的两点是:
  
  1) JBoss接受Venture Capital,从JBoss Group改名为JBoss Inc,做为一个商业公司开始运作了。我觉得这是一个很好的事情,软件要成功,迟早要和商业化运作结合的。
  
  2) JBoss要成为一个Java Open Source Project的社区,不断的吸收适合自己发展需要的Java Open Source Project,共同推进OpenSource事业的发展。
  
  通过这次交流,我想包括我本人在内,对Hibernate的信心都无疑得到了巨大的加强。我虽然反对Entity Bean,对JDO标准也一向没有好感。但是我从来没有想过Hibernate有成为O/R Mapping标准的可能性,我只是一惯认为,Hibernate是一个很好用很实用的东西,在项目中使用可以节省巨大的人力,可以让你的OO编程变得很舒服。就是现在我也不认为Hibernate会成为O/R Mapping的事实标准,如果有一天有更好的O/R Mapping框架出现,我也会毫不犹豫的喜新厌旧。不过毫无疑问的是,Hibernate必将成为Java O/R Mapping领域里最主流的,最有前途的,应用最广泛的框架之一。
  --相关文章--
· 开源技术:tomcat5.0下配置ssl (2007-04-17)
· 开源技术基础:TOMCAT的用法 (2007-04-17)
· 开源技术之Tomcat数据源配置总结 (2007-04-17)
· 实例讲解配置之——TOMCAT集群配置 (2007-04-17)
· 实例讲解Apache+tomcat+ssl配置 (2007-04-17)
· 如何同时启动多个Tomcat服务器 (2007-04-17)

版权所有©2005-2006 JAVA资源网 渝ICP备05007591号 虚拟主机 | 关于我们 | 联系方式 | 广告业务 | 网站地图 | 友情链接