EJB 开发资源

本主题描述 EJB 开发中常用的资源和开发工具。

EJB 模块

EJB 模块显示在 J2EE 透视图的“项目资源管理器”视图中,它们与 EJB 项目相对应。

EJB 模块用来将一个或多个企业 bean 组装成单个可部署单元。EJB 模块是在 EJB 项目中开发的,可作为独立的 EJB JAR 文件导出,或者可将它与企业应用程序中的其它 EJB 或 Web 模块组合起来。EJB JAR 文件使用标准 Java™ 归档文件的格式。EJB 模块包含下列内容:

  • 一个或多个企业 bean 及其关联 .class 和 .java 文件。
  • 图形文件和其它文件,这取决于企业 bean 的需要。
  • 部署描述符。部署描述符的文件类型是“可扩展标记语言”(XML)。此文件声明 EJB 模块的内容,定义模块中 bean 的结构,并提供有关在运行时如何使用 bean 的描述。
  • META-INF 目录中的 MANIFEST.MF 文件。清单文件可以包含类路径条目,带有对 J2EE 企业应用程序中的其它 JAR 文件或 EJB 模块的引用。它定义模块的外部相关性。
  • 对标准部署描述符的 IBM® 扩展(如果目标运行时容器是 WebSphere® Application Server 的话)。

EJB 模块已安装并在 EJB 容器中运行。

企业 bean 是一个 Java 组件,可以将它与其它资源组合来创建分布式客户机/服务器应用程序。

注: 如果选择为 EJB 模块创建 EJB 客户机 JAR 文件,企业 bean 的客户机接口类将不包括在 EJB JAR 文件中,而是包括在 EJB 客户机 JAR 文件中。
EJB 项目

在工作台中,可以为项目中的企业应用程序创建和维护资源。EJB 项目是允许您组织企业 bean 的逻辑模块。在“项目资源管理器”视图中,EJB 项目是作为 EJB 模块来显示的。

此工作台支持 EJB 1.1、EJB 2.0 和 EJB 2.1 项目。对于 EJB 2.0 项目,您必须将包含 EAR 项目的 J2EE 规范级别设置为 J2EE 1.3 或更高级别;对于 EJB 2.1 项目,您必须将该规范级别设置为 J2EE 1.4。在 EJB 1.1 项目中,您只能创建 EJB 1.1 bean。

EJB 项目是专用的 Java 项目。项目的源文件和输出文件位于 ejbModule 文件夹中。当您更改和生成部署代码时,Java 类将编译到 ejbModule 文件夹中。不能将 EJB 项目用作源文件夹;这样将导致错误。

导入的类位于 imported_classes 文件夹中。仅当导入的 JAR 文件中的任何 .class 文件都没有源文件时,才会创建该文件夹,且仅在没有源文件存在 的 .class 文件才会被添加至该文件夹。每当构建项目时,imported_classes 文件夹中的类会复制至 ejbModule 文件夹。如果以后对导入的类添加源文件,imported_classes 文件夹中的 .class 文件将被忽略;但在添加 .java 文件时,应删除 .class 文件。

注: 如果选择为 EJB 模块创建 EJB 客户机 JAR 文件,企业 bean 的客户机接口类将不包括在 EJB 项目中,而是包括在独立的 EJB 客户机 JAR 项目中。EJB 客户机 JAR 项目作为“其它”项目节点下的 Java 项目显示在项目资源管理器中。
EJB 客户机项目

EJB 工具支持为 EJB 模块创建 EJB 客户机 JAR 项目。EJB 客户机 JAR 项目包含了客户机程序使用包含在 EJB 项目中的企业 bean 的客户机视图所需要的全部接口类。当为 EJB 项目创建 EJB 客户机项目时,会创建新的 Java 项目并将它添加至工作空间。EJB 客户机项目作为项目实用程序 JAR 文件添加至 EJB 项目所属的每个模块。

