本文配套源碼
引言
本系列的第2部分描述我們將在WebSphere Process Server V6.1中構建和部署以便與WebSphere Business Services Fabric(以下稱為 Fabric)互動的應用程式的需求。此應用程式類比一個汽車貸款 擷取系統,該系統接受使用者資訊,並使用貸款請求的批准或拒絕結果做出響應。您將瞭解如何構建本體 擴充以捕獲商務程序中的可變點並支援動態綁定,在動態綁定中,服務端點是在服務調用時動態發現的 。
Fabric消除了對硬式編碼靜態服務綁定的需要,並提供了後期服務綁定以支援更加泛化的流程模型 。使用Fabric,您可以定義抽象商務程序,並在控制運行時行為並將流程與更改隔離的業務策略中捕獲 流程可變點。Fabric 使得動態更改商務程序的行為以便有效地響應不斷變化的業務需求成為可能。
先決條件
為了完成本文中的步驟,您需要以下內容:
安裝了以下功能的 Rational® Software Architect V7:
可擴充性功能(除可重用資產規範 (Reusable Asset Specification) 以外的所有功能)
WSDL 和 XSD 建模與轉換
IBM® Business Services Fabric 建模工具
Fabric 業務術語表和 Fabric 本體概要(在 Fabric V6.1 Tool Pack 的建模檔案夾中可用)
Fabric Core Stubs(在 Fabric V6.1 Tool Pack 的建模檔案夾中可用)
關於用例
在本系列的後續部分中,您將開發一個類比汽車貸款擷取流程的組合商務應用程式。當使用者提交貸款 請求時,該系統將處理請求,並執行以下任務:
信用驗證
許可證驗證
貸款供應
表 1 描述了該用例的主要元素:
表 1. 汽車貸款擷取系統用例元素
用例元素 |
描述 |
汽車貸款擷取系統 |
處理使用者的貸款請求 |
用例描述 |
使用者提交貸款請求以購買汽車。 |
主要參與者 |
任何使用者 |
基本流 |
信用驗證和許可證驗證成功,批准利率不定的貸款。 |
替代流 |
信用驗證或許可證驗證失敗。拒絕貸款請求。 |
實現汽車貸款流程
圖 1 顯示了該汽車貸款擷取系統的流。
圖 1. 汽車貸款擷取系統流程圖
如圖 1 所示,該汽車貸款流程需要與各個第三方服務提供者整合,例如 LicenseVerificationService 和 LoanProviderService。第三方服務提供者將它們的功能作為 Web 服 務公開。
在實現汽車貸款擷取流程時,您通常會在商務程序中使用各種 if...else 條件,如圖 1 所示,並對 服務綁定進行寫入程式碼,從而使您的流程變得僵化,不太容易適應變化。研究圖 1 中的汽車貸款擷取業務 流程可以看到,流程中涉及到各個可變點:
取決於當天的時間,需要調用不同的端點(CreditCheckService DayEP 或 CreditCheckServiceNightEP)來提供信用驗證服務。
取決於客戶的位置(加利福尼亞或德克薩斯),需要調用不同的端點(LicenseVerificationCAEP 或 LicenseVerificationNonCAEP)來提供許可證驗證服務。
取決於客戶類型(金牌或銀牌客戶),需要調用不同的端點(LoanProviderGoldEP 或 LoanProviderSilverEP)以不同的回應時間向客戶提供貸款。
隨著服務和流程可變點的數量開始增加,使用上述方法管理商務程序將變得非常繁瑣並降低了靈活性 。要將更改整合到流程中,開發人員需要更新和重新部署商務程序。例如,假設該汽車貸款商務程序現 在要求您為新的客戶類別提供服務,比方說白金客戶,並且為白金客戶提供服務的回應時間應該快於現 有的金牌和銀牌客戶。要整合此更改,商務程序中需要另一個 if...else 構造來調用特定的端點,比方 說 LoanProviderPlatinumEP,以滿足該需求,從而需要更改商務程序並對其進行重新部署。如果沒有準 備恰當的治理流程,將很難確定此更改如何影響商務程序。