EJB 基本概念

来源:互联网 发布:网络安全法是为了维护 编辑:程序博客网 时间:2024/05/20 01:44

 

什么是ejb?

Written in the Javaprogramming language, an enterprise bean is a server-side component that encapsulatesthe business logic of an application. The business logic is the code thatfulfills the purpose of the application.

企业级java bean是用java编写的一个服务器端的组件,它封装了应用程序的业务逻辑,这些业务逻辑实现了应用程序编写的目的。

为什么使用ejb?

1.由容器来管理系统级的服务,例如事务管理和安全认证,开发人员可以专注于业务逻辑问题的解决。

2.由于由bean来管理程序的业务逻辑,客户端开发人员可以专注于客户端的展现,而不需要关心业务逻辑的实现规则或者数据库的访问。

3.因为enterprise beans是可移植的,程序组装者可以在已有的bean上构建新的应用程序。只要他们使用标准的API,这些应用程序可以运行在任何兼容的Java EE服务器。

Enterprise Beans 的类型

什么是session bean

一个封装了业务逻辑并可以被本地、远程或者web serivcie客户端调用的bean。客户端通过调用session bean的方法来访问部署在服务器上的应用程序,Session bean执行客户端的工作,从而避免其在服务器上执行复杂的业务逻辑操作。

Sessionbean的数据不会被保存到数据库中。

Session bean的类型

有状态会话bean(Stateful Session Beans)

       每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即“有状态”;一旦用户灭亡(调用结束或实例结束),bean的生命期也告结束。即每个用户最初都会得到一个初始的bean。

无状态会话bean(Stateless Session Beans)

      bean一旦实例化就被加进会话池中,各个用户都可以共用。即使用户已经消亡,bean 的生命期也不一定结束,它可能依然存在于会话池中,供其他用户调用。由于没有特定的用户,那么也就不能保持某一用户的状态,所以叫无状态bean。但无状态会话bean 并非没有状态,如果它有自己的属性(变量),那么这些变量就会受到所有调用它的用户的影响,这是在实际应用中必须注意的。

单例会话bean(Singleton Session Beans)

      单例会话bean一个应用中只实例化一次比存在于应用的整个生命周期中,适用于被多个客户端并发访问的enterprise bean.

什么时候去用会话bean

      满足以下情况的用有状态会话bean:

1.   bean的状态表示了bean和指定的客户端的交互。

2.   在方法调用的时候bean需要保存客户端的信息。

3.   Bean是客户端和其它应用组件的中间件,并展现一个简单的试图给客户端。

4.   在幕后,bean管理几个enterprise bean的工作流

满足以下情况使用无状态会话bean:

1.   bean不保存特定客户端的信息。

2.   在一个单一的方法调用当中,bean为所有的客户端提供一个通用的服务。

3.   Bean实现了一个web service

满足以下情况使用单例会话bean:

1.   状态需要在整个应用中共享。

2.   一个enterprise bean需要被多个线程并发访问。

3.   Bean需要enterprise bean在启动和停止时执行任务。

4.   Bean实现了web service

 

什么是消息驱动bean

Amessage-driven bean is an enterprise bean that allows Java EE applications toprocess

messagesasynchronously. This type of bean normally acts as a JMS message listener,which is similar to an event listener but receives JMS messages instead ofevents.