在SOA開發中使用WBSF動態調用商務服務,第2部分(上)

來源:互聯網
上載者:User

引言

在上一篇文章中,我們介紹了WBSF動態調用商務服務的基本概念和工作原理。WBSF讓我們在SOA 開發中能夠根據服務策略動態調用商務服務。WBSF V6.02 提供了SCA 編程模型,讓開發商務服務更加靈活,方便。本文通過一個具體的例子,介紹如何通過 WBSF V6.02 的 SCA 編程模型動態調用商務服務。我們將基於內容屬性制定服務策略;在ResponseListener 擴充中設定基於服務內容的斷言;通過 ContextExtractor 擴充更新事務中的內容屬性;

業務情境與建模

業務情境:

考慮一個如下的銀行帳戶餘額查詢的業務情境:使用者向帳戶查詢系統提交使用者名稱和帳戶名稱,系統首先通過授權服務擷取使用者服務層級,接著調用帳戶查詢服務,將賬戶餘額資訊返回給客戶。對於通過門戶網站通道進行的查詢,授權服務採用 HTTP 基本認證方式;對於通過 WebService 通道進行的查詢,授權服務採用 HTTPS 客戶機認證方式。對於不同服務等級的使用者,將使用不同處理能力的查詢服務。

業務建模:

商務程序:

AccountQueryProcess:輸入為使用者名稱與使用者帳號。首先調用 AuthorizationService擷取使用者服務層級;然後調用AccountQueryService查詢帳戶餘額作為返回。

Web Services:

AuthorizationService:輸入為使用者名稱,返回使用者服務層級

AccountQueryService:輸入為帳戶名稱,返回帳戶餘額

準備 Web Service

在WID中建立AccountQueryModule項目

開啟 WID,切換至Business Integration Perspective,建立Module 如圖 1 所示。

圖 1 建立AccountQueryModule項目

建立Authorization Service:

在AccountQueryModule中建立AuthorizaitonService 介面,該介面包括getServiceLevel方法,如圖 2 所示:

圖 2 建立AuthorizationService 介面

開啟 AccountQueryModule 的 Assembly Diagram,添加 AuthorizationService_HTTPBA 組件,該組件類比採用 HTTP 基本認證方式的授權服務。為該組件添加 AuthorizaitonService 介面,如圖 3 所示。雙擊組件,實作類別型選擇”java”。主要實現代碼如樣本 1 所示。

樣本 1 AuthorizationService_HTTPBA 組件實現

public class AuthorizationService_HTTPBAImpl {
  public String getServiceLevel(String userId) {
 return "SILVER";
  }
  }

圖 3 為組件添加 AuthorizationService 介面

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.