正文 SOA體係架構在雲南農信信貸管理係統中的應用研究(2 / 3)

三、SOA體係在信貸管理係統框架的應用及優勢

作為一個基於SOA體係的架構,麵向服務的應用在信貸管理係統框架中主要體現在核心層和交換層兩方麵:一方麵在核心層有選擇地將一部分J2EE編寫的共用且獨立的業務邏輯服務化,並使用WPS流程引擎將人工任務和業務服務組合調用;另一方麵在交換層采用企業總線的方式進行服務發布和跨係統的服務交互,減少了接口的數量和複雜性,提供統一的服務發布、發現和使用平台。

(一)傳統方式的業務實現與WPS引擎服務流程組裝

首先,業務邏輯使用J2EE框架開發,底層java組件采用工廠模型的方式初始化和擴展,數據對象使用統一的交換格式和操作方法,方便業務BEAN統一接口並服務化。

然後,J2EE框架與SOA結合,有選擇性的將一些需要被共享的已實現的業務邏輯從J2EE中容器中提煉出來。信貸管理係統應用程序和信貸BPEL流程一樣,作為J2EE應用程序部署到WPS服務器上。BPEL流程中的服務調用組件使用web服務或遠程EJB調用的方式使用提煉後的業務服務。

最後,使用BPEL語言的流程在WPS中運行,流程每處理或完成一個審批節點會觸發共享庫中的事件響應,然後事件處理器將流程狀態、流程數據等信息寫回信貸管理係統數據庫中。BPEL業務流程中人工任務、業務規則、狀態變遷、服務調用組合在一起,形成了信貸管理係統業務審批過程。

先進行業務實現並服務化,再通過流程組裝的方式有如下優勢:

(1)以SOA體係架構為基礎,基於組件化建模分析方法拆解業務流程,但未使用純SOA組件化的開發方法,而是使用傳統的J2EE方式實現業務邏輯,再加入到SOA體係架構中,這種混合模式兼具先進性和通用性,一方麵平台具有高度靈活性,另一方麵又適合普通的軟件人員進行快速的程序開發;

(2)基於成熟、開放的企業java平台——J2EE為信貸管理係統構建了一個穩定的、可擴展的、高效的業務平台,架構層次邊界分明,易於開發和維護;

(3)業務邏輯服務化不僅在WPS內部,也可擴展到更遠的地方,可通過web service技術單獨地在Data Power和企業服務總線上發布接口,實現了與外部係統的雙向麵向服務的交互,進一步提高係統的外聯能力和協作能力;

(4)建立了一個開放的、基於BPEL標準的強大的工作流支撐平台,整合業務驅動,將人工審查審批與流程的自動化結合,在流程中觸發業務處理。基於服務方式的接口調用使得流程應用不與業務程序綁定,實現流程應用獨立的發布和管理;

(5)此外,與服務結合的WPS提供了一定靈活性,流程可以按類別、按地區、按功能、按時間等進行分類、組合,根據管理的要求做成一係列的應用程序,便於單獨分開地修改、更新和部署,全麵提升信貸管理工作的效率、質量和水平;

結合信貸管理係統實際的實施經驗,總體來說,先具有獨立的業務邏輯實現和服務化,而後又有通過WPS流程進行服務組裝調用,這種設計和實現思路符合SOA基於業務的鬆耦、合並、獨立且具有統一接口定義的體係特點。

(二)Data Power與ESB互備方式的企業服務總線

信貸管理係統與其他業務係統交互的模式,采用企業服務總線的方式,是邏輯上與SOA 所遵循的基本原則保持一致的服務集成基礎架構,它提供了服務管理的方法以及在分布式異構環境中進行服務交互的功能。該模式基於開放的web service標準,將信貸、核心、前置等係統中複雜的業務過程封裝成服務,服務接口發布在使用Data Power或WebSphere ESB創建的係統間業務服務總線上,在總線上的各個係統統一使用基於SOAP/HTTP的web service進行服務交互和數據交換。

交換層平台使用IBM Data Power XI50專用設備作為企業服務總線,以標準的web service方式支持各個係統間的交互。同時,為了保證企業總線具有高可靠性,使用WebSphere ESB V6.1件總線作為Data Power服務總線的熱備份,當Data Power出現問題時, ESB接管原發送自Data Power的所有請求,臨時充當企業服務總線角色。