基於事件的 SOA 治理解決方案
轉自:http://www.ibm.com/developerworks/cn/webservices/ws-eventbasedsoagovernance/index.html
隨著更多 SOA 解決方案得到部署,對自動化的、事件驅動的 SOA 治理解決方案的需求也在增加。本文介紹了可基於治理事件自動處理治理流程的解決方案。
隨著越來越多的 SOA 解決方案得到部署,對自動化的、事件驅動的 SOA 治理模型和解決方案的需求也在增加。當前,IBM 已開發了一種 SOA 治理方法 —— SOA Governance and Management Method (SGMM),和數種與 SOA 治理相關的產品,例如 WebSphere Service Registry and Repository (WSRR) 和 Rational Method Composer (RMC)。然而,在客戶專案中,仍然存在一些問題:
- 如何基於治理事件自動處理治理流程?
- 是否存在基於行業的治理解決方案?
為解決這些問題,我們開發了基於保險業的 SOA 治理解決方案。此解決方案包含 IBM WebSphere Service Registry and Repository,和一種新近採用的業務事件處理產品 WebSphere Business Event (WBE)。本文將詳細介紹此解決方案。
在一些專案中,客戶需要監控服務生命週期,並需要一種方法以根據事件而觸發服務生命週期變更。這些事件可以是業務事件(如新經營戰略公告)或 IT 時間(例如其他獨立服務的生命週期變更)。圖 1 描述瞭解決方案架構。
WebSphere Service Registry and Repository
WebSphere Service Registry and Repository (WSRR) 是面向服務描述的主後設資料儲存庫。其概念有二:登錄檔 (Registry) 和儲存庫 (Repository)。登錄檔支援後設資料釋出,而儲存庫提供儲存、管理後設資料的功能。除了基本功能之外,WSRR 還通過以下能力而支援服務生命週期管理:
- 服務工件的模型生命週期;
- 在多種開發環境中管理服務在生命週期各階段的提升;
- 執行影響分析,將變更傳達至受到治理的服務後設資料。
業務模型
為了促進業務的表示和管理,WSRR 支援與下例相似的業務模型配置,下例表示了與業務角色有關的實體的型別。這裡定義了 5 個基本業務模型概念:業務應用程式、流程、服務、組織和合同。使用者能夠建立和更新基於 Web Ontology Language (WOL) 檔案的業務模型。
- 業務應用程式:“業務應用程式” 表示可滿足直接業務需求的高階業務應用程式。“應用程式” 支援將業務應用程式對映到 IT 裝置。
- 業務流程:“流程” 表示公共的(由多個應用程式共享的)業務流程。“流程” 依賴於其他流程和服務,通常由那些相關服務的組合通過例如 WebSphere Integration Developer (WID) 等工具而執行,並通過 WebSphere Process Server (WPS) 而實現。
- 業務服務:“業務服務” 表示公共的(共享的)業務級服務。這是 SOA 中有效的 “編目” 專案。WSDL 介面和端點將從這裡引用。
- 組織:“組織” 表示一個業務級的組織單元 —— 有效的業務線。SOA 中通常需要這種高階表示,以識別服務的提供者或使用者,以及組織觀念上的主要 “所有者”。“組織” 也可能用於對應 UDDI “businessEntity”,儘管治理檔案中不包含與 UDDI 的同步。
- 合同:“合同” 表示兩個組織之間的協議,涉及所提供的服務以及提供者和使用者組織之間認可的策略。
技術模型
除了業務模型,WSRR 還基於 WSDL 和 XSD 中表示的服務定義而維護一種服務登錄檔。例如,對於一個實際 WSDL 檔案而言,如果它載入到 WSRR 中,就會生成相關的 WSRR 後設資料:WSDLDocument 表示文件本身,相應地,WSDLService、WSDLPort、WSDLBinding 和 WSDLPorttype 是從 WSDLDocument 中分析的邏輯物件。還存在技術層,物理物件和邏輯物件(例如 Service、ServiceEndpoint、ServiceBinding 和 ServiceInterface 物件)都與之連結。
業務模型和技術模型並不完全分離。從業務模型可控制相應的技術模型,反之亦然。
治理生命週期和治理策略
WSRR 是 SOA 治理的主要產品之一。WSRR 具有預設生命週期,作為標準安裝的一部分而安裝。使用者可定義服務生命週期模型,此模型能使用 IBM WebSphere Integration Developer 工具開發並載入到 WSRR 中。生命週期階段、運營狀態、服務定義狀態都用於提供一種機制,以實現使用、重用、可視性和運營穩定性以及健康。
WSRR 提供了處理治理策略的功能。在這裡我們利用這種特性來處理是否允許發生服務轉換的條件。
圖 2 例示了完整服務生命週期以及控制點和可交付成果。
2008 年,IBM 公佈了 WebSphere Business Event (WBE),此產品旨在管理系統和人員間流動的業務事件,目標是提供感知和響應不斷變化的業務條件的能力。它在產品設計中採用了 Business Event Processing (BEP) 的重要概念。它允許業務使用者以業務語言描述業務事件和模式,及時檢測、評估和反應,以實現業務目標。
WBE 包括 3 個無縫整合的元素:設計環境、執行時環境和資產儲存庫。有兩種設計工具,一種面向 IT 開發人員,另一種面向業務人員。IT 開發人員識別接觸點和聯結器以及業務物件,業務物件提供後設資料定義層以允許資料在接觸點之間通過 Design Data 無縫地移動。業務人員指定 Interaction Set,它確定了業務系統如何彼此互操作;一個 Interaction Set 包含一個 Event、一個或多個 Action,可能有 Filter。可選擇應用 Filter 來確定是否應當採取某 Action,還能使用 Filter 來檢查 Event 模式以確定評估當前 Event 的條件是否存在。下圖為組成元素及其關係。
圖 3. WebSphere Business Event 元素和關係
此解決方案中使用 WBE 來接收在 WSRR 或其他渠道中發放的服務治理事件並進行處理。使用預定義的治理流程模式,WBE 能幫助解決決策問題、動態地對 SOA 治理中人員、流程和資訊之間簡單或複雜的關係作出反應。
本解決方案中的 Event Handler 目標在於監聽並處理 WSRR 中發生的服務轉換。在這裡,定義了一個治理通知外掛,它編寫為可實現 com.ibm.serviceregistry.governance.ServiceRegistryGovernanceNotifier2 介面的 Java Class。ServiceRegistryGovernanceNotifier2 介面擴充套件了原始 ServiceRegistryGovernanceNotifier 介面,提供更多功能。以下是類層次。從中我們能夠看到 ServiceRegistryGovernanceNotifier2 相比 ServiceRegistryGovernanceNotifier 介面,多出三種方法:makeGovernable()、removeGovernance() 和 validate()。
一旦服務轉換事件被監聽,事件處理程式就將之轉換為 WBE 可接受的事件格式,並將事件傳送到 WBE。
本解決方法的技術特性如上所述。下面使用一個行業示例來著重介紹用例。我們將使用保險業中 Property & Casualty (P & C) Underwriting 的典型業務。
Underwriting 將管理必要活動,以支援對合同(新合同和有效合同)的風險評估,從而確定接受、改變或拒絕所提出的風險。所以 P&C Underwriting 為 P&C 保險策略提供建議,描述了公司可接受的保證和條件,考慮了所有風險和客戶狀況。準備好提供資訊,以便對公司可接受的保證和條件作出決議。這將構成與客戶進行協商、建議接受或拒絕風險的根據。資訊準備工作明顯包括指定初步 Terms & Conditions、計算可選保險費以及評估是否需要再保險。
其業務模型如下圖所示。
業務管理將其載入 WSRR。接下來,定義並開發相應的結束模型,例如 WSDL、XSD,並將這些檔案釋出到 WSRR 中。
同樣,服務管理開發了業務模型生命週期和技術模型生命週期以治理流程。
下圖顯示了業務模型生命週期和狀態和轉換:
圖 6. P&C 業務模型生命週期
圖 7. 業務狀態和轉換
下面的圖 8 和圖 9 顯示了技術模型生命週期、狀態和轉換。
圖 8. P&C 技術模型生命週期
圖 9. 技術狀態和轉換
在本例中,因為 P&C Underwriting 業務流程包含多個在 WBE 中開發和成熟的業務服務和 IT 服務,所以可根據以下清單定義一個互操作集合:
if Allof(P&CUnderwritingService.State = "Published") then P&CUnderwritingBusinessProcess.State = "Realized" |
當 WBE 檢測到任何由 Event Handler 發出的、指定組成服務轉換狀態的事件時,將不會執行任何操作。當所有組成服務狀態為 “Published” 時,WBE 採取措施,將 P&C Underwriting 業務流程狀態轉換為 “Realized”。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14780828/viewspace-626566/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基於 Rainbond 的混合雲管理解決方案AI
- 基於電子健康檔案的區域醫療 SOA 解決方案
- 基於SOA 的儲存管理
- 案例研究:用於實現綠色解決方案的智慧 SOA 方法
- SOA 治理框架和解決方案架構框架架構
- vue基於d2-admin的RBAC許可權管理解決方案Vue
- 基於 SOA 的工作流(WF)整合
- [譯] 理解 NodeJS 中基於事件驅動的架構NodeJS事件架構
- 基於 SOA 的未來保險運營模式模式
- ERP與SOA結合:基於SOA的ERP體系架構架構
- 基於Vue & SVG 的 icon 解決方案VueSVG
- 基於RocketMq的分散式事務解決方案MQ分散式
- 基於後編譯的國際化解決方案編譯
- 基於事件的排程事件
- SOA架構的域控制器測試解決方案架構
- 乾貨:基於scss的主題配色解決方案CSS
- Verizon和Novell推出基於雲的安全解決方案
- 基於mpvue的小程式markdown適配解決方案Vue
- 智慧家居基於精益的數字化解決方案
- 基於 VLC 的 Android 多媒體解決方案Android
- 【XMPP】基於XMPP的即時通訊解決方案
- 基於IP-PBX的VoIP系統解決方案
- 基於hudson分散式測試解決方案分散式
- 基於webpack搭建前端工程解決方案探索Web前端
- 關於shiroFilter的全域性異常統一處理解決方案Filter
- 基於策略的管理方案
- 使用 Rational 加速基於 XML 的 SOA 的 JSF 開發二XMLJS
- 家居行業基於精益的數字化解決方案行業
- 服務雪崩的6種解決方案(基於ribbon)
- 基於.NET的程式讀取Excel檔案的解決方案Excel
- SOA解決方案中涉及的遺留系統的設計策略(4)
- SOA之(1)——SOA架構基礎概念架構
- 區域醫療 SOA 解決方案,使用 IBM 解決方案實現醫療文件共享IBM
- 關於決策樹的理解
- 介紹基於事件的架構事件架構
- 基於等待事件的效能診斷事件
- 一種基於事件驅動架構的 SAP 產品整合方案介紹事件架構
- PDM的工程圖 紙管理解決方案