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