什么是 EJB Java

preview
需积分: 0 8 下载量 127 浏览量 更新于2009-03-13 收藏 63KB DOC 举报
【EJB】全称是Enterprise JavaBeans,是Java EE(Java Platform, Enterprise Edition)的一部分,旨在为开发企业级分布式应用程序提供一套标准框架。EJB最初由Sun Microsystems提出,它定义了一种组件模型,允许开发者创建可部署在服务器端的软件组件,这些组件可以在跨平台的环境中运行,利用Java的跨平台优势。 EJB的主要目标是简化企业级应用的开发,通过提供标准接口和组件模型,使得开发者可以专注于业务逻辑,而不用过多考虑底层的分布式、事务处理、安全性和持久化等复杂问题。EJB规范涵盖了三个主要类型的组件: 1. **会话Bean(Session Bean)**:会话Bean用于实现业务逻辑,它们可以是有状态的(Stateful)或无状态的(Stateless)。有状态会话Bean能够保持与客户端的交互状态,而无状态会话Bean则不保存任何客户端信息。会话Bean通常用于处理客户端请求,可以直接访问数据库,或者通过实体Bean进行数据操作。 2. **实体Bean(Entity Bean)**:实体Bean代表了应用中的持久化数据,它们与数据库中的记录相对应,实现了对象-关系映射(O/R Mapping)。当创建、删除或更新实体Bean时,相应的数据库记录也会相应改变。实体Bean有两种模式:Bean管理的持久化(BMP)和容器管理的持久化(CMP),前者由开发者管理数据的持久化,后者由EJB容器自动管理。 3. **消息驱动Bean(MessageDriven Bean)**:消息驱动Bean是EJB 2.0引入的新类型,主要用于处理Java消息服务(JMS)消息。它们是异步的无状态会话Bean,客户端发送消息后无需等待响应,消息驱动Bean会在后台独立处理消息,适用于处理不需要立即返回结果的异步任务,如订单处理。 EJB规范还定义了容器(Container)和服务器(Server)的概念,EJB组件必须在EJB容器中运行,容器负责提供诸如事务管理、安全性、资源池等服务。容器提供了HOME和REMOTE接口,使得客户端可以通过这些接口与EJB组件交互,而无需直接操作EJB组件本身,从而降低了系统的复杂性。 EJB的优势在于其标准化,使得应用可以在不同平台上运行,实现“Write once, run anywhere”的目标。此外,EJB还提供了与非Java应用的互操作性,以及与CORBA标准的兼容性。EJB的使用可以提高系统的可扩展性、事务处理能力和安全性,但同时也带来了额外的学习曲线和资源开销。 总结来说,EJB是一种用于构建可扩展、分布式、事务处理、持久化和安全的Java企业级应用的规范。它通过定义组件模型和相关服务,简化了开发过程,让开发者能够更加专注于业务逻辑的实现,而将底层的复杂性交给EJB容器来处理。