货色不多,加完MetaData的EJB,看起来是不是有点象COM+啊,哈哈

关于EJB 3.0很多人认识不足,EJB 3.0标准正式版上个月刚刚公布,目前只有JBoss 4.0支持EJB 3.0,大规模的支持EJB 3.0的服务器和开发工具估计今年底出来,就连JBoss的JBossIDE也只支持EJB 2.0(本月初),所以那种认为EJB 2.0过时的说法是错误的。

对于一个Java的成熟开发者来说,应该采取相对成熟的技术,Jdon会在EJB 3.0成熟之际,推出相关教材,但是学习了EJB 2.0,再学习EJB 3.0肯定会觉得很简单,这是必然的。

从CTM的发展史来看,EJB 3.0,完全是新瓶装老酒。。。搞个什么Meta,无非就是事务、安全性等等切入点而已,这是COM+一开始就玩的东西,兜兜转转,又回头COM+之路了。

期待MS MBF,不知道有什么亮点。

1. JSR 220 EJB3 now is "public review" not "final release"
2. I guess that banq don't read spec or *really* use EJB3 now !
Banq, u have too many wrong thoughts in EJB3 .
3. Besides Jboss4 , Oracle is the JSR 220 RI vender, so that u can also download the oracle ejb3 server in his site, and u can test EJB3 in Sun opensource Application Server "GlassFish"
4. EJB3 != EJB2+xdoclet , EJB3 is so different from EJB2 !
5. EJB2 is out-of-time NOW , especially in EntityBeans
so, if u wanna use new architecture in O/R mapping,
Please use Hibernate3 or Hibernate EJB3, u can understand EJB3 soon !

6. Annotation vs Descriptors ? which one is better ?
They are co-operation, although Community hope annotation to replace descriptors.
"zhuam" use my post from javaworld :( ( Never tell me )
http://www.jdon.com/jive/thread.jsp?forum=91&thread=22356

我再贴一次:

>EJB3.0和EJB2.X没有太大的关系,从体系结构上看,EJB3.0实际上是完全推翻了EJB2.X

这是不对的,看看EJB3 这张slide,告诉你EJB 3是什么:
http://media.techtarget.com/tss/BeJUG/EJB3/index.html

我知道你看到了一些误导的言论,所幸你来Jdon,告诉你真相:
EJB3不是Hibernate已经有定论:
http://www.theserverside.com/news/thread.tss?thread_id=33450

EJB 3.0还是分布式组件模型,这是其基本体系结构,学习EJB困难之处是:我们必须以一个分布式场景来设计或编程EJB,这些都没变。

如果说EJB本身在发展,吸取一些其他框架如Hibernate/Toplink等简化设计,就断定"EJB3.0实际上是完全推翻了EJB2.X"是不熟悉2.X的人说的胡话。

EJB3 = EJB2+xdoclet , EJB3 is not different from EJB2 , if u understand EJB2.


补充一下:

在上篇EJB3.0 slide中主要是讲述了实体Bean部分,因为这部分和EJB 2.0不一样,其他没有提及,缺省意思是和EJB 2.X相差不多,EJB 的session bean的种类分为有态和无态,它们的安全和事务定义都是相差不多的,ejb-jar.xml定义还是那些,又不是说ejb-jar.xml的定义完全不一样了,只不过现在ejb-jar.xml的定义描述使用Anonation来写,不必直接编写XML。
这是一种实现途径方式不一样而已,使用Anonation只是方便而已。

为什么象jakarta99这样满嘴英文的人没看透这些洋把戏呢?

当然,我们希望新技术带来颠覆的变化,是激动人心,可是象EJB这样企业架构技术,不可能产生跨度太大的变化,否则那么多企业EJB开发怎么办?

单看看Borland的together architect(架构师版本)这个昂贵的贵族软件,它花了多少心血在EJB建模 部署 调试和发布上(这些基于EJB 2.0),这一条思路完全不同于JBuilder 2005,如果EJB 3.0是革命颠覆变化,Borland作为EJB标准一个成员,能投票通过吗?

企业开发需要稳中求变,不需要颠覆的革命,这是我们的深切体会,从这个意义上说,EJB标准也应该是循序而进的。


为了帮助更多初学者了解EJB 3.0,不至于被一些搞来搞去的英文迷糊,贴个中文翻译:

http://it.sohu.com/20040817/n221581959.shtml

该文章中写道:
在已经提交的EJB3.0规范中主要涉及两个方面的改变:

  1. 一套以注释为基础的EJB编程模型,再加上EJB2.1中定义的通过部署描述符和几个接口定义的应用程序行为。

  2. 新的实体Bean持久化模型,EJBQL也有许多重要的改变。

  还有一些有关上述的提议,比如:一个新的客户端编程模型,业务接口的使用以及实体Bean的生命周期。请注意EJB2.1编程模型(包括部署描述符和home/remote接口)仍然是有效的。<b>新的简化模型并没有完全取代EJB2.1模型。</b>

注意最后一句话。

唉..
因 Java 必要向前相容, 所以要相容 EJB2, 所以е EJB3 Container _l的臃[.. ]想到你是J EJB3 = EJB2+xdoclet

我有f EJB3 = Hibernate .. ? 你真的很y贤 !

EJB2 有 AOP, IoC 的^念 ? ]有 !

