企業(yè)主數(shù)據(jù)是描述企業(yè)核心業(yè)務(wù)實(shí)體的數(shù)據(jù),如產(chǎn)品、客戶、員工等。企業(yè)遺留系統(tǒng)一般都基于本地持久實(shí)體進(jìn)行主數(shù)據(jù)引用和維護(hù),這種模式產(chǎn)生兩種后果:一方面,企業(yè)各業(yè)務(wù)部門只關(guān)注與其業(yè)務(wù)相關(guān)的主數(shù)據(jù),遺留系統(tǒng)只有片面主數(shù)據(jù)屬性;另一方面,系統(tǒng)間同類主數(shù)據(jù)重復(fù)創(chuàng)建、重疊部分內(nèi)容可能不一致。不完備、不一致的主數(shù)據(jù)會(huì)造成企業(yè)管理混亂、甚至?xí)蛊髽I(yè)丟失商機(jī)。為取得完備、一致的主數(shù)據(jù),傳統(tǒng)方法是在對(duì)等系統(tǒng)間實(shí)現(xiàn)數(shù)據(jù)集成或應(yīng)用集成,例如:(1)應(yīng)用抽取、變換、加載等功能復(fù)制主數(shù)據(jù);(2)使用消息發(fā)送和消息接收機(jī)制傳送主數(shù)據(jù);(3)通過(guò)編程接口提供主數(shù)據(jù)訪問(wèn)功能(或服務(wù))。這些集成方法只能在一定程度上解決問(wèn)題,各有不足:方式1有周期性。不能保證數(shù)據(jù)一致;方式2在頻繁同步發(fā)送主數(shù)據(jù)消息時(shí)系統(tǒng)性能會(huì)下降,同時(shí)遺留系統(tǒng)核心業(yè)務(wù)管理能力也會(huì)受到影響;如果方式2采用異步消息發(fā)送.則不能保證數(shù)據(jù)一致;方式3與方式2一樣存在性能問(wèn)題,而且方式3要求接口提供系統(tǒng)保持足夠在線運(yùn)行時(shí)間,給系統(tǒng)運(yùn)行和維護(hù)帶來(lái)不便。
主數(shù)據(jù)管理中心(下文稱“中心”)統(tǒng)一為企業(yè)提供完備、一致的主數(shù)據(jù),將主數(shù)據(jù)提供方和消費(fèi)方隔離開來(lái)、是服務(wù)專業(yè)化結(jié)果。中心有事務(wù)型、混合型、注冊(cè)型等3種類型。目前Oracle、IBM、SAP等企業(yè)都推出了各自的主數(shù)據(jù)管理產(chǎn)品。它們有的是專用型產(chǎn)品,如客戶管理、產(chǎn)品信息管理等,單一系統(tǒng)不能對(duì)應(yīng)企業(yè)多種類主數(shù)據(jù)管理需;有的是套件產(chǎn)品,服務(wù)于本企業(yè)其它產(chǎn)品;有的雖然是通用型產(chǎn)品,但系統(tǒng)大量使用低效的XML數(shù)據(jù)格式,單一中心承擔(dān)所有主數(shù)據(jù)服務(wù)訪問(wèn)。系統(tǒng)壓力很大、性能不穩(wěn)定。本文基于遺留系統(tǒng)主數(shù)據(jù)工作模式不變,結(jié)合混合型中心和傳統(tǒng)對(duì)等系統(tǒng)集成思想,設(shè)計(jì)一種以實(shí)時(shí)主數(shù)據(jù)集成為目的、中心不提供訪問(wèn)服務(wù)的混合型中心方案,該方案以中心為主數(shù)據(jù)存儲(chǔ)轉(zhuǎn)發(fā)中介協(xié)調(diào)實(shí)現(xiàn)主數(shù)據(jù)在相關(guān)系統(tǒng)間實(shí)時(shí)集成。
本文第1節(jié)介紹本文應(yīng)用的相關(guān)技術(shù)知識(shí),第2節(jié)論述輕量數(shù)據(jù)和重量數(shù)據(jù)分管道處理的主數(shù)據(jù)集成體系結(jié)構(gòu);第3節(jié)是主數(shù)據(jù)集成流程設(shè)計(jì),第4節(jié)介紹簡(jiǎn)易主數(shù)據(jù)管理功能組件設(shè)計(jì);第5節(jié)介紹如何編排主數(shù)據(jù)管理組件服務(wù)實(shí)現(xiàn)實(shí)時(shí)主數(shù)據(jù)集成;最后是結(jié)論。
1、相關(guān)技術(shù)應(yīng)用
1.1 SOA,SCA
SOA是服務(wù)(Services)為核心的架構(gòu)風(fēng)格、是分布式軟件系統(tǒng)構(gòu)造方法。服務(wù)由接口和契約組成,接口提供訪問(wèn)業(yè)務(wù)功能或業(yè)務(wù)數(shù)據(jù)的技術(shù)綁定,契約用于描述和約束服務(wù)、服務(wù)消費(fèi)者據(jù)此了解服務(wù)及調(diào)用規(guī)則,Web服務(wù)是SOA服務(wù)的一種實(shí)現(xiàn)方式.其契約包括WSDL(Web Service Description Language)文件、XML模式文件、以及描述服務(wù)質(zhì)量、安全要求等內(nèi)容文件.服務(wù)是以中立、標(biāo)準(zhǔn)化方式定義。不依賴具體的實(shí)現(xiàn)技術(shù)、操作系統(tǒng)、和硬件基礎(chǔ)架構(gòu).服務(wù)可以劃分為業(yè)務(wù)服務(wù)和業(yè)務(wù)漉程服務(wù),業(yè)務(wù)服務(wù)對(duì)應(yīng)于業(yè)務(wù)功能接口、是原子性的服務(wù),業(yè)務(wù)流程服務(wù)是組合服務(wù)。服務(wù)組件架構(gòu)(Service Component Architeeture,SCA)是一種實(shí)現(xiàn)SOA的規(guī)范,SCA使用業(yè)務(wù)流程執(zhí)行語(yǔ)言(Business Process Executing Language,BPEL)對(duì)服務(wù)進(jìn)行編排生成業(yè)務(wù)流程服務(wù),SCA同時(shí)提供人工任務(wù)服務(wù)和業(yè)務(wù)規(guī)則服務(wù),這些服務(wù)也參與服務(wù)編排。服務(wù)在服務(wù)代理上注冊(cè)后可被查找發(fā)現(xiàn),服務(wù)消費(fèi)者通過(guò)服務(wù)代理查找到相關(guān)服務(wù)、并點(diǎn)對(duì)點(diǎn)地調(diào)用服務(wù)。企業(yè)服務(wù)總線(EntERPrise Service Bus,ESB)解除點(diǎn)對(duì)點(diǎn)的服務(wù)調(diào)用方式,提供基于消息變換、消息內(nèi)容動(dòng)態(tài)路由的松散耦合服務(wù)調(diào)用能力。服務(wù)具有粗粒度、松耦合、可再用等特性,松耦合特性包括兩層意思:(1)服務(wù)定義標(biāo)準(zhǔn)化使得服務(wù)交互采用通用的、統(tǒng)一的方式進(jìn)行;(2)ESB的作用使得服務(wù)交互可以是動(dòng)態(tài)的、位置透明的;服務(wù)的這些特性決定S()A適合異構(gòu)系統(tǒng)的交互。
1.2批量數(shù)據(jù)服務(wù)
基于批處理方式的傳統(tǒng)ETL(Extract,Transform,Load)程序是分布式系統(tǒng)數(shù)據(jù)集成的主要工具。提供成批數(shù)據(jù)移動(dòng)和轉(zhuǎn)換功能,其數(shù)據(jù)處理吞吐量大、性能好。一般按周期運(yùn)行,不具備實(shí)時(shí)集成特性。通過(guò)SOA服務(wù)化技術(shù),ETL應(yīng)用可以直接定制為批量數(shù)據(jù)服務(wù),實(shí)現(xiàn)按需調(diào)用,批量數(shù)據(jù)服務(wù)可以作為業(yè)務(wù)流程或ESB事務(wù)處理的子過(guò)程,實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)集成任務(wù)。
1.3 JCA適配器服務(wù)
JCA適配器是JCA(J2EE Connector Architecture)規(guī)范的連接器,用于連接企業(yè)遺留系統(tǒng)。按照其連接的對(duì)象可以分為應(yīng)用程序適配器和技術(shù)適配器,應(yīng)用程序適配器連接Oracle、SAP等企業(yè)提供的管理軟件包I技術(shù)適配器連接特定技術(shù)或協(xié)議的載體,如中間件組件、FTP服務(wù)器、應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)表、消息隊(duì)列、文件等。企業(yè)信息系統(tǒng)一般都要操作本地持久存儲(chǔ)。如文件、數(shù)據(jù)庫(kù)表等,通過(guò)使用JCA技術(shù)適配器連接這些持久存儲(chǔ)并周期性地探查其數(shù)據(jù)變化l當(dāng)變化發(fā)生時(shí),JCA技術(shù)適配器捕獲該變化并觸發(fā)適配器預(yù)先定義的操作。JCA技術(shù)適配器這種工作方式產(chǎn)生新形式的適配器服務(wù)。
2、體系結(jié)構(gòu)
遺留系統(tǒng)只有片面的主數(shù)據(jù)屬性,企業(yè)完備主數(shù)據(jù)是企業(yè)各系統(tǒng)主數(shù)據(jù)屬性的綜合.因此中心主數(shù)據(jù)管理需要跨部門、多系統(tǒng)共同參與。在混合中心體系里,中心只存儲(chǔ)必要主數(shù)據(jù)屬性,即那些在企業(yè)范圍內(nèi)必須保持一致的主數(shù)據(jù)屬性和查找關(guān)鍵字合集,必要主數(shù)據(jù)屬性劃分為主分組和次分組兩部分。本文定義主分組屬性是以單值表現(xiàn)、且可由中心系統(tǒng)全權(quán)輸入的屬性和關(guān)鍵字集合,相關(guān)遺留系統(tǒng)負(fù)責(zé)輸入其維護(hù)職責(zé)內(nèi)的次分組屬性。按照參與中心主數(shù)據(jù)管理角色分類,企業(yè)遺留系統(tǒng)可以劃分為源系統(tǒng)和引用系統(tǒng)兩類。(1)源系統(tǒng)是參與中心主數(shù)據(jù)管理業(yè)務(wù)、并引用中心主數(shù)據(jù)的系統(tǒng);(2)引用系統(tǒng)是不參與中心主數(shù)據(jù)管理業(yè)務(wù)、只引用中心主數(shù)據(jù)的系統(tǒng).中心系統(tǒng)和源系統(tǒng)一起提供主數(shù)據(jù)管理業(yè)務(wù)活動(dòng)實(shí)現(xiàn),這些業(yè)務(wù)活動(dòng)實(shí)現(xiàn)按照一定的流程完成主數(shù)據(jù)管理業(yè)務(wù)。中心系統(tǒng)、源系統(tǒng)、引用系統(tǒng)可能由不同的軟件供應(yīng)商提供、或采用不同的技術(shù)構(gòu)建、或運(yùn)行在不同的平臺(tái)上,系統(tǒng)之間有很大的異構(gòu)性,它們需要在主數(shù)據(jù)管理體系下實(shí)現(xiàn)交互。
本文采用SOA作為主數(shù)據(jù)管理體系架構(gòu)。SOA業(yè)務(wù)服務(wù)實(shí)現(xiàn)中心系統(tǒng)及源系統(tǒng)的主數(shù)據(jù)管理業(yè)務(wù)活動(dòng),SOA業(yè)務(wù)流程服務(wù)實(shí)現(xiàn)主數(shù)據(jù)管理業(yè)務(wù),業(yè)務(wù)流程服務(wù)是通過(guò)組裝、編排跨系統(tǒng)主數(shù)據(jù)業(yè)務(wù)服務(wù)、質(zhì)量管理服務(wù)、數(shù)據(jù)集成管理等服務(wù)而生成。
主數(shù)據(jù)集成是混合型中心方案成功的關(guān)鍵,在這種中心體系里,源系統(tǒng)仍然延用原有主數(shù)據(jù)工作模式:基于本地主數(shù)據(jù)持久實(shí)體的引用和維護(hù),源系統(tǒng)的部分主數(shù)據(jù)屬性作為必要主數(shù)據(jù)屬性提交給中心系統(tǒng)。再由中心系統(tǒng)統(tǒng)一為其它引用系統(tǒng)提供主數(shù)據(jù)共享。源系統(tǒng)和中心系統(tǒng)必須保持必要主數(shù)據(jù)屬性實(shí)時(shí)集成,這樣才能避免系統(tǒng)間主數(shù)據(jù)不一致現(xiàn)象。
主數(shù)據(jù)集成有時(shí)需要對(duì)應(yīng)大量主數(shù)據(jù)屬性的復(fù)制和變換,例如批量數(shù)據(jù)更新或?qū),即使逐條新增或修改主數(shù)據(jù)屬性,也會(huì)由于人工審批等作業(yè)延遲,導(dǎo)致等待處理的主數(shù)據(jù)記錄大量積聚。大數(shù)據(jù)量處理不是SOA的長(zhǎng)項(xiàng),SOA框架基本都在Java容器中運(yùn)行,當(dāng)處理數(shù)據(jù)最很大時(shí),Java虛擬機(jī)就會(huì)不堪重負(fù);再者。SoA服務(wù)交互基本都足以XML通用格式數(shù)據(jù)為載體,由于XML數(shù)據(jù)中存在大量的標(biāo)簽、模式定義、尖括號(hào)等附加信息,XML數(shù)據(jù)的有效載荷一般低于實(shí)際載荷的10%,XML不適合作為主數(shù)據(jù)集成的載體格式。
本文使用批量數(shù)據(jù)服務(wù)進(jìn)行主數(shù)據(jù)集成操作,批量數(shù)據(jù)服務(wù)具有很好的大數(shù)據(jù)量處理能力,能夠滿足實(shí)時(shí)快速的數(shù)據(jù)集成要求。
圖1是主數(shù)據(jù)管理體系架構(gòu)。如圖示,中心系統(tǒng)和源系統(tǒng)提供主數(shù)據(jù)管理服務(wù),這些服務(wù)經(jīng)過(guò)BPEL服務(wù)編排,生成統(tǒng)一的主數(shù)據(jù)管理業(yè)務(wù)流程服務(wù),一個(gè)或多個(gè)業(yè)務(wù)流程服務(wù)完成一個(gè)主數(shù)據(jù)管理業(yè)務(wù),如新增(C)業(yè)務(wù)、讀取(R)業(yè)務(wù)、修改(U)業(yè)務(wù)、刪除(D)業(yè)務(wù),即基本的CRUD操作。主數(shù)據(jù)管理界面負(fù)責(zé)業(yè)務(wù)流程服務(wù)調(diào)用及各人工業(yè)務(wù)活動(dòng)的輸入、輸出;ESB是體系各部分交互的中介,通過(guò)ESB交互的是XML格式輕最數(shù)據(jù):包括控制消息和規(guī)?煽氐妮p量主數(shù)據(jù)消息;中心系統(tǒng)、源系統(tǒng)、引用系統(tǒng)之間的主數(shù)據(jù)集成對(duì)象是體積較大的鶯量數(shù)據(jù),集成在數(shù)據(jù)層進(jìn)行,通過(guò)批量數(shù)據(jù)服務(wù)實(shí)現(xiàn);這種輕量數(shù)據(jù)與重量數(shù)據(jù)分管道處理方式有利于提高系統(tǒng)運(yùn)行性能。
下節(jié)“主數(shù)據(jù)集成流程”將詳細(xì)介紹這種SOA框架內(nèi)輕量數(shù)據(jù)、重量數(shù)據(jù)分管道處理機(jī)制。
3、主數(shù)據(jù)集成流程
本節(jié)從系統(tǒng)實(shí)現(xiàn)主數(shù)據(jù)新增、更新、刪除、讀取等業(yè)務(wù)角度分析主數(shù)據(jù)集成流程,以此作為主數(shù)據(jù)管理業(yè)務(wù)流程設(shè)計(jì)的依據(jù)。
(1)新增業(yè)務(wù):在“主數(shù)據(jù)管理界面”發(fā)出“新增”消息,通過(guò)ESB對(duì)消息進(jìn)行轉(zhuǎn)換和動(dòng)態(tài)路由,“新增主數(shù)據(jù)業(yè)務(wù)流程”被執(zhí)行;新增流程以新增消息為參數(shù)調(diào)用中心系統(tǒng)的“主數(shù)據(jù)管理服務(wù)”,中心系統(tǒng)新增主數(shù)據(jù)、并返回剛創(chuàng)建的主數(shù)據(jù)記錄定位參數(shù)(輕景數(shù)據(jù));新增流程獲取主數(shù)據(jù)記錄定位參數(shù)、并據(jù)此調(diào)用批量數(shù)據(jù)服務(wù),批量數(shù)據(jù)服務(wù)從中心相應(yīng)主數(shù)據(jù)實(shí)體中提取新增 主數(shù)據(jù)(重量數(shù)據(jù))、并同步到所有源系統(tǒng);源系統(tǒng)更新其維護(hù)職責(zé)內(nèi)的次要分組屬性,源系統(tǒng)通過(guò)主數(shù)據(jù)集成服務(wù)將錄入完畢的次分組屬性上載到中心系統(tǒng)(重量 數(shù)據(jù));最后新增流程啟用新增數(shù)據(jù)并消息通知各個(gè)引用系統(tǒng)(輕量數(shù)據(jù))。
(2)更新業(yè)務(wù):與新增業(yè)務(wù)類似處理。
(3)刪除業(yè)務(wù):由于主數(shù)據(jù)可能已經(jīng)在交易中使用。系統(tǒng)不允許物理刪除主數(shù)據(jù)。而是采用更新業(yè)務(wù)邏輯實(shí)現(xiàn)邏輯刪除功能;同更新業(yè)務(wù)處理。
(4)讀取業(yè)務(wù):源系統(tǒng)、引用系統(tǒng)基于本地持久主數(shù)據(jù)實(shí)體引用主數(shù)據(jù),這種方式符合遺留系統(tǒng)主數(shù)據(jù)工作模式、使得遺留系統(tǒng)程序修改量很小;對(duì)于需要中 心提供的主數(shù)據(jù)屬性,遺留系統(tǒng)開辟新的主數(shù)據(jù)屬性存儲(chǔ)、并定期從中心下載這些主數(shù)據(jù)屬性值(重量數(shù)據(jù))I遺留系統(tǒng)通過(guò)預(yù)定/發(fā)布(publish /subscribe)機(jī)制預(yù)定各自需要的中心主數(shù)據(jù)變更消息;當(dāng)中心主數(shù)據(jù)變更時(shí)。中心系統(tǒng)發(fā)布有效載荷為<主數(shù)據(jù)實(shí)體,鍵值范圍,屬性類 別>的消息(輕量數(shù)據(jù)),相關(guān)遺留系統(tǒng)接到變更消息后,在本地系統(tǒng)標(biāo)記變更;當(dāng)遺留系統(tǒng)引用本地帶有變更標(biāo)志的主數(shù)據(jù)時(shí),遺留系統(tǒng)首先調(diào)用本地主數(shù) 據(jù)集成應(yīng)用從中心下載最新主數(shù)據(jù)(重量數(shù)據(jù)),然后基于本地存儲(chǔ)引用這些主數(shù)據(jù)。
4、功能組件設(shè)計(jì)
如圖2所示,主數(shù)據(jù)管理組件劃分為表示層組件、業(yè)務(wù)流程組件、應(yīng)用層組件等3層,下層依次為上層提供服務(wù).
4.1表示層組件
源系統(tǒng)主數(shù)據(jù)工作模式保持不變,依然使用其主數(shù)據(jù)維護(hù)界面調(diào)用原有更新邏輯。需要從源系統(tǒng)主數(shù)據(jù)維護(hù)界面去掉“新增”和。刪除”等部件,這些功能只能 統(tǒng)一在中心系統(tǒng)使用。主數(shù)據(jù)業(yè)務(wù)管理界面負(fù)責(zé)調(diào)用主數(shù)據(jù)管理業(yè)務(wù)流程服務(wù).工作列表是特定角色或工作人員的任務(wù)一覽表及具體任務(wù)的工作界面,如審批等業(yè)務(wù) 活動(dòng).
4.2業(yè)務(wù)流程組件
(1)新建/中心更新:在中心系統(tǒng)上完成單條主數(shù)據(jù)的新建/更新、清洗、審批后,下載到所有源系統(tǒng)。(2)源更新:在源系統(tǒng)端完成主數(shù)據(jù)屬性更新、清 洗、審核后,將源系統(tǒng)維護(hù)責(zé)任內(nèi)的次分組屬性上載到中心。(3)啟停用:調(diào)用中心系統(tǒng)和所有源系統(tǒng)的啟停用服務(wù),使用XA事務(wù)(兩階段提交)保證分布式系 統(tǒng)更新的全局事務(wù)性。(4)批量導(dǎo)入:成批她新建/更新中心主數(shù)據(jù),流程同“新建/中心更新”。(5)批量同步:定期將中心主數(shù)據(jù)成批地下載到源系統(tǒng)和引 用系統(tǒng),消除系統(tǒng)問(wèn)可能存在的主數(shù)據(jù)不一致。
4.3應(yīng)用層組件
(1)新建:從臨時(shí)主數(shù)據(jù)輸入實(shí)體中讀取新增主數(shù)據(jù),生成主數(shù)據(jù)實(shí)體記錄,并自動(dòng)填充關(guān)鍵字域。(2)更新:從臨時(shí)主數(shù)據(jù)輸入實(shí)體中讀取更新信息,更 新主數(shù)據(jù)實(shí)體相應(yīng)記錄。(3)啟/停用:對(duì)本地主數(shù)據(jù)進(jìn)行“啟用”或“停用”更新操作。(4)提。簭闹行闹鲾(shù)據(jù)實(shí)體提取規(guī)?煽氐闹鲾(shù)據(jù)記錄并轉(zhuǎn)化為通 用格式,作為其它服務(wù)的入口參數(shù)。(5)清洗:對(duì)主數(shù)據(jù)實(shí)體中的數(shù)據(jù)進(jìn)行質(zhì)量篩選,包括列篩選、結(jié)構(gòu)篩選和業(yè)務(wù)規(guī)則篩選。(6)下載:將中心變更的主數(shù)據(jù) 下載到源系統(tǒng)登臺(tái)區(qū),可能包含抽取、轉(zhuǎn)換、加載等操作。(7)上載:從中心系統(tǒng)登臺(tái)區(qū)提取源系統(tǒng)提交的次分組屬性、并加載到中心系統(tǒng)相關(guān)實(shí)體,可能包含抽 取、轉(zhuǎn)換、加載等操作。(8)人工任務(wù):SCA規(guī)范的人工任務(wù)服務(wù),如人工審批等業(yè)務(wù)活動(dòng),其人機(jī)交互界面是表現(xiàn)層的工作列表。(9)業(yè)務(wù)規(guī)則:SCA規(guī) 范的業(yè)務(wù)規(guī)則服務(wù),是業(yè)務(wù)流程中的判斷活動(dòng)。(10)管理訪同:從中心管理實(shí)體中讀取相關(guān)的管理信息,用于業(yè)務(wù)流程的條件判斷。(11)源下載:從源系統(tǒng) 登臺(tái)區(qū)下載中心提交的主分組屬性、并加載至源系統(tǒng)相關(guān)主數(shù)據(jù)實(shí)體,可能包括抽取、轉(zhuǎn)換、加載等操作。(12)源上載:將源系統(tǒng)上發(fā)生變更的次分組屬性上載 到中心系統(tǒng)登臺(tái)區(qū);可能包括抽取、轉(zhuǎn)換、加載。(13)源清洗:同清洗服務(wù)。(14)源啟停用:同啟停用服務(wù)。(15)源更新:源系統(tǒng)仍然使用其更新邏輯 更新本地主數(shù)據(jù),我們不對(duì)這種更新邏輯進(jìn)行服務(wù)化改造。而是通過(guò)外掛適配器服務(wù)探測(cè)源系統(tǒng)主效據(jù)屬性變更,當(dāng)變更發(fā)生時(shí)執(zhí)行相關(guān)操作返回。(16)源審 核:同“源更新”服務(wù),源系統(tǒng)仍然使用其審核邏輯更新本地主數(shù)據(jù),外掛適配器服務(wù)探測(cè)主數(shù)據(jù)變更時(shí)執(zhí)行相關(guān)操作返回。
5、服務(wù)編排實(shí)現(xiàn)實(shí)時(shí)主數(shù)據(jù)集成
中心系統(tǒng)、源系統(tǒng)之間主數(shù)據(jù)實(shí)時(shí)集成可以絕對(duì)消除主數(shù)據(jù)不一致現(xiàn)象。雖然批量數(shù)據(jù)服務(wù)具有很好的數(shù)據(jù)處理住能,但畢竟參與主數(shù)據(jù)管理系統(tǒng)眾多,需要進(jìn) 行數(shù)據(jù)集成的對(duì)象系統(tǒng)很多,批量數(shù)據(jù)服務(wù)不可能在同一時(shí)刻將大量主數(shù)據(jù)經(jīng)變換后傳送到每個(gè)相關(guān)系統(tǒng)I數(shù)據(jù)傳輸吞吐量也受基礎(chǔ)設(shè)施限制,如跨國(guó)企業(yè)的信息系 統(tǒng)遍布世界各地,簡(jiǎn)單地使用批量數(shù)據(jù)服務(wù)進(jìn)行快速數(shù)據(jù)集成很難保證實(shí)時(shí)性、準(zhǔn)確性。
本文把相關(guān)業(yè)務(wù)流程包含的業(yè)務(wù)活動(dòng)控制在一個(gè)全局邏輯事務(wù)內(nèi),業(yè)務(wù)流程中可以發(fā)生任何物理事務(wù)提交。但這些提交只有經(jīng)過(guò)流程尾全局邏輯事務(wù)提交才生效 I提供XA事務(wù)支持的啟停用業(yè)務(wù)流程可以實(shí)現(xiàn)這種功能。下圖以“新增主數(shù)據(jù)業(yè)務(wù)”為例。闡述如何通過(guò)服務(wù)編排實(shí)現(xiàn)實(shí)時(shí)主數(shù)據(jù)集成。
圖3中共列出15個(gè)業(yè)務(wù)活動(dòng),每個(gè)業(yè)務(wù)活動(dòng)對(duì)應(yīng)一個(gè)服務(wù)調(diào)用,這些業(yè)務(wù)活動(dòng)被編排進(jìn)3個(gè)業(yè)務(wù)流程:①一⑦是“新建”業(yè)務(wù)流程。③一1212是“源更 新”業(yè)務(wù)流程,1313—1515是“啟停用”業(yè)務(wù)流程。3個(gè)業(yè)務(wù)流程都跨越中心系統(tǒng)和源系統(tǒng)。業(yè)務(wù)流程內(nèi)服務(wù)之間的交互信息是輕量數(shù)據(jù)消息,當(dāng)需要使用 主數(shù)據(jù)屬性作為交互參數(shù)時(shí),使用“提取”服務(wù)從主數(shù)據(jù)實(shí)體中取得規(guī)模可控的主數(shù)據(jù)屬性值集合;圖中“提取”和“審核”(⑤)外的方框表示逐條主數(shù)據(jù)循環(huán)審 核。圖中各個(gè)業(yè)務(wù)活動(dòng)都町能發(fā)生物理事務(wù)提交,但這些提交的主數(shù)據(jù)不能被源系統(tǒng)或引用系統(tǒng)在交易中使用,這可以通過(guò)設(shè)置主數(shù)據(jù)標(biāo)志位(如“無(wú)效”標(biāo)志)實(shí) 現(xiàn),1313—1515所在的“啟停用”業(yè)務(wù)流程實(shí)現(xiàn)XA事務(wù)控制、并行地在各相關(guān)系統(tǒng)進(jìn)行全局事務(wù)提交,保證新增的主數(shù)據(jù)在源系統(tǒng)和中心系統(tǒng)同時(shí)啟用, 這種提交操作只是更新相關(guān)主數(shù)據(jù)記錄狀態(tài)位,全局事務(wù)的性能能夠得到保證。
6、結(jié)束語(yǔ)
本文結(jié)合SOA和批鼉數(shù)據(jù)服務(wù)的特長(zhǎng),將系統(tǒng)中的數(shù)據(jù)按照輕量數(shù)據(jù)、重最數(shù)據(jù)分管道處理,通過(guò)全局邏輯事務(wù)性業(yè)務(wù)流程實(shí)現(xiàn)實(shí)時(shí)主數(shù)據(jù)集成。本文的實(shí)時(shí) 主數(shù)據(jù)集成方案也是簡(jiǎn)易的主數(shù)據(jù)管理方案。通過(guò)數(shù)據(jù)集成取消單一中心訪問(wèn)服務(wù),中心不再因頻繁主數(shù)據(jù)訪問(wèn)而導(dǎo)致系統(tǒng)性能下降。企業(yè)遺留系統(tǒng)仍然延用圖3 新增主數(shù)據(jù)業(yè)務(wù)的服務(wù)編排和實(shí)時(shí)主數(shù)據(jù)集成圖3中共列出15個(gè)業(yè)務(wù)活動(dòng),每個(gè)業(yè)務(wù)活動(dòng)對(duì)應(yīng)一個(gè)服務(wù)調(diào)用,這些業(yè)務(wù)活動(dòng)被編排進(jìn)3個(gè)業(yè)務(wù)流程:①一⑦是“新 建”業(yè)務(wù)流程。③一1212是“源更新”業(yè)務(wù)流程,1313—1515是“啟停用”業(yè)務(wù)流程。3個(gè)業(yè)務(wù)流程都跨越中心系統(tǒng)和源系統(tǒng)。業(yè)務(wù)流程內(nèi)服務(wù)之間的 交互信息是輕量數(shù)據(jù)消息,當(dāng)需要使用主數(shù)據(jù)屬性作為交互參數(shù)時(shí),使用“提取”服務(wù)從主數(shù)據(jù)實(shí)體中取得規(guī)?煽氐闹鲾(shù)據(jù)屬性值集合;圖中“提取”和“審核” (⑤)外的方框表示逐條主數(shù)據(jù)循環(huán)審核。圖中各基于本地持久實(shí)體的主數(shù)據(jù)引用和維護(hù)模式。本文方案雖然是企業(yè)主數(shù)據(jù)管理的過(guò)渡方案,但由于企業(yè)煙囪效應(yīng)的 信息系統(tǒng)建設(shè)方式難以消除,該方案有長(zhǎng)期使用價(jià)值,也可以作為其它混合型主數(shù)據(jù)管理系統(tǒng)的集成方案。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:面向企業(yè)遺留應(yīng)用設(shè)計(jì)實(shí)時(shí)主數(shù)據(jù)集成
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112187392.html