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