練習 3.6:建立 EJB 元件子套件的模型

在這個練習中,您將建立 EJB 實作子套件的模型。這個子套件會為企業 JavaBeans (EJB) 層建立模型,該層包含可持續應用程式資料的領域模型。EJB 層會實作 itso.ad.business 層的商業邏輯。

EJB 實作設計子套件可分為下表中的三個子套件:

套件 說明
model 這個子套件說明代表持續性應用程式資料的領域類別。模型子套件包含您在分析模型中定義的「Customer」和「Account」類別。
to 這個子套件包含在模型中的設計層之間擷取資訊的轉送物件。轉送物件是「Customer」和「Account」類別所實作的介面。
Facade 這個子套件包含 PiggyBank 線上銀行系統的商業邏輯實作。Session Facade 包含用來定義功能作業的 PiggyBankController 類別, 例如在 PiggyBank 使用案例模型中所說明的 Display Balance、Transfer Money 和 Cash Check 作業。

在這個練習中,您將建立「Customer」和「Account」領域 EJB 類別以及它們的介面。您可以在 framework 套件中建立 IAccount 和 ICustomer 介面。

建立領域 Enterprise Bean 的模型

「Customer」和「Account」Enterprise Bean 會組成 PiggyBank 設計模型的領域,並且可用來持續應用程式資料。「Customer」和「Account」類別是衍生自 您在 PiggyBank 分析模型中所識別的兩個相同類別。顯示 Account 和 Customer 類別的原始領域圖型。PiggyBank 設計模型不包含持續性 Check 和 Transfer 類別。 由於您在設計時已決定不要持續轉送或檢查資料, 因此不需要建立持續性的 Transfer 和 Check 商業物件。

建立 EJB Customer 的模型:
  1. 模型瀏覽器視圖中, 展開企業 IT 設計模型, 然後展開 PiggyBank Implementation Designs
  2. 用滑鼠右鍵按一下 itso.ad.business 子套件; 然後按一下新增 UML > 套件
  3. 將套件命名為 model
  4. 模型瀏覽器視圖中,按兩下主要
  5. 在圖型編輯器中,將圖型命名為 model - Persistent Entity (EJB) Model
  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 Entity EJB。您的圖型看起來應該與下圖類似:

客戶 EJB。

建立 EJB Account 的模型:
  1. 在「選用區」中,按兩下類別,然後將類別命名為 Account
  2. 在圖型編輯器中,用滑鼠右鍵按一下 Account 類別; 然後按一下新增 UML > 屬性
  3. 將屬性命名為 balance
  4. 在「內容」視圖中,按一下選取類型
  5. 選取元素視窗中,按一下 Integer
  6. 新增 String 類型的屬性至稱為 accountNumber 的 Account 類別。
  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」Enterprise Bean 的 getData 作業會傳回您在之前的練習中所建立的轉送物件介面。您的圖型看起來應該與下圖類似:

Customer 和 Account EJB 的關係。

建立Transfer 物件 Enterprise Bean 的模型

Transfer 物件 Enterprise Bean 是用來轉送 PiggyBank 設計模型的不同層之間的資料。PiggyBankEJBCustomerTO 和 PiggyBankEJBAccountTO 會實作您在組織架構元件層中所定義的 ICustomer 和 IAccount 介面。

建立 PiggyBankEJBCustomerTO 的模型:
  1. 模型瀏覽器視圖中, 展開企業 IT 設計模型, 然後展開 PiggyBank Implementation Designs
  2. 用滑鼠右鍵按一下 itso.ad.business 子套件; 然後按一下新增 UML > 套件
  3. 將套件命名為 to
  4. 模型瀏覽器視圖中,按兩下主要
  5. 在圖型編輯器中,新增 interfaces.to - Transfer Object Implementations 這個標題。
  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 Enterprise Bean 的模型。PiggyBankEJBCustomerTO 包含一個單一建構子,可針對已給定客戶 ID 和名稱的類別建立實例。您現在必須針對 PiggyBankEJBCustomerTO Enterprise Bean 與 ICustomerTO 介面之間的關係來建立模型。

