J2EE组件企业Bean详解教程
企业Bean是实现EJB技术的J2EE组件。企业Bean在俄EJB容器中运行,运行时环境由服务器建立(图1-5)。虽然EJB容器对开发这是透明的,但它为运行其中的企业Bean提供项事务处理等的系统级服务。这些服务是你可以快速的建立和部署企业Bean,而这些企业Bean正是构成和新业务处理的J2EE应用。 本文内容:
1,企业Bean概述 企业Bean的优点 何时需要使用企业Bean
企业Bean的分类
2,会话Bean
状态管理模式 何时需要会话Bean
3,EntityBean
EntityBean的构造 和会话Bean的不同之处 容器管理的持久性 何时需要EntityBean
4,Message-Driven Bean
Message-DrivenBean的构造
和会话Bean、EntityBean的不同之处 何时需要Message-DrivenBean
5,定义客户端访问接口
远程访问
本地访问
本地接口和容器管理的关系 选择接口类型 访问的性能 访问的参数
6,企业Bean的内容 7,企业Bean的命名约定 8,企业Bean的生存周期
有状态会话Bean的生存周期 无状态会话Bean的生存周期 EntityBean的生存周期 Message-DrivenBean的生存周期
1,企业Bean概述
用Java语言编写,企业Bean就是一个应用中封装了商务逻辑的服务器端组件。这些商务逻辑是实现应用程序目标的代码。例如在一个存货控制的应用程序里,企业Bean也许在checkInventoryLevel和orderProduct方法中实现了商务逻辑,通过调用这两个方法,远程客户端就可以访问应用程序提供的存货管理的服务。
企业Bean的优点
由于以下的原因,企业Bean大大简化了分布是应用的开发。首先EJB容器给企业Bean提供了系统级服务,使Bean开发者可以专注于商务问题的解决。是EJB容器而不是开发者负责项事务处理和安全授权等系统级服务的管理。其次因为企业Bean而不是客户端实现商务逻辑,客户端开发者就可以致力于客户端表述的开发,而不必为实现商务规则或者数据库访问的日常处理而编码了。结果使客户端“瘦”了许多,很明显,这个有点对于在小设备上运行的客户端来说是很重要的。最后,因为企业Bean是可移植的,应用程序组装者可以用现
有的企业Bean建立新的应用程序。这些应用程序可以在任何兼容的J2EE服务器上运行。 何时需要使用企业Bean
如果你的应用程序符合以下的任一条件,你就应该考虑使用企业Bean: ?你的应用程序需要不断的升级。为了适应不断增长的用户,你可能需要将你的应用程序组件分布在多台不同的机器上运行。虽然并不仅仅是企业Bean可以在不同的机器上运行,但企业Bean的运行位置对于客户端始终是透明的。
?需要用事务机制来保证数据完整性。企业Bean支持事务机制以提供对共享资源并发访问的管理。
?应用程序需要支持众多不同类型的客户端。只需要极少的几行代码,远程客户端就可以很容易的访问到企业Bean。这些客户都可以很“瘦”并且在理论上可以是任意数量不同类型的客户端。
企业Bean的分类
表3-1列出了三种不同类型的企业Bean。接下来的几节将详细介绍每一种企业Bean. 企业Bean类型 会话Bean EntityBean MessageDrivenBean 作用 完成客户端请求的动作 描述持久存储的商业实体对象 作为JMS(Java Message Service Java消息服务) API的监听者异步处理监听到的的消息
2,会话Bean
会话Bean表现连接到J2EE服务器的一个单独的客户端。客户端通过调用会话Bean的方法来访问部署在服务器上的应用程序。会话Bean完成客户端的请求,从而对客户端隐藏了服务器内复杂商务逻辑的执行过程。
正如会话Bean的名称所表示的,它代表一次会话。单独的会话Bean对象是不可以共享的,它只能有一个客户端访问,同样一次会话也只能有一个用户。和一次会话一样,会话Bean对象不是持久性对象。(就是说它的数据并不保存到数据库。)当客户端结束运行,对应的会话Bean也跟着结束并断开与客户端的联系(不保留特定客户端的任何信息)。
第四章将会介绍会话Bean的编码实例。
状态管理模式
根据状态管理模式的不同会话Bean可以分为两类:有状态(stateful)会话Bean和无状态(stateless)会话Bean。