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