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