练习 3.6:对 EJB 组件子程序包进行建模

您在此练习中对 EJB 实施设计子程序包进行建模。此子程序包对包含保存应用程序数据的领域模型的 Enterprise JavaBeans(EJB)层进行建模。EJB 层实施 itso.ad.business 层的业务逻辑。

EJB 实施设计子程序包分成以下表中的三个子程序包:

程序包 描述
model 此子程序包描述代表持久的应用程序数据的领域类。此模型子程序包包含您在分析模型中定义的 Customer 和 Account 类。
to 此子程序包包含传送对象,这些对象会抽象模型中设计层之间的信息。传送对象是由 Customer 和 Account 类实施的接口。
facade 此子程序包包含 PiggyBank 在线银行系统的业务逻辑的实施。会话外观包含 PiggyBankController 类,该类定义功能任务,例如 PiggyBank 用例模型中描述的“显示余额”、“转帐”和“兑现支票”操作。

您在此练习中创建 Customer 和 Account 领域 EJB 类以及它们的接口。您在 framework 程序包中创建 IAccount 和 ICustomer 接口。

对域企业 Bean 进行建模

Customer 和 Account 企业 Bean 构成了 PiggyBank 设计模型的领域,并且用于保存应用程序数据。Customer 和 Account 类来自您在 PiggyBank 分析模型中确定的相同两个类。原始领域图:显示 Account 和 Customer 类。PiggyBank 设计模型不包含可持久的 Check 和 Transfer 类。因为您是在设计期决定不保存传送或检查数据,所以没有必要创建可持久的 Transfer 和 Check 业务对象。

要对 EJB 客户进行建模:
  1. 在“模型浏览器”视图中,展开 Enterprise IT Design Model,再展开“PiggyBank 实施设计”。
  2. 右键单击 itso.ad.business 子程序包;然后单击“添加 UML > 程序包”。
  3. 将程序包命名为 model
  4. 模型浏览器视图中,双击主要
  5. 在图编辑器中,将图命名为 model - Persistent Entity(EJB)模型
  6. 在选用板中,双击“”并且将类命名为 Customer

要对 Customer 类的参数进行建模:
  1. 在图编辑器中,右键单击 Customer 类;然后单击“添加 UML > 属性”。
  2. 将属性命名为 name
  3. 在“属性”视图中,单击“选择类型”。
  4. 在“选择元素”窗口中,单击 String
  5. 向称为 customerId 的、类型为 String 的 Customer 类添加另一个属性。
  6. 在图编辑器中,右键单击 Customer 类;然后单击“添加 UML > 操作”。
  7. 将操作命名为 getData
  8. 在“属性”视图中,单击“设置返回类型”。
  9. 在“选择元素”窗口中,展开 itso.ad.business,再展开“framework”,接着在 interfaces.to 子程序包中,单击 ICustomerTO

您已经创建了 Customer 实体 EJB。您的图看上去应该与下图相似:

客户 EJB。

要对 EJB 帐户进行建模:
  1. 在选用板中,双击“”并且将类命名为 Account
  2. 在图编辑器中,右键单击 Account 类;然后单击“添加 UML > 属性”。
  3. 将属性命名为 balance
  4. 在“属性”视图中,单击“选择类型”。
  5. 在“选择元素”窗口中,单击 Integer
  6. 向称为 accountNumber 的 Account 类添加一个类型为 String 的属性。
  7. 在图编辑器中,右键单击 Account 类;然后单击“添加 UML > 操作”。
  8. 将操作命名为 getData
  9. 在“属性”视图中,单击“设置返回类型”。
  10. 在“选择元素”窗口中,展开 itso.ad.business,再展开“framework”,接着在 interfaces.to 子程序包中,单击 IAccountTO
  11. 在选用板中,单击“关联”。
  12. 在图编辑器中,单击 Customer 类并将它拖动到 Account 类。
  13. 在图编辑器中,单击关系。
  14. 在“属性”视图的“帐户多重性”字段中,输入 *

您已经创建了 Persistent Entity EJB Model 图。注意:Customer 和 Account 企业 bean 的 getData 操作返回您在前一个练习中创建的传送对象接口。您的图看上去应该与下图相似:

Customer 和 Account EJB 关系。

对传送对象企业 bean 进行建模