建立實作關係的模型:
  1. 模型瀏覽器視圖中, 展開企業 IT 設計模型,展開 PiggyBank Implementation Designs,展開 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 類別。
  7. 在圖型編輯器中,用滑鼠右鍵按一下 PiggyBankEJBAccountTO 類別; 然後按一下新增 UML > 作業
  8. 將作業命名為 PiggyBankEJBAccountTO ( newAooumtNumber, newBalance )
  9. 在「內容」視圖的參數頁面中, 按一下 newAccountNumber 參數的類型欄位, 然後將參數類型變更為 String
  10. 按一下 newBalance 參數的類型欄位, 然後將參數類型變更為 Integer
您現在已經建立 PiggyBankEJBAccountTO Enterprise Bean 的模型。PiggyBankEJBAccountTO 包含一個單一建構子,可針對已給定帳號和餘額的類別建立實例。您現在必須針對 PiggyBankEJBAccountTO Enterprise Bean 與 IAccountTO 介面之間的關係來建立模型。

建立實作關係的模型:
  1. 模型瀏覽器視圖中, 展開企業 IT 設計模型,展開 PiggyBank Implementation Designs,展開 itso.ad.business, 然後展開 framework
  2. interfaces.to 子套件中, 按一下 IAccountTO 類別並將它拖曳到圖型中。
  3. 在「選用區」中,按一下實作
  4. 在圖型編輯器中,按一下 PiggyBankEJBAccountTO 類別, 然後將它拖曳到 IAccountTO 介面。

您的圖型看起來應該與下圖類似:

PiggyBankEJBCustomerTO 和 PiggyBankEJBAccountTO 物件

建立 Facade Enterprise Bean 的模型

Facade 元件可將持續性應用程式資料與商業邏輯隔開。Facade Enterprise Bean 是由 PiggyBankController 類別所定義,而此類別是衍生自您在 PiggyBank 分析模型中所識別的控制類別。

建立 PiggyBankController 類別的模型:
  1. 模型瀏覽器視圖中, 展開企業 IT 設計模型, 然後展開 PiggyBank Implementation Designs
  2. itso.ad.business 子套件中, 用滑鼠右鍵按一下 EJB 套件; 然後按一下新增 UML > 套件
  3. 將新的套件命名為 facade
  4. 模型瀏覽器中,按兩下主要圖型,然後新增 facade - Session Facade (EJB Stateless Bean) on model 這個標題。
  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 參數的類型欄位, 然後將參數類型變更為字串
  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 參數的類型欄位, 然後將參數類型變更為字串
  4. 在「內容」視圖的一般頁面中, 按一下設定傳回類型
  5. 選取元素視窗中,展開 itso.ad.business, 展開 framework,然後在 interfaces.to 套件中,按一下 ICustomerTO

建立 transfer 作業的模型:
  1. 在圖型編輯器中,用滑鼠右鍵按一下 PiggyBankController 類別; 然後按一下新增 UML > 作業
  2. 將作業命名為 transfer ( amountToTransfer, creditAccountNr, customerId, debitAccountNr )
  3. 在「內容」視圖的參數頁面中, 按一下 amountToTransfer 參數的類型欄位, 然後將參數類型變更為 Integer
  4. 按一下 creditAccountNr 參數的類型欄位, 然後將參數類型變更為 String
  5. 按一下 customerId 參數的類型欄位, 然後將參數類型變更為 String
  6. 按一下 debitAccountNr 參數的類型欄位, 然後將參數類型變更為 String

您已經建立 itso.ad.business 商業元件層 Facade 的模型。您的圖型看起來應該與下圖類似:

PiggyBankController 類別包含 PiggyBank itso.ad.business 設計層的 Facade 實作。
使用條款 | 意見
(C) Copyright IBM Corporation 2004, 2005. All Rights Reserved.