说一下个人的看法。
技术的优劣其实是很清晰的,ejb和spring各有各个好处,也各有缺限,比如ejb的侵入式编程模型,spring的无法做服务集群。
主导一个软件设计的是软件需求的本身。就像手机一样,有人觉得功能强大如p910才好,有人觉得三星d508就不错。软件也一样,先不要问ejb或者spring能提供你什么,而是要明白目前这个项目的需求需要什么。在without ejb中也详细提到了spring的限制以及在什么时候要使用ejb,作者的口气并没有论坛里的那些人那么嚣张。当spring就适合的时候,真的没有必要用ejb,但如果你的项目本身很大要很好的伸缩性健壮性的时候,ejb则是不二选择。
对于banq不断地提到说用ejb开发项目也很快的时候,我想提一点,你在这个行业这么久而且有很好的框架支持,甚至明白很多很多的设计与实现上的best practice,所以你能做得很快。然而对于一个入门级甚至一两年经验的java程序员来说,开发一个项目,使用ejb成功的机会真的很小。很多写了几年java程序的人还只是jsp+jdbc。
记得better,faster,lighter java的作者说过,如果开发一些简单的应用,delphi,vb是最好的选择,而非java.就像你8个小时开发的那个东东,我用delphi也用不了8个小时。只是因为简单。只是因为熟练。
技术无优劣,需求最重要。