1、什么是EJB?


在J2EE里,Enterprise Java Beans(EJB)称为Java 企业Bean,是Java的核心代码,分别是会话Bean(Session Bean),实体Bean(Entity Bean)和

消息驱动Bean(MessageDriven Bean)。

EJB 的官方解释:
商务软件的核心部分是它的业务逻辑。业务逻辑抽象了整个商务过程的流程,并使用计
算机语言将他们实现。

J2EE 对于这个问题的处理方法是将业务逻辑从客户端软件中抽取出来,封装在一个组
件中。这个组件运行在一个独立的服务器上,客户端软件通过网络调用组件提供的服务以实
现业务逻辑,而客户端软件的功能单纯到只负责发送调用请求和显示处理结果。在J2EE 中,
这个运行在一个独立的服务器上,并封装了业务逻辑的组件就是EJB(Enterprise Java
Bean)组件。

java EE怎么弄 java ejb_业务逻辑

 EJB在架构中所处的位置如上图,EJB在J2EE开发中的详细:

java EE怎么弄 java ejb_业务逻辑_02


2、简介


1.SessionBean用于实现业务逻辑,它可以是有状态的,也可以是无状态的。每当 客户端请求时, 容器就会选择一个SessionBean来为客户端服务。Session Bean可以直接访问 数据库,但更多时候,它会通过Entity Bean实现数据访问。


2.Entity Bean是域模型对象,用于实现O/R映射,负责将 数据库中的表记录映射为内存中的Entity对象,事实上,创建一个Entity Bean对象相当于新建一条记录,删除一个Entity Bean会同时从数据库中删除对应记录,修改一个Entity Bean时, 容器会自动将Entity Bean的状态和数据库同步。


3.MessageDriven Bean是EJB2.0中引入的新的企业Bean,它基于JMS 消息,只能接收 客户端发送的 JMS消息然后处理。 MDB实际上是一个异步的无状态 SessionBean, 客户端调用MDB后无需等待,立刻返回,MDB将 异步处理客户请求。这适合于需要 异步处理请求的场合,比如订单处理,这样就能避免 客户端长时间的等待一个方法调用直到返回结果。


EJB实际上是SUN的J2EE中的一套规范,并且规定了一系列的API用来实现把EJB概念转换成EJB产品。