摘 要 介紹高校信息化的現(xiàn)狀,對信息化進行中出現(xiàn)的信息孤島問題進行分析,給出解決信息孤島、實現(xiàn)數(shù)據(jù)共享的方法,即采用XML技術對異構系統(tǒng)數(shù)據(jù)進行集成,利用XML技術實現(xiàn)數(shù)據(jù)交換。
關鍵詞 XML;信息共享;數(shù)據(jù)集成;數(shù)據(jù)交換
中圖分類號 G434 文獻標識碼 A 文章編號 1671-489X(2008)18-0040-03
1 高校信息化現(xiàn)狀
信息技術的空前發(fā)展,已對社會的經(jīng)濟、文化、教育等產(chǎn)生深遠影響,導致新的教育技術革命。《2003—2007年教育振興行動計劃》明確提出實施“教育信息化建設工程”,要求加強高等學校校園網(wǎng)建設,加大教育信息資源開發(fā),推動高等學校數(shù)字化校園建設,推動網(wǎng)絡資源的整合。
隨著中國教育科研計算機網(wǎng)(CERNET)的建成和不斷發(fā)展,各高等院校紛紛建設校園網(wǎng)?;谛@網(wǎng)的應用系統(tǒng)的開發(fā),也就成為有關軟件開發(fā)商及高等院校師生關注的一個熱點。高校校園管理信息系統(tǒng)是學校教學、科研和行政管理工作中一項非常重要的基礎建設。由于高校內(nèi)各單位各部門信息化進程不一,開發(fā)工具和平臺也差別很大,在開發(fā)時缺少統(tǒng)籌協(xié)調(diào),特別是早期網(wǎng)絡不太完善時開發(fā)的系統(tǒng),甚至根本沒有考慮過數(shù)據(jù)共享的問題,形成一個個的信息孤島。這一類系統(tǒng)使用時間長,數(shù)據(jù)量大,數(shù)據(jù)遷移成本高。在統(tǒng)一實現(xiàn)校園信息化過程中,如何利用現(xiàn)有系統(tǒng)數(shù)據(jù)并實現(xiàn)信息系統(tǒng)之間數(shù)據(jù)共享,對節(jié)省開發(fā)費用、提高系統(tǒng)運行效率和性能,進而提高管理水平具有十分重要的意義。
2 異構數(shù)據(jù)庫概述
異構數(shù)據(jù)庫是指結構相異的數(shù)據(jù)庫,這里的異構有兩個級別含義:系統(tǒng)級的異構和語義級的異構。
系統(tǒng)級的異構主要表現(xiàn)在數(shù)據(jù)源所依賴的運行環(huán)境不同和各數(shù)據(jù)庫管理系統(tǒng)(DBMS)的不同。具體表現(xiàn):1)計算機體系結構的異構,各個參與集成的數(shù)據(jù)庫系統(tǒng)可以分別運行在大型機、小型機、工作站、PC 或嵌入式系統(tǒng)中;2)網(wǎng)絡體系結構的異構,各個數(shù)據(jù)庫系統(tǒng)運行在不同的網(wǎng)絡環(huán)境中,例如運行在廣域網(wǎng)中的數(shù)據(jù)庫系統(tǒng)和運行在局域網(wǎng)中的數(shù)據(jù)庫系統(tǒng)等;3)基礎操作系統(tǒng)的異構,各個數(shù)據(jù)庫系統(tǒng)的基礎操作系統(tǒng)可以是UNIX、WINDOWS、LINUX等;4)DBMS本身的異構,可以同為關系型數(shù)據(jù)庫管理系統(tǒng)的Oracle、SQL Server等,也可以是不同數(shù)據(jù)模型的數(shù)據(jù)庫管理系統(tǒng)。
語義級的異構主要源于不同數(shù)據(jù)庫對相同或相關數(shù)據(jù)的理解、解釋及使用的不一致性。比如在兩個數(shù)據(jù)庫中,對同一個屬性名的具體含義定義不同,或?qū)ν粚傩缘臄?shù)據(jù)值在兩個數(shù)據(jù)庫中的精度定義不同,都可能引起語義差異。一個顯著的差異便是各個關系型DBMS在數(shù)據(jù)類型上并不完全一致,在集成時必須進行一定的轉(zhuǎn)換。
3 XML技術[3]
可擴展標示語言XML (Extensible Markup Language) 是由W3C(World Wide Web Consortium,互聯(lián)網(wǎng)聯(lián)合組織)于1998年2月發(fā)布的一種標準,是從標準通用標記語言SGML(Standard Generalized Markup Language,標準通用標記語言)派生出來的,XML繼承了SGML可擴展性和文件自我描述特性以及強大的文件結構化功能,但摒棄了SGML過于龐大復雜和不易普及化的缺點。XML有如下突出特點:
1)可擴展性。XML不關心信息如何顯示,只是提供數(shù)據(jù)及其結構的信息,允許各個不同的行業(yè)根據(jù)自己獨特的需要制定自己的一套標記。
2)顯示多樣化。XML通過可擴展樣式表語(XSL)、可擴展樣式表語言轉(zhuǎn)換(XSLT)等設計高級用戶接口,以實現(xiàn)文件的內(nèi)容與顯示分開,實現(xiàn)顯示多樣化。
3)自描述性。通過文檔類型定義(DTD)或概要(schema)對XML文件格式進行正確的定義,這樣就使得XML具有良好的自描述性,能夠描述信息本身的含義甚至它們之間的關系。
4)平臺獨立性。XML以文本格式存儲和傳輸,便于用作各種不同系統(tǒng)之間的交流媒介,是一種跨平臺的語言。
5)互操作性。XML支持用于字符編碼的多種主要標準。
4 XML與異構系統(tǒng)
XML為異構系統(tǒng)的信息交換提供了標準格式,為異構數(shù)據(jù)庫的互操作提供了前提。在學校建立以學生數(shù)據(jù)為中心的一個數(shù)據(jù)集成系統(tǒng),將為各業(yè)務信息系統(tǒng)提供一致的、穩(wěn)定的共享數(shù)據(jù)源。集成數(shù)據(jù)系統(tǒng)既能保證全局數(shù)據(jù)的共享,又能保證學校各部門應用系統(tǒng)及其數(shù)據(jù)庫管理系統(tǒng)的自治,確保基于異種系統(tǒng)平臺實現(xiàn)對異構數(shù)據(jù)庫的查詢和聯(lián)合使用,提供一個獨立于特定數(shù)據(jù)庫管理系統(tǒng)的統(tǒng)一數(shù)據(jù)使用界面。具體地講,就是要將數(shù)據(jù)庫管理系統(tǒng)的不同、操作系統(tǒng)的不同、計算機平臺的不同或者底層網(wǎng)絡的不同屏蔽掉,使得用戶可以將異構數(shù)據(jù)庫系統(tǒng)看成普通的數(shù)據(jù)庫系統(tǒng),用自己熟悉的數(shù)據(jù)處理語言去訪問數(shù)據(jù)庫,如同訪問一個數(shù)據(jù)庫一樣,對其進行透明的操作。
5 利用XML實現(xiàn)數(shù)據(jù)信息集成的關鍵技術
5.1 XML文檔以及XML架構的獲取獲得XML文檔,通常有2種方法。1)當數(shù)據(jù)文件能夠通過ADO.NET訪問時,如后臺數(shù)據(jù)庫為SQL Server或者Oracle,并能夠直接通過SQL查詢,則可以利用.Net 架構中DataSet控件所提供的WriteXml()、WriteXmlSchema ()方法得到XML文檔。2)當數(shù)據(jù)文件不能直接訪問,只能通過COM組件或者API函數(shù)訪問時,就需要按照XML規(guī)范,將從遺留系統(tǒng)中得到的原始數(shù)據(jù)寫人XML文檔。如果還需要獲得XML架構的話,就需要利用.NET Framework提供的XML Schema/Datatype Support工具(Xsd.exe),根據(jù)上述XML文檔生成相應的架構;不過通過這種方法得到的架構其字段屬性均為String類型,需要參照具體的系統(tǒng)進行修改。
5.2 Web Service返回的XML文檔形式對返回的XML通過Web服務外置時通常有2種方式:1)作為字符串返回;2)通過強類型轉(zhuǎn)化,將XML文檔強制轉(zhuǎn)化為DataSet然后傳輸。由于需要對返回的數(shù)據(jù)進行分析、存儲,而不再需要對字符串結構進行分析,這樣就可以通過強類型化的代理直接訪問XML字符串中的域,很方便地對Web服務返回的數(shù)據(jù)進行處理和應用。
5.3 將XML封裝成Web Service[3]當獲得XML文檔后,只需要通過強類型轉(zhuǎn)化即可將XML映射成和資源系統(tǒng)數(shù)據(jù)庫中數(shù)據(jù)表一樣的結構,以供Web應用程序以及其他企事業(yè)單位應用程序使用;在Web Service中添加一個Web方法即可外置XML文檔。其方法如下:
[WebMethod]
public DataSet GetItemList ( )
{
DataSet ds = newDataSet();
ds.ReadXML(Server.MapPath (“ItemsXMLFile.xml”));
return ds ;
}
當通過集成平臺的UDDI中心找到上述 Web服務并獲得使用權,就可以在需要使用該數(shù)據(jù)的程序中引用該數(shù)據(jù)服務,并將相應的數(shù)據(jù)導人到對應的程序中。
6 數(shù)據(jù)交換[1]
6.1 XML設計數(shù)據(jù)訪問接口
〈?xml version=\"1.0\"encoding=\"GBK\"?〉
〈DEPTS〉
〈!—部門組織字典—〉
〈DEPT〉
〈DEPT_NAME〉deptl〈/DEPT_NAME〉
〈DEPT_SHORTNAME〉d1〈/DEPT_SHORTNAME〉
〈DEPT_CODE〉codel〈/DEPT_CODE〉
〈DEPT_LEVEL〉1〈/DEPT_LEVEL〉
〈DEPT_PARENT〉dept0〈/DEPT_PARENT〉
〈/DEPT〉
〈DEPT〉
〈DEPT_NAME〉dept2〈/DEPT_NAME〉
〈DEPT_SHORTNAME〉d2〈/DEPT_SHORTNAME〉
〈DEPT_CODE〉code2〈/DEPT_CODE〉
〈DEPT_LEVEL〉2〈/DEPT_LEVEL〉
〈DEPT_PARENT〉dept0〈/DEPT_PARENT〉
〈/DEPT〉
〈/DEPTS〉
6.2 異構數(shù)據(jù)交換時,進行數(shù)據(jù)交換的雙方服務器既是服務器又是客戶端現(xiàn)假設部門1與部門2進行數(shù)據(jù)交換,這時可將部門1作為客戶端,部門2作為服務端,其交換示意圖如圖1所示。具體的流程可以描述為:部門1通過調(diào)用SQL Server.NET或OLEDB.NET實現(xiàn)對數(shù)據(jù)庫的訪問,從部門1數(shù)據(jù)庫中提取所需的數(shù)據(jù),通過XML接口轉(zhuǎn)換成XML數(shù)據(jù)文件,通過SOAP和HTTP協(xié)議,把XML數(shù)據(jù)文件發(fā)送給部門2;部門2利用XML接口和數(shù)據(jù)庫接口[2],將接收的數(shù)據(jù)進行處理并存儲到部門2數(shù)據(jù)庫中。反之,部門2作為客戶端,部門1作為服務端,流程相似。
7 小結
充分利用現(xiàn)有信息化資源,在已有的異構業(yè)務系統(tǒng)之間建立統(tǒng)一的信息交換平臺,實現(xiàn)數(shù)據(jù)交換對高校網(wǎng)絡協(xié)同辦公具有特別重要的意義。利用XML技術實現(xiàn)異構數(shù)據(jù)的集成和數(shù)據(jù)交換,可以實現(xiàn)異構數(shù)據(jù)庫之間的透明操作,在盡量節(jié)省費用、確保性能的前提下,較好地解決歷史遺留的信息孤島問題,實現(xiàn)數(shù)據(jù)的集成和共享。
參考文獻
[1]張震,肖先勇.基于XML的電能質(zhì)量標準數(shù)據(jù)共享模型及跨平臺數(shù)據(jù)交換[J].計算機統(tǒng)應用,2007(27):12
[2]微軟公司.面向.NET的WEB應用程序設計[M].北京:高等教育出版,2006
[3]微軟公司.XML Web Service開發(fā)[M].北京:高等教育出版社,2004(10)