一個基於Mule ESB的綜合業務處理平台的設計和實現
技術廣角
作者:陳真理 俞東進 劉其群
摘要:在進行企業應用集成過程中,企業服務總線技術經常被用於組織內部或跨組織邊界的不同應用係統的連接,以達到在不改變已有應用的情況下最大限度地簡化業務流程的目的。基於企業服務總線技術提出了一個支持跨係統數據交換和業務交互的綜合業務處理平台的設計方案。該平台基於Mule ESB、Apache Drools等開源軟件實現,其中Mule ESB用於構建企業服務總線,Apache Drools用於構建規則引擎。初步實驗結果驗證了該平台的有效性。
關鍵詞:企業服務總線;企業應用集成;綜合業務處理平台;開放源碼
中圖分類號:TP311 文獻標誌碼:A 文章編號:1006-8228(2013)08-08-03
0 引言
企業應用集成(Enterprise Application Integration,EAI)泛指連接、管理和組合企業間和企業內應用,使其能以統一的方式進行互聯和互操作,以支持業務過程自動化的技術。從應用的角度上講,它包含了兩個方麵的內容:數據交換和業務交互。其中,數據交換為參與應用集成的多個係統提供了一個統一的數據視圖;而業務交互則實現了跨係統的、粗粒度的、自治業務的實時調用。
隨著信息化建設的不斷推進,企、事業單位內的信息係統規模不斷擴展而變得越來越複雜。信息化發展的階段性、標準不統一以及各種認識上的誤區,經常會導致所謂的“信息孤島”現象,從而產生各種數據孤島(不同部門的信息不能共享)、係統孤島(不同係統彼此獨立而無法共用)、業務孤島(不能實現跨部門、跨業務的業務流轉和協同)、管控孤島(不能實現信息係統的集成化管理)等。
解決“信息孤島”問題有各種對策,例如:統一進行信息資源規劃、理順組織內的數據流等。但是這些方法往往意味著需要對現有各個遺留係統進行重構,甚至重新設計和開發,成本巨大,見效緩慢。通過構建集成化的綜合業務處理平台實現不同應用係統的集成則是一種更為人們所接受的解決“信息孤島”問題的方法。這裏,平台是可以適應於不同係統之間信息共享的通用工具,它通過企業應用集成技術將一個單位的業務流程、公共數據、應用軟件、硬件和各種標準聯合起來,在不同應用係統之間實現無縫集成。這種方案可以最大程度地保留已有係統的投資,同時可達到不同係統之間的信息共享和業務協同的目標。
在構建集成化的綜合業務處理平台過程中,以服務的視角建模發生在鬆耦合的異構係統之間的數據交換和業務交互過程,可以很好地滿足企業應用集成對靈活性和可重用性的要求,是一種主流的技術方法。這裏,服務泛指自治、開放、自描述、並與實現無關的網絡構件[1]。各係統存在的數據抽取、數據發布、粗粒度的業務構件等都可以被抽象為一個個的服務,而所謂的應用集成便是這些服務的發布、查找以及服務與服務之間的綁定和調用。在這其中,麵臨的主要困難是參與集成的各個係統的異構性。然而,幸運的是,近年來以企業應用集成為主要應用領域的麵向服務架構(Service-Oriented Architecture,SOA)的實現正逐步過渡到建立在IT標準的基礎之上[2],如使用SCA組裝構件,使用BEPL編排服務,使用WSDL描述服務。這些標準和協議的形成代表著基於SOA實施的應用集成與廠商平台無關,從而為實現分布、異構的獨立係統之間的互聯提供了可能。
對於如何構建基於服務技術的綜合業務處理平台,國內外已有較多的研究。例如,文獻[3]提出了一個“代理+服務器”鬆散耦合模式的數據交換平台(DEP),該平台利用數據傳輸服務和消息服務分別實現交換數據的傳輸和數據交換過程中的流程控製;文獻[4]提出了一種基於企業服務總線技術的電子政務數據共享與交換平台的體係結構;論文[5]給出了一個以企業服務總線為中心的麵向服務軟件體係架構的參考模型,並基於Petri網和時序邏輯從形式上對原型係統進行了需求規範描述及功能正確性驗證等。