J2EE应用讲解(4)——EJB基础知识

来源:互联网 发布:大司马淘宝店衣服 编辑:程序博客网 时间:2024/06/05 23:47

1 :认识EJB

EJB( EnterpriseJavaBean)J2EE13个标准之一。它定义了一个用于开发基于组件的企业多重应用程序的标准。它是javaBean的组织和发展,javaBean就像是.NET中的dllEJB标准包括:

可扩展 (Scalable)

分布式 (Distributed)

事务处理 (Transactional)

数据存储 (Persistent)

安全性 (Secure)

由于EJB是用于开发企业商务逻辑部分。所以不涉及显示数据部分的技术。这就要求使用EJB的同时必须和J2EE的其它标准一起使用。比如前面提到的servletjsp技术等。

这里所说的EJB只是一个标准,这个标准规定开发必须要实现的一些功能和服务。要想使用这个标准必须有相应的产品去实现它。比如weblogic服务器就是一个实现EJB的产品。实现了 EJB规范的应用服务器提供了可以解决安全性、资源共享、持续运行、并行处理、事务完整性等复杂问题的服务,从而简化了商业应用系统。这里的意思就是如果你要编写一个商业系统,比如银行等系统。你就不需要为处理并行,事务,安全等编写代码了。这样会浪费你的精力,而且这些代码基本上都是一样的。如果你使用实现了EJB的服务器,这些功能服务器厂商就给你编写好了。

一套EJB涉及到三个角色:开发编程人员(也就是你),标准提供商(sun),服务器提供商(例如IBM实现了EJB标准)

 

2 :EJB构成

EJB有三种类型的bean构成(bean的意思就是java的组件)。会话Bean(Session Bean),体Bean(EntityBean)和消息驱动Bean(MessageDriven Bean)。

  • 会话bean

实现应用程序的控制、处理和工作流,在MVC中,会话Bean处理Control。代表单个客户端来执行,当EJB 容器失效后就不存在。分为有状态会话bean和无状态会话bean。例如计算器,购物车等。

  • 实体bean
    实体Bean表示持久数据的对象视图,如数据库中的一个数据行。实体Bean有一个就像数据库中的主键一样,唯一地标识一个实体Bean。如一个订单信息等。
  • 消息驱动bean
    消息驱动Bean(MDB) 是设计用来专门处理基于消息请求的组件。是处理异步处理的组件。它是JMSEJB的结合。
  • 几种EJB实现的接口和特性比较.Stateless(无状态的)Stateful (有状态的)

 

 

3: EJB调用模型

下面介绍客户端调用EJB的方式,描述普通调用模型,这种模型主要适用于会话Bean的调用。这里考虑远程客户端的调用。下面是远程客户端调用企业Bean的步骤。

(1)开始时,远程客户端需要定位业务组件,并获得组件引用。

(2)客户端使用JNDI查找服务,以检索Bean的home对象的引用。

(3)客户端收到引用。

(4)客户端请求home对象创建或查找企业Bean。

(5)home对象创建或查找企业Bean。

(6)作为结果,返回EJB对象的引用。

(7)客户端使用引用,通过EJB对象调用业务方法。

(8)或者,在调用Bean的业务方法前,EJB对象可能会使用其他服务。

(9)EJB对象最终调用Bean的业务方法。在成功运行业务方法后,将结果返回到EJB对象。

(10)EJB对象将结果返回客户端。

 

4: EJB和其它组件的关系

EJB和其它组件的关系用一张图来形容最恰当。

 

 

具体说来就是客户端通过servletJSP发送请求。该请求通过JMS传达到相应的MDBMDB再喝会话bean、实体bean交互。会话bean和实体bean通过JDBC操作数据库,得到信息。再返回给客户端。其中可能用到事务,安全的一些EJB特性。

 

ServletJSPEJB这三个技术三J2EE技术的核心部分。理解和掌握这三个技术对于J2EE的学习至关重要。

原创粉丝点击