EJB 入门概述

一、什么是 EJB ?

          EJB(Enterprice JavaBeans )是一个用于分布式业务应用的标准服务端组件模型。EJB 并不是一个产品,它是Java 服务器端服务框架的规范,软件厂商根据它来实现EJB 服务器;应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。  其三大特点如下:

          1)分布式:EJB 架构是一个用于开发和部署基于组件的分布式业务应用的组件架构;

          2)采用 Enterprice JavaBeans架构编写的应用是可伸的、事务性的、多用户安全的。

          3)可以一次编写这些应用,然后部署在任何支持 Enterprice JavaBeans规范的服务器平台,如 jboss、weblogic。

附:一些名词解释

 1.分布式计算:

       1)把大任务分成小块,分发给大家分别地做,再把每个人的计算结果汇总。

         特点:分解工作,减轻成员的负担,成员之间做到职责分明。

       2)充分利用网络上空闲的计算机的计算能力。

     分布式组件:

       1)分布对象技术是伴随网络而发展起来的一种面向对象的技术。

         以前的计算机系统多是单机系统,多个用户是通过联机终端来访问的,没有网络的概念。网络出现后,产生了C/S、B/S的计算服务模式。

       2)分布式对象技术主要使用了面向对象技术的封装性,组件可以分布在网络的任何位置。

         对外界来说,它所需关心的只是组件的界面(接口),至于内部是如何实现的则无需考虑, 远程客户通过方法调用来访问它。这是分布式对象技术和传统的面向对象技术的最大不同点。

   2.组件:可独立发布的二进制单元

   3.框架:即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统;代表:Struts,Spring,Hibernate…

   4.中间件:是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源; 代表:Weblogic,WebSphere,SunApp Server…

   5.容器:EJB的家。提供事务管理、安全服务、持久化和分布式 等服务。离开容器,EJB就失去了它的生命和意义


二、EJB 是用来作什么的 ?

          EJB 实际上是用于编写业务层代码的。举例来说,对于MVC (model-view-controller)三层结构的应用中,包含了显示层、控制层和业务层, 假设我们采用ejb开发基于MVC结构的应用,那么ejb就是用于开发应用的业务层。


三、为什么使用EJB ?

          要回答为什么要使用EJB ,就要从EJB 能带来哪些好处入手。

 1、简化大型分布式系统的开发过程。

     1)利用网络中多台计算机的计算能力,构建瘦客户端(简化分布式访问)

     2) EJB为我们提供了很多在企业开发中需要使用到的服务,如事务管理、安全、持久化和分布式等,因为这些服务由容器提供,无需我们自行开发,这样大大减少了我们的开发工作量。

     3)EJB组件具有热部署的能力(可插拔)

     4)可以扩展现有系统的JavaBean

2、优点:可维护性、重用性、可扩展性、可插拔性

    1)缩短开发时间:  编程人员可将先行开发的部件装配到新的程序中,从而加速了新程序的开发

    2)降低集成费用:  在将组件集成为一个完整的方案时,不同开发商采用了一致的标准接口,减少了特殊的定制工作

    3)开发更具灵性:  只需简单调整全部应用的一些组件,即可为企业不同领域的应用提供特定的解决方案

    4)降低维护费用:  各组件的软件功能是相对独立的,在维护和升级一个组件时,不必变动整个应用。维护简便


四、何时使用 EJB 

          先了解 EJB  可以作什么:

          1)服务器端的业务层框架;    2)遵循EJB规范的标准组件;    3)分布式组件 ;   4)持久化数据支持;         5)事务性支持;             6)支持并发多用户安全

          EJB 设计的初衷是用于分布式场合,所以,如果你的应用不需要分布式能力,确实没有必要使用EJB ,因为Spring+Hibernate提供了大部分原来只有 EJB 才有的服务,而且Spring提供的有些服务比 EJB  做的更细致,更周到。所以需要分布式技术支持的大型项目才建议 考虑EJB技术。如:1)分布式应付巨大的客户访问量;2)和已有的系统做组件化的集成。


五、EJB 的三种企业Bean

          Enterprise JavaBean(EJB)定义了三种企业Bean,分别是会话 Bean(Session Bean),实体Bean(Entity Bean)和消息驱动 Bean(MessageDriven Bean)。
          1、会话 Bean(Session Bean):Session Bean 用于实现业务逻辑,它分为有状态 bean 和无状态bean。每当客户端请求时,容器就会选择一个 Session Bean来为客户端服务。Session Bean可以直接访问数据库,但更多时候,它会通过Entity Bean实现数据访问。

          2、实体Bean(Entity Bean):实体bean代表真实对象的数据。在EJB3.0中,实体bean仅作为普通Java对象来使用。最常用的是用实体bean代表关系库中的数据。一个简单的实体bean可以定义成代表数据库表的一个记录,也就是每一个实例代表一个特殊的记录。更复杂的实体bean可以代表数据库表间关联视图。在实体bean中还可以考虑包含厂商的增强功能,如对象--关系映射的集成(O/R Mappin)。  

          3、消息驱动 Bean(MessageDriven Bean):可以缩写为MDB,MDB是设计用来专门处理基于消息请求的组件。它能够收发一步JMS消息,并能够轻易地与其他EJB交互。它特别适用于当一个业务执行的时间很长,而执行结果无需实时向用户反馈或者无需反馈的这样一个场合。


参考:黎活明老师的 EJB3.0 教程

《EJB3.0入门经典》的精简版 (点击下载电子书)





  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值