EJB3 的出F就是榱烁倪M EJB2 .
EJB3 的M步, 就是 EJB2 在是太差了, o是 Session/Entities 一堆o^的 Interface c callbacks, 一大堆o聊的^承.. 一堆o聊的 xml n案 ...

你竟然是在@e鼓吹 EJB3 = EJB2+xdoclet 的PS ..

算了.. 械煤湍..

ps. 英文是因槟阌X得繁w字太y看 ...

看看你当初对我的Ioc/AOP框架的言论:
http://www.jdon.com/jive/thread.jsp?forum=62&thread=18423&start=105&msRange=15
如果你理解EJB2 和Ioc,就不会问第2个奇怪问题了。

如果你理解Ioc,理解Anonation在Ioc中角色,理解xDoclet,你就会赞同:
EJB3 = EJB2 + xDoclet

你现在觉得我很难沟通,因为我们看问题角度或出发点都不一样啊。

好了,这个话题就到这里,如果你有其他说“EJB3完全不同于EJB2”的言论或网址请贴出来。不要贴一些与专业无关的言论,不给人面子下台是我的缺点,请包涵。(我不是想针对某个人,只是我喜欢较真,前段时间超级女生PK,我们这是男生PK)

>Java 必要向前相容, 所以要相容 EJB2, 所以е EJB3 Container _l的臃[

这句话严重错误,EJB是一种分布式组件模型,所以,它必然要为实现类似Corba这样分布式计算提供说明和支持,这些都是其核心,无论EJB3/EJB2/EJB1运行起来都将是支持分布式计算,看看这篇J2EE集群,就知道EJB服务器是如何复杂地支持分布式计算:
http://www.jdon.com/jive/article.jsp?forum=121&thread=22282

这些功能需要花费多少代码才能完成,能不臃肿吗?所幸的是,这些功能无需编程者实现,JBoss等EJB COntainer自己实现了,你倒过来还说EJB container臃肿,那你自己做?每个企业程序员想成为EJB程序员之前必须学会集群开发,可能吗?
(网上到处都是这样奇谈怪论(包括老外),然后被国人拿回来当宝,也不用脑思考。)

EJB3从现有规范标准来看,完全是想让EJB程序员编制EJB时更加方便和简化,少做一些事情,但是这些事情还是要有人来做的,这就象快递公司一样,你打个电话叫快递很方便,可是你要送到美国的东西不知经过快递公司多少复杂环节,快递公司就是EJB3,将方便留给你,将麻烦留给自己,但是我们不能就认为快递公司本身应该很简单,人人都可以开快递公司。

不想费口舌,如果还有人这些简单道理都不清楚,我想他甭搞程序了。

怀疑Banq的水平,对于EJB 2.0或者3.0来说,安全、事务当然差不多,甚至对于COM+来说,也必须实现安全事务这些基础构件。

但是最重要的却是,如何实现安全和事务有着完全不同。

COM+采用的Annotation,安全和事务横切入业务方法调用。
EJB 2.X呢?无非就是臃肿的callback和xml说明。。。
EJB 3.0,回到了最初COM+道路上。。。

他们体现的是一种实现方法的完全不同,EJB 2.X不过是不得不兼容的一种东西而已。

假如MS的ObjectSpace与COM+整合,那么世界看起来是不是很类似了?

所谓EJB3.0=EJB 2.0+ Xdoclet完全是种误导初学者和不负责任的说法。尽管在写代码的时候有点类似,但是隐藏在背后的container设计是不同的。

摘录

这句话严重错误,EJB是一种分布式组件模型,所以,它必然要为实现类似Corba这样分布式计算提供说明和支持,这些都是其核心,无论EJB3/EJB2/EJB1运行起来都将是支持分布式计算,看看这篇J2EE集群,就知道EJB服务器是如何复杂地支持分布式计算:
http://www.jdon.com/jive/article.jsp?forum=121&thread=22282

这些功能需要花费多少代码才能完成,能不臃肿吗?所幸的是,这些功能无需编程者实现,JBoss等EJB COntainer自己实现了,你倒过来还说EJB container臃肿,那你自己做?每个企业程序员想成为EJB程序员之前必须学会集群开发,可能吗?
(网上到处都是这样奇谈怪论(包括老外),然后被国人拿回来当宝,也不用脑思考。)

EJB3 从现有规范标准来看,完全是想让EJB程序员编制EJB时更加方便和简化,少做一些事情,但是这些事情还是要有人来做的,这就象快递公司一样,你打个电话叫快递很方便,可是你要送到美国的东西不知经过快递公司多少复杂环节,快递公司就是EJB3,将方便留给你,将麻烦留给自己,但是我们不能就认为快递公司本身应该很简单,人人都可以开快递公司。

不想费口舌,如果还有人这些简单道理都不清楚,我想他甭搞程序了。

由@句就知道你 "向前相容" 的o知度 !

今天, EJB3 化了_l, 槭颤N我要用 EJB2.1 ?
就是因橛刑 EJB2.1 的元件已_l完成, 在 java 的世界中, 我必保有σ酝耐顿Y, 如果像 Microsoft 立的公司碚f, 我大可以完全f "各位, 不要用 EJB1.x ,EJB2.x 了, F在大家的 container H支援 EJB3.x" @就是有]有向前相容的必要性

c是:以往的投Y不速M
缺c是:撰 EJB container 不但要考] EJB3 K要兼容於 EJB1.x, EJB2.x.. f真的, @N_ly道不纺[ ?

少嗾氯×x !