现在的位置: 首页 > 综合 > 正文

EjB vs spring2.5

2013年03月05日 ⁄ 综合 ⁄ 共 1939字 ⁄ 字号 评论关闭

1.EJB实际上是用于编写业务层代码。如果大家对于MVC (model-view-controller)结构的应用有所了解的话,我们知道一个基于MVC结构的应用应包含显示层、控制层和业务层, 假设我们采用ejb开发基于MVC结构的应用,那么ejb就是用于开发应用的业务层.2.如果你的应用不需要分布式能力,确实没有必要使用ejb, 因为spring+hibernate提供了大部分原来只有ejb才有的服务,而且spring提供的有些服务比ejb做的更细致,更周到。那么是不是有了spring,EJB3就没有必要存在了?这种说法是不正确的,因为ejb设计的初衷是用于分布式场合,而spring一开始就没有打算提供分布式功能。所以两者看似有竞争的关系,但实际上两者的偏重点不一样,像ejb比较适合用于大型企业,因为大型企业一般都会存在多个信息系统,而这些信息系统又相互关联。为了避免业务功能重复开发,实现最大程度的重用,有必要把业务层独立出来,让多个信息系统共享一个业务中心,这样应用就需要具备分布式能力。3.EJB的发展前景目前在java社区关于ejb讨论的话题并不是很多,而且ejb占领的市场份额也很少,这种情况主要与它的定位有关,至少现在它的定位还是在分布式应用。有组织统计过在100个项目中,需要分布式的应用只占15%,而85%的应用都是不需要分布式的,这个比例就决定了关注ejb的人不会很多,而且ejb所占的市场份额也不会很大。如果ejb要占领大部分市场份额就必须提供像Spring这样的轻量级解决方案。好在ejb专家组已经认识到了这一点,目前正计划在ejb3.1规范中加入轻量级解决方案(ejb3.1可能会分成两个版本,一个仍然定位于分布式应用,另一个定位于轻量级应用)。如果这个计划得以实现的话,恐怕到时ejb3.1将会逐步吞食由Spring占领的市场份额。因为ejb3的开发和spring一样的简单,而且ejb3是javaee5规范里的技术,所以大部分项目经理都愿意选择一种开发简单、又被更多厂商兼容的标准技术。4.
EJB3的运行环境EJB3.0应用需要运行在JDK1.5以上版本。进入http://java.sun.com/javase/downloads/index_jdk5.jsp下载JDK。在页面中找到JDK 5.0 Update 16(版本在不断更新中,有可能大于16),点击右边的Download。按照安装向导提示安装,安装路径选择C:/Java/jdk1.5.0_16。Jdk安装完后,接着问你是否安装jre,也一起安装上。右键点击“我的电脑”->“属性”->“高级”->“环境变量”,在“系统变量”里添加JAVA_HOME
变量,值为JDK的安装路径,如:C:/ Java/jdk1.5.0_16。在“系统变量”里再添加CLASSPATH变量,值为:.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;在系统变量栏找到变量名为Path的选项,点“编辑”在变量值的末尾添加;%JAVA_HOME%/bin;5.EJB3.0应用需要运行在EJB容器里,下面是一些JavaEE应用服务器,JavaEE应用服务器包含Web容器和EJB容器。Jboss(4.2.x以上版本) 是一个成熟的开源的准JavaEE应用服务器,在开源JavaEE应用服务器中所占市场份额第一。如果你打算选用开源的JavaEE应用服务器,那么jboss是最值得选择的。Glassfish
是一个开源的JavaEE应用服务器,对JavaEE规范的支持非常好,其运行性能比较高。因为发展时间相对较短,市场占有率比较低。另外,它能否提供稳定的运行性能,还有待时间的考验。但本人对其后期的发展非常看好。绝对跟jboss有的一拼。Weblogic(10以上版本) 是商业市场占有率第一的商业JavaEE应用服务器,它具有出色的稳定性,并提供了人性化的管理界面,还有企业需要使用到的众多功能。但在ejb3.0领域,本人认为它做的比jboss差些,bug比较多。Sun Application Server(9.0以上版本)
商业JavaEE应用服务器,如果你打算选用商业应用服务器运行ejb3,这个是不错的选择。Oracle Application Server(10g以上版本) 商业JavaEE应用服务器,如果你的数据库是oracle,要想兼容性更好,这个是不错的选择。apusic应用服务器 这是国内的商业JavaEE应用服务器,主要在政府中占有一定的市场份额。要批评的是,其向开发人员提供的文档实在太少了,本人曾经想在其上面开发应用,结果找了大半天也没有找到需要的开发文档。

抱歉!评论已关闭.