基于SOA/EDA電信企業應用集成技術研究
0 引言
本文引用地址:http://www.j9360.com/article/201807/384169.htm國內電信行業竟爭日趨激烈,是機遇也是挑戰。目前,大多數電信公司存在系統版本多、系統間共享數據和信息程度差,這不可避免地形成一個個信息孤島。但是這些孤立的應用程序有的是這些企業的關鍵業務,不可能全部替換或放棄,而且從零開發意味著更大的花費。另外,很多時候需要不時地引人各種新的應用和系統,這些新方案是基于最新的體系結構的,它們與原有的老系統的體系架構有著很大的差異,因此,成功地實施企業應用的整體集成,是企業必須解決的問題。
1 EAI的定義和目標
EAI是一種在企業中集成應用程序和數據以便達到自動業務處理的規則和方法,是指在企業中的系統集成,包括應用程序、數據和過程的集成。EAI已經成為最近幾年應用程序和信息系統開發的驅動力。EAI更強調I(Integration,集成),不是C(Center,集中),也不是A(Application,應用)。EAI目標主要解決:
(1)信息孤島問題:通過集成不同的系統,建立打通信息孤島的通信通道;通過建立數據傳輸通道、數據模型和數據轉換,建立打通信息孤島的數據通道。打破信息孤島,建立企業的數據總線。
(2)服務共享問題:多系統資源提供的多種服務可以發布在EAI平臺,EAI平臺提供企業 IT系統服務的承載和管理,可以基于這些服務利用EAI技術實現多種服務的組合,實現業務創新的技術支撐,建立企業的服務總線。
(3)流程隔裂問題:通過跨系統邊界的業務流程管理,建立橫貫信息孤島的業務流程管理通道.實現企業業務流程的端到端管理,提升企業業務流程的效率,增強企業的敏捷能力(Agilibility)和服務客戶的能力。
(4)全局不可見問題:基于建立的企業數據總線和業務流程管理總線,全局實時了解企業業務流程的運行狀態,并根據業務的關鍵性能指標定義,分析企業業務運行的瓶頸或問題,建立企業業務流程運行的全局視圖,服務于企業的決策。
2 企業集成新技術
傳統的面向信息和面向業務過程的集成的企業應用集成方案,很難于適應企業業務變化而帶來的需求變化。為了解決這樣的問題,需要一種既能快速適應企業業務需求變化,又能將遺留應用和數據庫納入進來,使其成為企業整體解決方案的一部分。這種架構的應用最終將使企業的架構能夠更快速、更有效地適應業務需求的變化。下面介紹這種新的應用集成架構- 面向服務的體系架構(SOA,Servie-Oriented Architecture),
2.1 SOA定義及服務模型
SOA是一種面向服務的企業應用體系架構。該架構提供了一種編程模型,使得分布部署在網絡上的服務組件能夠被其他應用程序或服務發現和調用。服務組件定義為:一個服務一般通過一個粗粒度的、可以被發現和綁定的軟件實體實現,它以單一實例的形式存在并與其他服務和應用通過松耦合的(一般是異步的)、基于消息的通訊機制進行交互。該架構由3個實體和3個基本操作構成。3個實體分別是:服務提供者(ServicePorvider),服務請求者(ServiecRequester)、服務代理(ServiecBroker);3個基本操作是發布、檢索和綁定。
(1)服務提供者。服務提供者是一個或一組以無狀態方式執行業務功能的組件,接受預定義的輸人和輸出。
(2)服務使用者。服務使用者是一組有興趣使用服務提供者所提供的一項或多項服務的組件。
(3)服務代理。服務代理包含服務的說明。服務提供者在該儲備庫中注冊其服務,而服務使用者訪間該儲備庫已發現的所提供的服務。
如圖1所示,服務提供者通過服務中介代理發布,并在UDDI注冊中心注冊,以WSDL形式描述可提供的功能接口。當服務請求者請求相關服務時,中介代理檢索 UDDI注冊中心,中介代理向服務請求者返回滿足條件的Web服務描述信息(WSDL形式),依據所獲得的WSDL信息,通過SOA〕協議和Web服務中的遠程對象綁定在一起,實現請求的發送和應答的接收。
2.2 事件驅動體系架構
事件驅動體系架構(event-driven architecture,EDA)是一種設計和構建應用的方法,其中事件觸發消息在獨立的非耦合模塊之間(它們之間不需要知道對方)傳遞。事件源通常發送消息到中間件或消息代理,訂閱者就可訂閱這個消息。由于事件消息用發布/訂閱方式通過消息代理傳輸,一個事件便可傳送給多個需要者。
EDA和SOA之間主要的區別是:在SOA中,發布者和需要者只有一對一的關系;而EDA中,事件發布者最終可以傳送消息給基于訂閱規則在MessageBorker注冊的任何數量的消費者。EDA的主要優勢在于它允許企業通過事件管理來標識和響應一個或多個系統中的事件。這些事件通過EDA被收集起來,可以被分析和定義相關模式.并可以構建信息模型來解決問題。這樣,企業可以在現實世界中實時地做出響應。
EDA的主要特點包括:
(1)異步EDA主要支持異步活動,在信息發出后,可以不必再關心是否能收到響應,同樣也不必在源和目的系統之間維持一條活的鏈路;
(2)發布/訂閱EDA主要支持多對多的交互。在EDA中系統發布一個關于事件的信息到網絡中,許多個其它的已經訂閱和授權的系統就可以收到消息井做出響應的動作;
(3)解耦EDA允許消息的發布者不知道訂閱者是誰,反之亦然。也就是說信息在兩個系統間交互時,根本不需要知道對方的詳細信息。支持事件和消息技術的主要模塊包括以下兩個:
①異步消息機制:系統體系結構必須要保證當事件發生時,相應的系統要能傳送異步的消息并考慮到事件的發生和處理會暫時不可用;
②事件管理:體系結構必須保證有一個系統用來識別、定義和聚集事件.這樣事件就可以像企業數據和業務流程那樣被統一管理。這包括了在事件發生時和發生后都可以訪問,并且可以在特定的業務場景中識別和訪問一系列事件。
2.3 新技術在企業應用集成中的結合應用
在面向服務的軟件體系結構中,核心思想就是以服務為中心,將企業應用構建成為服務的集合。通過標準的協議,這些服務可以被企業邊界內部或者跨越企業邊界的其它服務調用,使得新的企業應用可以構建在已有服務的基礎之上,成為組合服務。另外由于采用了標準的協議訪問和調用服務,使得服務可以做到位置獨立,使用服務的用戶也可以通過對服務注冊中心的查找獲得服務的描述信息。獲取描述信息后,用戶還可以與服務協商調用接口,實現對服務功能調用的綁定。基于 SOA的企業應用集成,稱之為面向服務的集成提供了一個抽象的接口,通過這些接口、系統可以進行交互,而不是使用底層的協議和自定義的編程接口來規定系統如何與其它系統進行通訊。系統只需要以服務的形式出現,然后選擇與該系統交互的其它系統,就能夠簡單發現那些服務.并且在運行或是設計的時候,與這些服務綁定。面向服務集成使得機構能夠在已有的應用中提供可重用的服務的功能。根據Gannet的觀點,現代靈活的企業IT基本架構模式是面向服務和事件驅動的。EDA和SOA是兩個互補的架構。SOA使用的時機是業務間題需要一個請求晌應或者實時解決方案,同時客戶事先知道該服務提供者。EDA使用的時機是業務需要單向消息收發,涉及長時間運行的異步流程,同時事件源不需要知道事件接收者是誰。可以看出SOA完全滿足提供一個靈活松鵝合的可擴展的基礎集成服務平臺,可以比較完善地實現數據集成和應用集成。而且隨著事件驅動架構的介人,可以順利地構建企業業務流程的建模和集成,最終實現企業應用集成的最高層次,即過程集成。
3 基于SOA/EDA電信企業應用集成體系結構
3.1 EAI平臺架構和原理
本應用實例是結合某省電信的 IT發展規劃和便于項目管理,特制定多期多階段發展企業 EAI平臺。EAI平臺分為數據總線、服務總線和業務流程總線三個層次,連接綜合受理、97系統、計費和統一客戶資料平臺等,三總線構成了整個企業 IT系統的神經主干道。如圖2所示。
企業數據總線(EIB,EnterpriseInfonnationBus)是提供不同系統數據傳輸的高速通道,以及數據基于標準的轉換。解決了面臨的信息孤島問題,實現不同系統之間的松耦合連接和松精合數據轉換,實現企業的 IT資源共享。
企業服務總線(ESB,EnterpriseServiecBus)是在企業數據總線基礎上,提供SOA服務發布機制,發布不同系統提供的業務服務,是數據層的進一步抽象,屏蔽不同系統在通信和數據上的差異。系統的同一數據可以封裝為不同的服務,EAI平臺發布服務的形式可以是WebService服務,IMS服務,CORBA服務、HTTP服務等,ESB提供服務的管理、服務的智能路由和服務之間的調用,其利用 BPM技術組合不同的服務(Serviec Orchestration)共同形成新的服務,而無需改變相關的不同系統。
企業業務流程管理總線(EBPMB,Enterprise BPM Bus)直接體現企業的跨系統業務流程,利用BPM技術實現不同系統間流程的銜接,并結合RuleFngine技術實現業務流程基于業務規則的智能化運行。業務流程對應企業的現實流程,是對企業流程的端到端管理,流程輸人觸發總線的業務流程實例,并依據流程的設定動態調用企業服務總線的服務,服務內部實現數據的轉換并在流程的驅動下訪問相應的系統。
3.2 基于SOA/EDA的電信EAI平臺架構分析
電信企業的一個顯著特點是業務流程多而復雜,依據EAI平臺設計方法,參照VitriaVOA(Vitria Order Accelerator,電信業解決方案級產品),將EAI平臺的高層視圖細化,形成如圖 3所示的EAI平臺概念架構。
各應用系統與 EAI平臺的集成通過應用服務實現,應用服務采用SOA的設計理念,封裝了外部系統發布服務的許多技術細節,其內部提供與外部系統的連接技術,實現系統層面的應用集成,并支持數據的轉換實現外部系統數據與EAI標準數據的轉換,其可以將其提供的服務發布為RMI服務、JMS服務等等形式。屏蔽不同系統在系統連接和數據層面的差異,提供外部系統與EAI平臺的連接.實現外部服務在EAI平臺上的發布,達到多系統服務的共享。
主流程就是跨模塊和系統的業務流程,這些節點采用某種順序構成企業的核心競爭力。主流程采用BPM技術,實現客戶訂單跨系統流程的端到端建模和運行。
交互服務采用SOA的服務調用,其提供對多個系統服務的同步調用和調度,并支持服務之間的組合,是企業服務總線的框架和基礎。
數據同步(Data Synchronization)采用EDA架構實現數據消息的同步和一致;更多體現數據層面的多系統數據的一致性維護,也是交互服務、主流程運行的基礎,通過數據同步實現多系統間數據的一致性.如客戶資料在多個系統之間的一致性實現。
概念架構提供框架(Framework)實現擴展流程、業務規則、數據模型和管理監控的擴展;而支撐EAI平臺的基礎服務包含事務服務、安全服務等。它們構成了的EAI平臺運行的基礎。
4 結束語
隨著電信 IT發展規劃要求,基于SDA/EDA的EAI平臺是解決電信企業 信息孤島、流程隔裂、業務流程全局不可見等深層問題的核心基礎平臺。平臺從功能上提供應用集成、數據集成和流程集成。其在整個企業系統中的基礎定位,最終將集成電信的BSS系統、OSS系統和MSS系統,支撐電信的資源共享、業務流程自動化以及業務創新,構成企業統一協同工作環境的軟件基礎。
評論