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