引言
在服務導向架構(SOA)中,商務服務(Business Service)代表了一組業務功能,其業務行為能夠根據建立的策略和運行時上下文自適應調整,以更好地滿足服務使用者的需求。
商務服務具有以下特點:
1.從業務層面對業務功能進行設計
2.通過業務策略和中繼資料來實現靈活,自適應的業務行為
3.通過參照行業模型以簡化各個系統之間的互操作
4.基於web service 和行業標準構建
因此,通過商務服務構建IT 應用使得 IT 實現與業務需求吻合,非常好地體現了如下SOA理念:低成本,靈活自適應的的解決方案;最大化 IT 資產的可重用性;通過增量的解決方案降低了開發風險。
IBM WebSphere Business Services Fabric(WBSF)是對商務服務進行建模,組裝,部署,管理和監控的軟體平台。其產品包由三個部分組成:
IBM WebSphere Business Services Foundation Pack:基於WebSphere Process Server 構建的商務服務管理和運行時環境。
IBM WebSphere Business Services Tool Pack:基於WID(WebSphere Integration Developer)的Eclipse 外掛程式,提供商務服務的設計和組裝工具。
Industry Content Packs( 可選 ):一組基於行業標準和行業經驗的SOA 資產,例如行業模型,規則,泛型服務等,可以加速行業 SOA 解決方案的開發。
具體來說,WBSF 能夠根據服務的上下文 (Context) 資訊動態地調用在其服務模型庫 (Service Repository) 登記的商務服務,如圖 1 所示 .。在運行時刻,WBSF 通過服務上下文資訊對與之相關的策略 (Policy) 進行計算與檢查,得到一組商務服務應該滿足的斷言 (Assertion),以選擇調用最佳的物理服務來滿足商務服務請求。
圖 1 WBSF 動態服務選取工作原理
在6.02 版本中,WBSF 最重要的增強在於在商務服務的設計和組裝中引入了SCA 編程模型的支援。WBSF 引入了新的SCA組件用於對商務服務進行建模和組裝。在WID中對商務服務進行組裝時,可以通過Dynamic Assembler(DA) 對商務服務進行組裝;對於商務服務的動態組合,WBSF提供了5 種 SCA擴充方便開發人員對商務服務的調用進行定製。我們在後續部分介紹這 5 類 SCA擴充。
什麼是Context
Context 即上下文資訊,是運行時與服務相關的一組中繼資料。在WBSF中,服務的上下文資訊主要包括如下內容:
Service Interface( 必需 ):服務介面名稱的URI,WBSF 將在運行時選擇與此介面匹配的endpoint作為候選。
Subscription ID( 可選 ):使用者對商務服務登記的ID。該 ID 將使用者與服務的一組上下文資訊 ( 服務所屬的Application Suite,Application, Business Service, service Interface, Channel,Role,User 等 ) 關聯起來。在WBSF中,應用程式套件 (Application Suite) 是最廣泛的概念,包括一個或者多個應用程式 (Application),應用程式套件組合括一個或多個特定業務功能相關的商務服務(Business Service), 商務服務代則是表示特定的業務功能,包括一組特定的服務。通道 (Channel) 是使用者使用商務服務的通道,Role 和 User 則是通過特定通道使用商務服務的使用者組和使用者。WBSF 在運行時根據 Subscription ID 獲與此調用者相對應的從上至下一組上下文資訊。
Additional Properties( 可選 ):所有基於服務內容 (Content)的屬性,用於基於內容的斷言 (Content based Assertion)擴充。例如,在申請貸款的商務服務中,使用者的信用值屬於服務內容 ( 服務參數 ),同時也可以作為商務服務的上下文資訊,用於選擇不同層級的服務。
所有 Context 屬性均以“名字 - 值”對的形式表示。
Context 屬性有兩種類型,一種是基於內容相關的屬性,主要包括 Service Interface, 以及與Subscription ID相關的一組與服務內容無關的非功能屬性,可以為任何服務擁有。另一類為基於服務內容的屬性,這種屬性只為特定類型的服務擁有,一般與服務功能或者內容相關。例如,使用者信用值屬性是貸款申請相互關聯類型的服務所特有的。