主题

简介 To top of page

本指南着重于确定 EJB。指南:EJB 中提供关于 EJB 的附加指导信息。

确定 EJB To top of page

EJB 通常用于实施服务器端的业务对象,该对象是要求支持事务、安全和远程访问的对象或是操作共享数据的对象(例如更新帐户信息)。

当从分析类确定设计类时,通常也就确定了 EJB。由于会话 Bean 是为提供控制逻辑而准备的,所以控制类是会话 Bean 的良好候选项。由于实体 Bean 是为持久数据而准备的,所以实体类是实体 Bean 的良好候选项。

另请参阅以下更具体的指南:

比较会话 Bean、消息驱动的 Bean 和实体 BeanTo top of page

该表概括了前述的某些指南,标识了不同 EJB 所扮演的角色,如何访问它们以及其状态的本质。

  会话 消息驱动 实体

角色

实施特定于客户机的业务逻辑

实施特定于消息处理的业务逻辑

实施特定于业务实体的业务逻辑

访问方法

单个客户机,通过本地或远程接口

容器,通过 JMS MessageListener 接口;无法通过客户机直接访问

多个客户机,同时通过本地和远程接口

状态

可维护客户机和容器之间的临时会话状态

无状态,但可维护实例中资源的句柄

持久状态保存到数据库中


对 EJB 建模To top of page

将 EJB 作为一组构造型的类建模。具体地,为 Bean 类和任何 EJB 接口类。基于指南:J2EE 应用程序的接口中讨论的理由,将 EJB 接口作为构造型的类(而非 UML 接口)建模。

将 Bean 类和 EJB 接口之间的关系作为 Bean 类到接口的依赖关系建模,而不作为实现关系。Java 实施构造通常表现为接口和类之间的实现。但是,EJB 类并不实施其接口类,因此依赖关系更为合适。下图显示了一个示例。关于该特定示例的更多信息,请参阅指南:设计 J2EE 应用程序的子系统

附带文本中描述的图。

示例 EJB 和助手类

以下是适用于对 EJB 建模的 UML 构造型。

构造型 适用于 定义

<<EJBSessionHomeInterface>>
<<EJBEntityHomeInterface>>

分别表示会话或实体主接口。
<<EJBRemoteInterface>> 表示 EJB 远程接口。
<<EJBLocalInterface>> 表示 EJB 本地接口。
     
<<EJBSession>> 表示 EJB 会话 Bean 类。
<<EJBEntity>> 表示 EJB 实体 Bean 类。
<<EJBMessageDriven>> 表示该类为消息驱动的 Bean。

通常在子系统中对某一 EJB 以及紧密相关的类和 EJB 进行分组。这允许设计人员提供独立于 EJB 实施的 EJB 规范视图,并与其它设计元素组织起来,提供更高程度的抽象。关于某些附加的详细信息,请参阅指南:设计 J2EE 应用程序的子系统

关于代表 EJB 构造的构造型的完整列表,另请参阅 UML/EJB 映射规范(RSC01)。

对消息驱动的 Bean 建模 To top of page

对消息驱动的 Bean 预订的主题或队列的依附对象建模。关于对 J2EE 应用程序中并行元素建模的更多指导信息,请参阅指南:描述 J2EE 应用程序的运行时体系结构

对 EJB 属性建模 To top of page

可将机制的使用(例如容器管理的持久性、事务、权限等)作为 Bean 类的附加属性进行建模,或仅将其包括在与 Bean 类相关联的文本描述中。

使用序列图考虑使用这些机制的场景。

对 EJB 对象交互建模 To top of page

交互图(协作和序列图)可用于显示 EJB 的动态行为以及非 EJB(包括 Web 组件和外部客户机应用程序)与 EJB 的交互。

这些交互图在本质上与活动:用例设计中描述的交互图相同。通过仅与 EJB 接口进行交互,可显示交互,并将 Bean 显示为黑盒。交互还可通过显示 EJB 接口和 Bean 实施类之间的交互来显示 Bean 实施。注意,容器的干预交互通常不显示。

消息驱动的 Bean 将消耗从其它来源异步到达的消息。您可选择直接显示从生产者到消费者的异步消息流向,或可通过对主题和队列建模来对关系更精确地建模。

图 2 中显示的序列图示例展示了客户机类与 EJB 接口的交互。

附带文本中描述的图。

图 2:客户机类与 EJB 接口的交互

图 3 是与图 2 类似的序列图,但它显示了与 Bean 实施的交互。

附带文本中描述的图。

图 3:与 EJB 实施交互的示例

对备选方案建模To top of page

还可将 EJB(Bean 实施类与 EJB 接口的组合)作为子系统或组件进行建模。

某些设计人员还可选择将 EJB 作为类建模,并对操作加以构造,以表示该操作属于“本地”接口、“远程”接口还是“主”接口。这将提供比其它备选方案更简洁的表示法。



Rational Unified Process   2003.06.15