摘要:為了解決Web環境中異構數據庫數據共享和協作問題,提出了基于XML中間件技術實現異構數據庫之間信息交換的模型。采用XML技術和JSP技術,設計并實現了異構數據交換系統,實現信息共享和數據格式的統一。
關鍵詞:XML;關系型數據庫;數據交換;JSP
中圖分類號:TP311.131 文獻標示碼:A 文章編號:1009-3044(2009)26-7336-02
Design and Realize of Data Change System Based on XML
WANG Zhen-hui
(College of information engineering, Xi'an Fanyi University, Xi'an 710105, China)
Abstract: In order to resolve data sharing and collaborate among heterogeneous databases, we come up a mode used for information exchange based XML. We have design and realize data change system based on XML and JSP. It makes information share and unify of data format.
Key words: XML; RDBMS; Data Change; JSP
隨著互聯網的迅猛發展,互聯網應用已由瀏覽時代轉變為應用時代。由于Web開發方式部署簡單,成本低,界面友
好、易用,已經成為目前主流的開發方式。隨之在互聯網上運行著各種商務及信息檢索系統,但由于后臺關系型數據庫的選型不同,各應用系統數據相對獨立,不能共享,造成“信息孤島”的存在,為了促進異構數據庫[1]之間的通信,采用XML和JSP技術設計實現數據交換系統。
XML(eXtensible Markup Language)可擴展標記語言的優點使得其迅速成為一個與平臺無關、廠商無關的數據格式標準。首先,XML具有跨平臺的特性,因而在異構數據庫系統中應用XML這一特性解決了平臺無關性,同時使異構數據庫之間的數據互訪成為現實;其次,XML簡單、規范,因而對XML的查詢簡單;另外,XML以文本方式存儲,這使得HTTP傳輸更加容易,同時異構數據庫應用能夠用Web方式實現,擴大了異構數據庫的應用范圍;最后,XML的自描述性為描述數據庫的全局數據字典提供了簡單、快捷、高效的方法[2]。
JSP是SUN公司推出的動態網頁設計技術,,作為XML數據交換系統的實現技術有以下好處,一是JSP網頁采用JAVA語言開發,實現了平臺無關性,并且保證了系統的安全性。在數據庫訪問技術中采用JDBC接口可以訪問大多數關系型數據庫,同時使用JDBC-ODBC橋技術可以訪問ODBC數據源,大大增強了系統的可擴展性。
1 設計思路
1.1 結構設計
XML數據交換系統的結構主要包括三層,即基于Web瀏覽器的表示層、包含應用服務器和Web 服務器的功能層以及包含XML文檔數據庫和關系數據庫的數據層,其邏輯結構如圖1 所示。
為了在不同的數據庫之間正確地交換數據,應保證通訊雙方用于交換的數據均通過中間件技術轉換為同一種數據,即XML文檔。圖2是源數據庫中的數據經過XML數據集成系統,借助XML文檔實現數據交換的原理圖。
1.2 功能設計
XML數據交換系統的功能同樣分為三個層次,第一個層次是數據采集子系統,主要功能是從源關系型數據庫獲取數據。第二個層次是DB-XML轉換系統,主要功能是將源關系型數據庫數據轉換為XML文檔。第三個層次則是建立在各個關聯XML文檔之上的決策支持與分析子系統,關系數據庫查詢速度快,支持多用戶同時訪問,設計了XML-DB轉換系統,核心功能是將各異構數據對應XML文檔依據對應鍵值關系合并轉換為關系數據庫中的多個或一個表,為綜合信息檢索提供服務,從而實現數據共享。
2 核心技術
2.1 關系數據到XML文檔的轉換
將關系數據庫的數據轉換為XML文檔步驟如下:
1)對應每一個表,創建一個元素。
2)對表中的每一列,創建一個屬性或者是一個只有PCDATA內容的子元素。
3)根據表中的每一主鍵/外鍵關系,創建該表元素的子元素,通過關系表的主鍵、外鍵將各元素、子元素串接成樹狀結構的XML文檔,然后合并屬性;
4)刪除關系數據庫中因規范化而導致的冗余,優化XML文檔。
2.2 XML文檔到關系數據的轉換
實現XML文檔到關系數據的轉換,首先要實現從XML的數據模式到關系數據模式的轉換,即將XML數據模式到關系模式的轉換方法描述成文本格式的轉換標準,當數據交換時依據該轉換標準進行轉換。
將XML文檔轉換為關系數據庫數據,我們采用使用下面的映射規則:
1)簡單元素和單值屬性直接映射到表的列;
2)復雜元素形成表,對復雜元素包含的內容分類處理:單值屬性和簡單子元素映射如1)規則;若是復雜子元素,形成對復雜子元素對象的引用,當該元素形成表后,把這個引用改成PK-FK(這里把用指針連接起來的數據關系改用關系數據庫中的Primary keys和Foreign keys之間的等值連接聯系起來);若是用*,+形成的多個子元素,則該元素形成一個表,在父元素和子元素的表之間添加PK-FK;
3)對有多值屬性需要創建一個單獨的表來存儲這些值,包含FK,其與包含它的父元素所在表的PK形成連接。
2.3 JDOM處理XML數據
JDOM是基于樹操作的純Java API,應該說它提供的是一套用于解析、創建、處理和實現XML的解決方案。這些API比DOM和SAX API提供的方法更為直觀,對于有Java經驗的程序員將會發現JDOM非常容易掌握。在JDOM中,提供了DOMOutputter、XMLOutputter,用于處理JDOM樹的DOM樹形式、XML文件形式輸出、打印等,JDOM處理XML的方式比DOM容易的多,并且它的功能比使用SAX更加強大。
在XML集成系統中采用JSP中的JAVABEAN組件來封裝對XML的讀寫操作,JAVABEAN作為邏輯層,JSP作為表示層,做到了代碼的復用。
源關系數據和目標關系數據轉換流程:
1)制定全局數據表來保存源數據及目標數據中字段類型的對應關系和表之間的關聯。
2)定義作為系統轉換中介的標準XML文件格式。
3)利用JAVABEAN組件、JDBC接口和JDOM包,進行數據轉換工作。
3 結束語
Web應用主要是實現資源共享,公司內部涉及到多個應用系統之間的數據交換和共享。XML 簡單、開放、可擴展、內容與應用分離,已經成為事實上的網絡數據交換標準。本文結合企業實際需求,構建了基于XML的數據交換系統,使用XML數據標準解決了互聯網應用中數據共享的難題,同時結合JSP技術提高了系統平臺移植能力,為開發者提供了異構數據轉換方法。
參考文獻:
[1] 馬淑嬌,李曉,周俊林.異構數據庫集成中的XML技術探討[J].計算機應用研究,2004(1):94-96.
[2] 孫冬冬,張景,李軍懷,等.基于XML,SOAP的企業應用集成技術[J].計算機工程與應用,2003(31):205-207.
[3] 唐曉波,黎朝輝.XML Web 服務在電力企業信息系統集成中的應用框架[J].華中電力,2004(17):8-10.
[4] 史小宏,張錦.XML中運用ADO的數據存取技術[J].微型電腦應用,2003(19):58-59.