摘要: 現(xiàn)階段高校信息化建設(shè)的主題是集成,數(shù)據(jù)集成是集成的重要方面。ESB中間件技術(shù)是實現(xiàn)SOA架構(gòu)的一個關(guān)鍵技術(shù),開源的Mule能很好地實現(xiàn)SOA服務(wù)集成。在此分析數(shù)字校園的數(shù)據(jù)交換所遇到的困難,闡述了使用ESB建設(shè)數(shù)據(jù)交換平臺的優(yōu)勢;介紹了Mule開源系統(tǒng)的特點、結(jié)構(gòu)和服務(wù)處理流程;針對數(shù)字校園的數(shù)據(jù)交換,提出了基于Mule的數(shù)字校園數(shù)據(jù)交換和共享的體系結(jié)構(gòu);介紹了數(shù)據(jù)交換平臺的系統(tǒng)設(shè)計和信息交換流程設(shè)計,給出了Mule的具體配置方案。
關(guān)鍵字: 數(shù)字校園; 數(shù)據(jù)交換; SOA; Mule
中圖分類號: TN919?34; TP393 文獻標識碼: A 文章編號: 1004?373X(2013)06?0045?03
0 引 言
當前各高校的數(shù)字校園數(shù)據(jù)交換多采用ETL或者SOA的解決方案。ETL可以實現(xiàn)數(shù)據(jù)的抽取、轉(zhuǎn)移、清洗、加載功能,能夠?qū)崿F(xiàn)異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)交換,問題是一般只能在每天的深夜進行一次數(shù)據(jù)的交換,此方案滿足不了學校對實時數(shù)據(jù)交換的需要,不利于數(shù)據(jù)交換的擴展,同時對數(shù)據(jù)庫的直接寫入操作給各數(shù)據(jù)交換的業(yè)務(wù)應(yīng)用系統(tǒng)的穩(wěn)定運行帶來了安全隱患。SOA是一種構(gòu)造分布式系統(tǒng)的方法,它將業(yè)務(wù)應(yīng)用功能以松耦合的服務(wù)接口的形式提供給最終用戶或其他服務(wù),利用服務(wù)描述語言(WSDL)描述服務(wù)接口。通過服務(wù)重用的方法SOA能夠大幅提高軟件資源的適應(yīng)性和開發(fā)效率,是解決異構(gòu)系統(tǒng)集成的有效手段。SOA可以看作是客戶/服務(wù)器模式,也就是一個“客戶端”通過查詢注冊中心的服務(wù)信息之后,再去調(diào)用另一個“服務(wù)器”端提供的服務(wù)。那么,業(yè)務(wù)處理的路由邏輯也被加入了服務(wù)接口中,每個客戶端都要定義自己的處理過程,而對于數(shù)據(jù)交換的處理過程都是類似的,這樣造成了大量的重復(fù)開發(fā),提高了成本,降低了效率。
企業(yè)服務(wù)總線(Enterprise Service Bus,ESB)的定義為:企業(yè)服務(wù)總線是由中間件技術(shù)實現(xiàn)并支持面向服務(wù)的體系架構(gòu)(Service Oriented Architecture,SOA)的一組基礎(chǔ)架構(gòu)功能,支持異構(gòu)環(huán)境中的協(xié)議轉(zhuǎn)換以及基于事件的服務(wù)、消息的交互,并且具有適當?shù)姆?wù)級別和可管理性。ESB[1]為集成提供了高效的分布式集成環(huán)境,將SOA的服務(wù)定義與服務(wù)描述和服務(wù)調(diào)用分開,使每個節(jié)點集成接口模塊化插入集成環(huán)境,保證能夠保證每個節(jié)點在整個集成環(huán)境中的本地控制和自治;通過將服務(wù)和消息的集成將復(fù)雜的過程集中處理、集中路由,降低了每個節(jié)點的復(fù)雜程度,最小化節(jié)點集成接口的成本。
所有主要的JEE供應(yīng)商(IBM,Oracle)都有ESB產(chǎn)品,如WebSphere平臺的Webspere ESB Server等。Mule是一款開源、輕量級的ESB系統(tǒng)軟件,它不像商業(yè)軟件那樣只讓開發(fā)者關(guān)注于集成的更高層實現(xiàn),Mule讓開發(fā)者能夠處理集成的每個細節(jié),面對用戶獨特的集成環(huán)境時更加靈活;并且Mule有很好的文檔供其研究,使得對Mule有更深入的理解。
1 Mule的技術(shù)架構(gòu)
服務(wù)架構(gòu)處理流程是:
(1)Mule通過Endpoint接收到消息之后,決定是否需要協(xié)議轉(zhuǎn)換,如果需要則進行協(xié)議轉(zhuǎn)換,否則流向下一步;
(2)Inbound Router接收到消息之后,決定集成邏輯處理的組件,或者跳過這些組件,直接發(fā)送給Outbound Router;
(3)由Outbound決定經(jīng)過集成邏輯處理的消息發(fā)送的目的地址。
2 基于Mule數(shù)字校園數(shù)據(jù)集成設(shè)計
該模型中包含Mule,ETL,WebService三部分。Mule各業(yè)務(wù)系統(tǒng)之間的數(shù)據(jù)交換功能,各業(yè)務(wù)系統(tǒng)增加Web Service接口實現(xiàn)個業(yè)務(wù)系統(tǒng)的數(shù)據(jù)抽取、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)加載、變化捕捉等功能;對于建設(shè)時間較長,無法增加Web Service接口的系統(tǒng),部署ETL工具實現(xiàn)數(shù)據(jù)交換。Mule支持同步(請求/響應(yīng))和異步(發(fā)布/訂閱)的消息處理機制。發(fā)布訂閱機制實現(xiàn)預(yù)約增量數(shù)據(jù)更新的功能,保證數(shù)據(jù)源變化更新能夠以增量的形式最快的發(fā)送給目的業(yè)務(wù)系統(tǒng),以實現(xiàn)數(shù)據(jù)的即時共享。
(1)請求者發(fā)送數(shù)據(jù)請求報文,即預(yù)約報文;
(2)確定由處理請求消息的組件流;
(3)存入消息隊列;
(4)從消息隊列中獲取消息,如果是預(yù)約增量數(shù)據(jù),就需要反復(fù)的輪詢執(zhí)行;
(5)確定目的端地址;
(6)調(diào)用響應(yīng)者的Web Service接口;
(7)返回數(shù)據(jù)報文;
(8)高校業(yè)務(wù)系統(tǒng)的建設(shè)時間不同,代碼規(guī)定也不同,需要進行一對一的代碼轉(zhuǎn)換;
(9)如果請求者沒有Web Service接口,需要轉(zhuǎn)換成它能接收的格式;
(10)將消息推送給數(shù)據(jù)請求者。
4 結(jié) 語
隨著高校數(shù)字校園建設(shè)的逐步推進,基于ESB的集成技術(shù)必將作為界面集成、數(shù)據(jù)集成和應(yīng)用集成的主要技術(shù)手段。由于管理體制、經(jīng)濟成本、應(yīng)用環(huán)境等因素的限制,高校數(shù)字校園集成尚處在起步階段。本文結(jié)合工作實際,對基于Mule的數(shù)據(jù)集成進行了實踐,取得了一些成果和經(jīng)驗。如何讓ESB在集成的其他領(lǐng)域得到更加深入的應(yīng)用,將是下一步研究的重點問題。
參考文獻
[1] CHAPPELL D. Enterprise service bus [M]. [S.l.]: O’Reilly Publishing, 2004.
[2] DIRKSEN Jos. Open source ESBs in action [M]. [S.l.]: Manning Publications Co., 2009.
[3] DOSSOT David. Mule in action [M]. [S.l.]: Manning Publications Co., 2010.
[4]周世忠.基于SOA技術(shù)的ERP系統(tǒng)敏捷架構(gòu)研究[J].現(xiàn)代電子技術(shù),2012,35(4):38?40.
[5] 吳華.基于SOA架構(gòu)的法院檔案管理信息系統(tǒng)研究與實現(xiàn)[J]. 現(xiàn)代電子技術(shù),2012,35(10):30?34.
[6] 邵維東,武波.SOA安全性研究[J].電子科技,2009(11):95?97.