缺省情况下,当使用向导创建 EJB 项目时,也创建 EJB 客户机 JAR 项目。然而,您可以在向导中清除此选项。

提示: 还可以将 EJB 客户机项目添加至不包括作为模块的 EJB 项目的另一个企业应用程序中。这将确保导出应用程序时 EJB 客户机 JAR 文件与 EAR 文件一起导出和打包。
企业 bean

企业 bean 是一个 Java 组件,可以将它与其它资源组合来创建分布式客户机/服务器应用程序。

有三种类型的企业 bean:实体 bean、会话 bean 和消息驱动的 bean。通常,在企业应用程序中会同时使用这三种类型的 bean。

实体 bean
实体 bean 存储持久数据。具有容器管理的持久性(CMP)的实体 bean 需要数据库连接。具有 bean 管理的持久性的实体 bean 管理以任何方式在 bean 代码中定义的持久数据。例如,这可以包括写入数据库或 XML 文件。
会话 bean
会话 bean 不需要数据库访问,虽然它们可以根据需要通过访问实体 bean 来间接获取数据库访问。会话 bean 还可以通过使用资源引用来获取对数据库(和其它资源)的直接访问。
消息驱动的 bean
消息驱动的 bean 是一种特殊的企业 bean,它在 JMS 消息传递系统中充当消息使用者。对标准 JMS 消息使用者而言,消息驱动的 bean 执行基于消息内容的业务逻辑。消息驱动的 bean 实例的动态创建和分配在许多方面模拟无状态会话企业 bean 的行为。然而,消息驱动的 bean 与无状态会话企业 bean(以及其它类型的企业 bean)在许多方面是不同的。
  • 消息驱动的 bean 以异步方式处理多条 JMS 消息,而不是处理方法调用已序列化的序列。
  • 消息驱动的 bean 没有 home 接口或远程接口,所以内部或外部客户机不能直接访问它们。

需要数据访问的 bean 使用数据源 - 一种用来定义数据库连接的池的管理资源。

部署描述符

部署描述符包含运行时环境用于应用程序的配置数据。部署描述符可以包含关于下列内容的信息:

  • 应用程序的结构和内容(例如,企业 bean)。
  • 对内部和外部依赖项的引用。例如,EJB 模块中的企业 bean 可能需要未捆绑在同一模块中的另一个企业 bean。
  • 对资源工厂对象(例如,URL 或 JDBC 数据源)的引用。
  • 当实现应用程序必需的访问控制时容器所使用的安全角色。
  • 有关容器如何(以及是否)管理应用程序的事务的事务性信息。

部署描述符是与应用程序的文件一起打包在 Java 归档文件中的 XML 文件。EJB 部署描述符称为 ejb-jar.xml,位于 EJB 项目的 META-INF 文件夹中。J2EE 应用程序包含一个应用程序级的部署描述符文件,它将应用程序作为整体来管理。它还包含几个组件级的部署描述符,应用程序中的每个模块都有一个部署描述符。

除了标准的部署描述符之外,工作台还包括有关 WebSphere Application Server 绑定和扩展的信息。绑定和扩展文档是特定于 IBM 的。绑定和扩展描述符分别存储在 XMI 文件 - ibm-ejb-jar-bnd.xmi 和 ibm-ejb-jar-ext.xmi 中。绑定信息将外部依赖项或资源的逻辑名映射至实际的 JNDI 名称。例如,在安装时,容器使用绑定信息来定位远程 bean。扩展是对标准描述符的补充。扩展使以前的(旧的)系统可以在 WebSphere Application Server 环境中工作。还将它们用于指定在当前规范中未定义的或期望包括在未来规范中的特定于供应商的应用程序行为。

映射文档(map.mapxmi)

该“映射编辑器”帮助您将企业 bean 映射至数据库。map.mapxmi 文件保留此映射信息。

使用条款 | 反馈
(C) Copyright IBM Corporation 1999, 2005. All Rights Reserved.