WBSF(WebSphere Business Services Fabric)讓我們在 SOA 開發中能夠根據服務策略動態調用商務服務。本文通過一個具體的例子,介紹如何通過 WBSF V6.02 的 SCA 編程模型動態調用商務服務。
組裝服務流程
建立 AccountQueryProcess 商務程序:
將 WID 切換至”Business Integration” perspective,在 AccountQueryModule 項目中建立 AccountQueryProc 介面 , 該介面包含 query 方法,如圖 1 所示:
圖 1 建立 AccountQueryProc 介面
在 AccountQueryModule 項目中建立 Business Process “AccountQueryProcess”,為該 bpel 選擇介面為 AccountQueryProc。該 bpel 首先調用 AuthorizationService,然後調用 AccountQueryService,如圖 2 所示:
圖 2 AccountQueryProcess 流程實現
在”Business Integration”視圖下,將 AccountQueryProcess 從 Business Logic 中拖入 Assembly Diagram,WID 將產生以該 BPEL 為實現的 SCA 組件。
通過 Dynamic Assembly 組件組裝商務服務:
在 Assembly Diagram 中添加一個 Dynamic Assembler 組件,命名為” AuthorServiceDA”,為其添加 AuthorizationService 介面。雙擊該組件,產生 DA 實現,如圖 3 所示。為 AccountQueryProcess 組件添加到 AuthorServiceDA 的引用。
圖 3 AuthorServiceDA 實現
按照同樣的步驟,添加 AccountQueryDA Dynamic Assembler 組件,為其選擇 AccountQueryService 介面,同樣將其添加為 AccountQueryProcess 的引用。如圖 4 所示。按右鍵 AccountQueryProcess 組件,選擇”Synchronize interfaces and references”=>”to implementation”。在 bpel 中將產生兩個對應的 Reference Partner。
圖 4 為 AccountQueryProcess 添加到 DA 的引用
用流程編輯器開啟 AccountQueryProcess,為 AuthorizationService 的調用設定 Partner 為產生的 AuthorizationServicePartner,如圖 5 所示:
圖 5 設定 AuthorizationService Partner
同樣為 AccountQueryService 的調用設定 Partner,如圖 6 所示:
圖 6 為 AccountQueryService 設定 Partner