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