传送对象企业 bean 用于在 PiggyBank 设计模型的层之间传送数据。PiggyBankEJBCustomerTO 和 PiggyBankEJBAccountTO 实施您在 framework 组件层中定义的 ICustomer 和 IAccount 接口。

要对 PiggyBankEJBCustomerTO 进行建模:
  1. 在“模型浏览器”视图中,展开 Enterprise IT Design Model,再展开“PiggyBank 实施设计”。
  2. 右键单击 itso.ad.business 子程序包;然后单击“添加 UML > 程序包”。
  3. 将程序包命名为 to
  4. 模型浏览器视图中,双击主要
  5. 在图编辑器中,添加标题 interfaces.to - 传送对象实施
  6. 在选用板中,双击“”并且将类命名为 PiggyBankEJBCustomerTO

要对 PiggyBankEJBCustomerTO 接口的参数进行建模:
  1. 在图编辑器中,右键单击 PiggyBankEJBCustomerTO 类;然后单击“添加 UML > 属性”。
  2. 将属性命名为 id
  3. 在“属性”视图中,单击“选择类型”。
  4. 在“选择元素”窗口中,单击 Integer
  5. 向称为 name 的、类型为 String 的 PiggyBankEJBCustomerTO 类添加另一个属性。
  6. 在图编辑器中,右键单击 PiggyBankEJBCustomerTO 类;然后单击“添加 UML > 操作”。
  7. 将操作命名为 PiggyBankEJBCustomerTO ( newId, newName )
  8. 在“属性”视图的“参数”页上,单击 newId 参数的“类型”字段,然后将参数类型更改为 String
  9. 单击 newName 参数的“类型”字段,然后将参数类型更改为 String
您已经对 PiggyBankEJBCustomerTO 企业 bean 进行了建模。PiggyBankEJBCustomerTO 包含单个构造函数,用于实例化给定客户标识和名称的类。您现在必须对 PiggyBankEJBCustomerTO 企业 bean 和 ICustomerTO 接口之间的关系进行建模。

要对实施关系进行建模:
  1. 在“模型浏览器”视图中,展开 Enterprise IT Design Model,再展开“PiggyBank 实施设计”,接着展开 itso.ad.business,最后展开“framework”。
  2. 在“interfaces.to 子程序包”中,单击 ICustomerTO 类并且将它拖动到该图中。
  3. 在选用板中,单击“实施”。
  4. 在图编辑器中,单击 PiggyBankEJBCustomerTO 类并将它拖动到 ICustomerTO 接口。

您的图看上去应该与下图相似:

PiggyBankEJBCustomerTO EJB。

要对 PiggyBankEJBAccountTO 进行建模:
  1. 在选用板中,双击“”并且将类命名为 PiggyBankEJBAccountTO
  2. 在图编辑器中,右键单击 PiggyBankEJBAccountTO 类;然后单击“添加 UML > 属性”。
  3. 将属性命名为 balance
  4. 在“属性”视图中,单击“选择类型”。
  5. 在“选择元素”窗口中,单击 Integer
  6. 向称为 number 的 PiggyBankEJBAccountTO 类添加另一个类型为 String 的属性。
  7. 在图编辑器中,右键单击 PiggyBankEJBAccountTO 类;然后单击“添加 UML > 操作”。
  8. 将操作命名为 PiggyBankEJBAccountTO ( newAccountNumber, newBalance )
  9. 在“属性”视图的“参数”页上,单击 newAccountNumber 参数的“类型”字段,然后将参数类型更改为 String
  10. 单击 newBalance 参数的“类型”字段,然后将参数类型更改为 Integer
您已经对 PiggyBankEJBAccountTO 企业 bean 进行了建模。PiggyBankEJBAccountTO 包含单个构造函数,用于实例化给定帐户号码和帐户余额的类。您现在必须对 PiggyBankEJBAccountTO 企业 bean 和 IAccountTO 接口之间的关系进行建模。

要对实施关系进行建模:
  1. 在“模型浏览器”视图中,展开 Enterprise IT Design Model,再展开“PiggyBank 实施设计”,接着展开 itso.ad.business,最后展开“framework”。
  2. 在“interfaces.to 子程序包”中,单击 IAccountTO 类并且将它拖动到该图中。
  3. 在选用板中,单击“实施”。
  4. 在图编辑器中,单击 PiggyBankEJBAccountTO 类并将它拖动到 IAccountTO 接口。

您的图看上去应该与下图相似:

