張冠軍
摘 要: 隨著企業(yè)信息化的不斷深入,對(duì)于異構(gòu)數(shù)據(jù)集成的要求越來(lái)越迫切。為此提出了基于XML和JMS的數(shù)據(jù)交換模型。首先發(fā)送方把數(shù)據(jù)封裝成約定格式的XML文件,利用JMS消息機(jī)制通知接收方獲取文件,然后發(fā)送方解析XML文件,保存相應(yīng)數(shù)據(jù)。在此詳細(xì)介紹了數(shù)據(jù)交換過(guò)程與XML數(shù)據(jù)交換規(guī)范,同時(shí)提出了用于高效率大數(shù)據(jù)量交換的企業(yè)級(jí)的數(shù)據(jù)交換平臺(tái)。JMS異步通信的機(jī)制具有異步性、可靠性、健壯性,并結(jié)合Web Service技術(shù)傳輸數(shù)據(jù),能夠有效地解決企業(yè)異構(gòu)應(yīng)用系統(tǒng)間的數(shù)據(jù)集成問(wèn)題。
關(guān)鍵詞: XML; Web服務(wù); Java消息服務(wù); 異構(gòu)數(shù)據(jù)集成; 映射
中圖分類號(hào):TN311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1004?373X(2013)02?0045?03
0 引 言
對(duì)于跨區(qū)域的集團(tuán)公司,隨著公司的信息化程度加深,總公司和子公司之間需要實(shí)時(shí)或定期交換數(shù)據(jù),這些數(shù)據(jù)如銷售報(bào)表、財(cái)務(wù)報(bào)表、月度或年度計(jì)劃等。同時(shí),公司系統(tǒng)也可能是不同平臺(tái)、不同技術(shù)實(shí)現(xiàn),如何解決總部與分部異構(gòu)系統(tǒng)間的數(shù)據(jù)的準(zhǔn)確交換,是信息化建設(shè)面臨的一個(gè)重要問(wèn)題。XML是一種平臺(tái)無(wú)關(guān),可擴(kuò)展的標(biāo)記語(yǔ)言,非常適合不同應(yīng)用系統(tǒng)間的數(shù)據(jù)集成。Web Service技術(shù)是一種面向服務(wù)的架構(gòu),通過(guò)標(biāo)準(zhǔn)的Web協(xié)議規(guī)范發(fā)布服務(wù),各個(gè)平臺(tái)的應(yīng)用都可以互操作。JMS異步通信的機(jī)制具有異步性、可靠性、健壯性,并結(jié)合Web Service技術(shù)傳輸數(shù)據(jù),能夠有效地解決企業(yè)異構(gòu)應(yīng)用系統(tǒng)間的數(shù)據(jù)集成問(wèn)題。
1 應(yīng)用流程框架
總部和分部系統(tǒng)需要實(shí)時(shí)或定時(shí)的數(shù)據(jù)交換,采用XML,Web Service,JMS技術(shù)能很好解決總部和分部異構(gòu)系統(tǒng)間的數(shù)據(jù)交換。業(yè)務(wù)應(yīng)用系統(tǒng)通過(guò)調(diào)用數(shù)據(jù)交換的接入服務(wù)完成數(shù)據(jù)的發(fā)送與獲取,數(shù)據(jù)文件存儲(chǔ)在共享磁盤上。
分部系統(tǒng)把分部數(shù)據(jù)源中的數(shù)據(jù)生成固定格式的XML文件,通過(guò)發(fā)送文件服務(wù)把文件放入分部共享磁盤中,然后利用數(shù)據(jù)交換平臺(tái)間的文件傳輸,把XML文件放入總部共享磁盤中,并往消息隊(duì)列發(fā)送一條消息,總部系統(tǒng)實(shí)時(shí)監(jiān)聽(tīng)該消息隊(duì)列,發(fā)現(xiàn)有文件上傳,調(diào)用獲取文件服務(wù)從總部共享磁盤中獲取文件,再對(duì)該XML文件進(jìn)行解析,最后把數(shù)據(jù)寫入總部數(shù)據(jù)源中,完成了數(shù)據(jù)交換整個(gè)流程如圖1所示。
2 結(jié)構(gòu)分析
2.1 XML生成與解析組件
數(shù)據(jù)讀取與XML生成組件該組件用于讀取數(shù)據(jù)源中的數(shù)據(jù),生成固定格式的XML數(shù)據(jù)文件。XML解析與入庫(kù)組件把XML文件解析,利用其中的交換信息,把數(shù)據(jù)正確入庫(kù)。該XML數(shù)據(jù)格式必須按照約定的數(shù)據(jù)格式組織,即數(shù)據(jù)交換規(guī)范。XML文件格式用Schema文件描述。分部與總部為每張表編號(hào),即clsID,同一張表,編號(hào)一致。XML解析組件利用該表號(hào)把數(shù)據(jù)存放在相應(yīng)的表。
如下就是示例XML Schema文件內(nèi)容:
XML數(shù)據(jù)交換組件就是服務(wù)消費(fèi)者,它提供了調(diào)用Web服務(wù)的方法,并接收Web服務(wù)返回的消息。
2.3 數(shù)據(jù)交換平臺(tái)
對(duì)于集團(tuán)公司數(shù)據(jù)交換必須要求安全性、穩(wěn)定性、健壯性、規(guī)范性等,數(shù)據(jù)交換平臺(tái)應(yīng)運(yùn)而生。數(shù)據(jù)交換平臺(tái)提供多種傳輸通道、多種數(shù)據(jù)交換方式和交換標(biāo)準(zhǔn),可以滿足不同場(chǎng)景需要。該平臺(tái)由傳輸層和管理控制層組成,提供JMS,Web Service,HTTP等多協(xié)議和方式來(lái)數(shù)據(jù)交換,且功能都是以Web Service發(fā)布,可以注冊(cè)到ESB(企業(yè)服務(wù)總線)上,統(tǒng)一管理和調(diào)用,也可以由應(yīng)用程序直接調(diào)用。該平臺(tái)統(tǒng)一了數(shù)據(jù)交換標(biāo)準(zhǔn)和數(shù)據(jù)交換渠道,建立了雙向的數(shù)據(jù)交換體系如圖3所示。
2.5 數(shù)據(jù)對(duì)象映射
分部系統(tǒng)把數(shù)據(jù)源中的數(shù)據(jù)轉(zhuǎn)換成CIM對(duì)象,然后生成XML或DOM對(duì)象,利用數(shù)據(jù)交換平臺(tái)傳輸,并往消息隊(duì)列中發(fā)送一條消息,總部系統(tǒng)通過(guò)監(jiān)聽(tīng)消息,獲取XML或DOM對(duì)象,解析成CIM對(duì)象,最后把CIM對(duì)象數(shù)據(jù)插入到數(shù)據(jù)源中。
3 結(jié) 語(yǔ)
利用XML和JMS消息機(jī)制普遍應(yīng)用于跨區(qū)域、不同級(jí)別系統(tǒng)間數(shù)據(jù)交換,實(shí)際應(yīng)用證明應(yīng)用良好,對(duì)于大數(shù)據(jù)量傳輸具有較高的效率。
基于XML與JMS消息的數(shù)據(jù)交換模型,以其平臺(tái)無(wú)關(guān)性、穩(wěn)定性、可靠性、健壯性等,可以被用來(lái)不同系統(tǒng)間數(shù)據(jù)交換,實(shí)現(xiàn)系統(tǒng)間的松散耦合,能有效解決跨區(qū)域系統(tǒng)間的數(shù)據(jù)集成。
參考文獻(xiàn)
[1] RICHARDS Mark, MONSON?HAEFEL Richard, CHAPPELL David A. Java消息服務(wù)[M].南京:東南大學(xué)出版社,2010.
[2] HUNTER D.XML入門經(jīng)典[M].北京:清華大學(xué)出版社,2009.
[3] 李長(zhǎng)河,趙潔,張亞玲,等.一種安全異構(gòu)數(shù)據(jù)交換技術(shù)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2007,33(2):88?89.
[4] 蘇偉,孫磊,徐開(kāi)勇.基于XML安全的移動(dòng)Web Services高效實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2009,35(3):176?178.
[5] 魏兵海.基于XML相關(guān)規(guī)范集的動(dòng)態(tài)Web Service框架系統(tǒng)[J].計(jì)算機(jī)科學(xué),2004,31(6):68?71.
[6] 鄒盟軍,黃煒.基于消息機(jī)制和XML的數(shù)據(jù)交換中心的設(shè)計(jì)[J].電力系統(tǒng)及其自動(dòng)化學(xué)報(bào),2004(4):42?45.