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

带你走进EJB–EJB3.0

2013年05月20日 ⁄ 综合 ⁄ 共 1562字 ⁄ 字号 评论关闭

      在上一篇文章中我们介绍了跟EJB容器相关的那些Java概念,EJBJava的世界中用一个比较高的视角来对EJB有一个初步的了解.


      
EJB的全称是EnterpriseJavaBeans,是Java中的商业应用组件技术。EJB组件结构是基于组件的分布式计算结构,是分布式应用系统中的组件。它并不是一个产品,而是Java服务器端服务框架的规范,软件厂商根据它来实现EJB服务器。应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。


     
作为J2EE常用的十三中技术规范之一,我们需要从一个J2EE的角度了解一下EJB.如下图.

 

计算机生成了可选文字:JavaEEApplicationlJavaEEApplicationZC116nt朴6rCli6ntMaChlneApplicationClientWBbTIBrJ日V自EE56四6rEnterpriseBeanS一一一一丈因BUSlneSSTierEIS刀erD日tabaS6Ser甘6f

 

      
上图是一个比较简单Java EE架构图,从框架图中我们可以看到EnterpriseBeans是处于Business
Tier,
也就是业务逻辑层.

      
分布式是JavaEE一个基础的需求,“分布式”的应用到底会以一个什么样的形态出现呢?答案就是:EJB。EJB可以让你像搭积木一样,通过本地/分布式调用组装不同应用到大型应用中,使你能集中精力来处理企业的业务逻辑,而像事务、网络、安全等等这些底层服务则统统留给EJB服务器开发商来解决。

       
为了更好的能够去理解EJB ,我们先从已有的知识入手,通过对EJB对以前的内容进行一个基本的对比来进一步了解其特点.

 

EJB vs Java Bean

   
Java Bean 我们都非常的熟悉,在一般的Web项目中都会用到,JavaBean相当于是数据存储类(不涉及具体业务逻辑),专门用来存数数据,提供getter,setter方法,并且在JVM上可直接运行。

        EnterpriseJavaBean则相当于一个功能模块,提供业务逻辑的服务,而运行时,则需要EJB容器的帮助,EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。

 

EJB vs SSH


     
如果从框架的角度来对比两个概念.EJB属于重量级框架,SSH属于轻量级框架,而两种类型的框架解决问题的侧重点是不同的.


     
轻量级框架侧重于减小开发的复杂度,相应的它的处理能力便有所减弱(如事务功能弱、不具备分布式处理能力),比较适用于开发中小型企业应用。采用轻量框架一方面因为尽可能的采用基于POJOs的方法进行开发,使应用不依赖于任何容器,这可以提高开发调试效率;目前SSH已经成为许多J2EE中小型企业应用偏爱的一种架构选择。


     
而作为重量级框架EJB框架则强调高可伸缩性,适合与开发大型企业应用。在EJB体系结构中,一切与基础结构服务相关的问题和底层分配问题都由应用程序容器或服务器来处理,且EJB容器通过减少数据库访问次数以及分布式处理等方式提供了专门的系统性能解决方案,能够充分解决系统性能问题。


      
轻量级框架的产生并非是对重量级框架的否定,甚至在某种程度上可以说二者是互补的。轻量级框架在努力发展以开发具有更强大,功能更完备的企业应用;而新的 EJB规范EJB3.0则在努力简化J2EE的使用以使得EJB不仅仅是擅长处理大型企业系统,也利用开发中小型系统,这也是EJB轻量化的一种努力。

 

为什么要用EJB?

       
通过上文的叙述我们可以得到EJB的一个非常重要的特征:分布式,这也是最重要的理由.分布式对象之间互相协作,完成特定的业务功能。分布式对象之间应实现分布透明性。即在客户端代码中无需指定分布式对象的位置(通过配置来解决)。

      
如果你的应用需要进行分布式部署、如果你的分布式对象需要支持事务、如果你的关键业务逻辑需要能够支持多种不同类型的客户端,那么EJB将会是一个很好的选择。

       

 

    

抱歉!评论已关闭.