PiggyBankEJBCustomerTO 和 PiggyBankEJBAccountTO 对象

对外观企业 bean 进行建模

外观组件将持久的应用程序数据从业务逻辑中分离。外观企业 bean 由 PiggyBankController 类定义,该类来自您在 PiggyBank 分析模型中确定的控制类。

要对 PiggyBankController 类进行建模:
  1. 在“模型浏览器”视图中,展开 Enterprise IT Design Model,再展开“PiggyBank 实施设计”。
  2. itso.ad.business 子程序包中,右键单击 EJB 程序包;然后单击“添加 UML > 程序包”。
  3. 将新程序包命名为 facade
  4. 在“模型浏览器”视图中,双击“”图并且添加标题“facade - 模型上的会话外观(EJB 无状态 Bean)”。
  5. 在选用板中,双击“”并且将接口命名为 PiggyController

要对 cashCheck 操作进行建模:
  1. 在图编辑器中,右键单击 PiggyBankController 类;然后单击“添加 UML > 操作”。
  2. 将操作命名为 cashCheck ( accountToCredit, checkAmount, checkReference )
  3. 在“属性”视图的“参数”页上,单击 accountToCredit 参数的“类型”字段,然后将参数类型更改为 String
  4. 单击 checkAmount 参数的“类型”字段,然后将参数类型更改为 Integer
  5. 单击 checkReference 参数的“类型”字段,然后将参数类型更改为 String

要对 getAccountByCustomerId 操作进行建模:
  1. 在图编辑器中,右键单击 PiggyBankController 类;然后单击“添加 UML > 操作”。
  2. 将操作命名为 getAccountByCustomerId ( customerId )
  3. 在“属性”视图的“参数”页上,单击 customerId 参数的“类型”字段,然后将参数类型更改为 String
  4. 在“属性”视图的“常规”页上,单击“设置返回类型”。
  5. 在“选择元素”窗口中,展开 itso.ad.business,再展开“framework”,接着在“interfaces.to 程序包”中,单击 IAccountTO
  6. 在“属性”视图的“常规”页上,选择“有序”复选框并清除“唯一”复选框。
  7. 取消对“唯一”复选框的选择。
  8. 在“高级”页的“多重性”旁,单击“”字段并单击 1..*

要对 getBalance 操作进行建模:
  1. 在图编辑器中,右键单击 PiggyBankController 类;然后单击“添加 UML > 操作”。
  2. 将操作命名为 getBalance ( accountNumber, customerId )
  3. 在“属性”视图的“参数”页上,单击 accountNumber 参数的“类型”字段,然后将参数类型更改为 String
  4. 单击 customerId 参数的“类型”字段,然后将参数类型更改为 String
  5. 在“属性”视图的“常规”页上,单击“设置返回类型”。
  6. 在“选择元素”窗口中,单击 Integer

要对 getCustomerById 操作进行建模:
  1. 在图编辑器中,右键单击 PiggyBankController 类;然后单击“添加 UML > 操作”。
  2. 将操作命名为 getCustomerById ( customerId )
  3. 在“属性”视图的“参数”页上,单击 customerId 参数的“类型”字段,然后将参数类型更改为 String
  4. 在“属性”视图的“常规”页上,单击“设置返回类型”。
  5. 选择元素窗口中,展开 itso.ad.business,再展开 framework,然后在 interfaces.to 程序包中,单击 ICustomerTO

要对 transfer 操作进行建模:
  1. 在图编辑器中,右键单击 PiggyBankController 类;然后单击“添加 UML > 操作”。
  2. 将操作命名为 transfer ( amountToTransfer, oedit,coount,Ne ustomer,Id debitAccountNr )
  3. 在“属性”视图的“参数”页上,单击 amountToTransfer 参数的“类型”字段,然后将参数类型更改为 Integer
  4. 单击 creditAccountNr 参数的“类型”字段,然后将参数类型更改为 String
  5. 单击 customerId 参数的“类型”字段,然后将参数类型更改为 String
  6. 单击 debitAccountNr 参数的“类型”字段,然后将参数类型更改为 String

您已经对 itso.ad.business 组件层外观进行了建模。您的图看起来应该与下图相似:

PiggyBankController 类包含 PiggyBank itso.ad.business 设计层的外观实施。
使用条款 | 反馈
(C) Copyright IBM Corporation 2004, 2005. All Rights Reserved.