萬又銘 陳聚超 梁祝
摘要:自XML技術出現(xiàn)以來,其發(fā)展速度非??欤⒅饾u應用到各個領域中,XML數(shù)據(jù)庫與其他數(shù)據(jù)庫不同,它提供了更強大的數(shù)據(jù)分析能力和儲存能力,并通過三層結(jié)構(gòu)對數(shù)據(jù)庫信息進行處理?;诖耍疚耐ㄟ^對XML與數(shù)據(jù)庫之間的關系進行分析,論述了XML基于中間件中的三層結(jié)構(gòu)對數(shù)據(jù)庫信息進行訪問的方法,以此來驗證XML處理數(shù)據(jù)庫信息的有效性。
關鍵詞:三層結(jié)構(gòu);XML數(shù)據(jù)庫;信息處理
前言:
XML是一種能夠?qū)﹄娮游募M行標記,并且使其具有一定結(jié)構(gòu)的通用標記語言。同時XML是SGML簡化之后的子集,專門服務于Web應用程序。XML的表現(xiàn)形式與其他數(shù)據(jù)最大的不同在于:它非常的簡單,這種簡單使它能夠在各個應用程序中進行數(shù)據(jù)讀寫。為了使SGML的顯示更加友好,XML對SGML中的一些參數(shù)和內(nèi)部值進行重新定義,剔除了很多“無用”功能,使得在應用SGML設計各類網(wǎng)站過程中更加簡單。
1、XML與數(shù)據(jù)庫
在應用傳統(tǒng)數(shù)據(jù)庫過程中,主要是針對事務處理和商業(yè)。隨著Internet時代的帶來,Web迅速發(fā)展起來,它改變了很多內(nèi)容。同時也為處理數(shù)據(jù)庫信息帶來了新的挑戰(zhàn):如何對Web上的文檔或者數(shù)據(jù)(以指數(shù)增長形式)進行管理和存儲,使這些數(shù)據(jù)既能在Web平臺上靈活的交換和表示,又能夠被高效的維護和操作。在這種情況下,XML作為一種應用前景廣闊的標記語言進入人們視線中。XML是一種數(shù)據(jù)交換標準,注重的是數(shù)據(jù)格式統(tǒng)一,而不是供應數(shù)據(jù)庫特性。因此,在應用XML時,數(shù)據(jù)庫數(shù)據(jù)管理的地位并沒有改變。而在數(shù)據(jù)處理過程中,為了使XML交換業(yè)務數(shù)據(jù)更加方便,需要對數(shù)據(jù)庫中的XML進行數(shù)據(jù)存取,同時還要將XML數(shù)據(jù)與各個應用程序進行集成,從而使它與現(xiàn)在已有的各類業(yè)務標準相結(jié)合。在開發(fā)XML動態(tài)應用如動態(tài)數(shù)據(jù)交換和動態(tài)信息發(fā)布時,必須有XML數(shù)據(jù)庫的“援助”。事實上,在構(gòu)建XML時,本身就是以統(tǒng)一碼(Unicode)為基礎的,具有通用性。此外,XML之所以被稱為數(shù)據(jù)交換標準,是因為它將結(jié)構(gòu)信息和數(shù)據(jù)緊密的結(jié)合在一起,從而增強處理數(shù)據(jù)庫信息的能力。XML在廣泛應用以來,使得各個格式和各個異構(gòu)平臺中的數(shù)據(jù)信息進行交換更加方便。當人們利用XML格式取代原始數(shù)據(jù)格式,那么就可以以HTML格式將數(shù)據(jù)形式表示出來。因此,XML在對數(shù)據(jù)庫信息進行處理過程中,有著非常大的優(yōu)勢。
2、基于三層結(jié)構(gòu)的XML數(shù)據(jù)庫信息處理
2.1 B/S信息處理模式
隨著Internet的發(fā)展和興起,C/S模式逐漸向著B/S模式轉(zhuǎn)變,在B/S這種結(jié)構(gòu)下,使用者的界面都是在WWW瀏覽器中實現(xiàn)的。其中有一些事務邏輯的實現(xiàn)是在前端中,然而大部分邏輯業(yè)務的實現(xiàn)都是在服務器端。這樣可以形成一個3-tier結(jié)構(gòu),3-tier結(jié)構(gòu)的形成逐漸成為現(xiàn)如今各個軟件應用中最為重要的體系結(jié)構(gòu)。這三層結(jié)構(gòu)主要是數(shù)據(jù)庫層、邏輯層以及用戶界面層。在實際應用過程中,還可以形成更多層,但是最為常見的便是這三層結(jié)構(gòu)。應用XML時,用戶界面層主要接受用戶的請求,然后返回數(shù)據(jù),從而使客戶端可以對應用程序進行訪問。同時它通過Web進行表示,且與用戶最為接近,在接收和顯示用戶數(shù)據(jù)之后,形成一個交互式的界面,從而達到交換數(shù)據(jù)的目的。邏輯層是處于用戶界面層和數(shù)據(jù)庫層線之間,在數(shù)據(jù)交換過程中,所起到的作用是承上啟下。應用XML過程中,邏輯層建立了一個數(shù)據(jù)庫鏈接,通過用戶請求自動生成以SQL語句更新或者是檢索數(shù)據(jù)庫,然后將結(jié)果傳輸?shù)娇蛻舳?。而對于?shù)據(jù)庫層來說,主要是負責對數(shù)據(jù)進行檢索和存儲[1]。
2.2中間件
在實際應用過程中,雖然XML中間件被廣泛應用,且應用前景非常廣闊,但是XML中間件并沒有一個具體的概念。它的出現(xiàn)主要是因為XML的特性和功能得到了研究中間件的專家認可,因此,出現(xiàn)了大量與XML有關的中間件產(chǎn)品。最為常見XML中間件主要有SAX、JDOM等。通常情況下,中間件的理解便是用來轉(zhuǎn)化和處理數(shù)據(jù)庫與XML文檔之間信息的軟件,常用于以信息數(shù)據(jù)為中心的各種應用程序中。中間件的編寫可以使用不同的語言進行,常用的有OLE、DB或者是JDBC、ODBC等。在實際應用過程中,中間件在傳輸數(shù)據(jù)時,基本上都是基于Web服務器實現(xiàn)的。XML數(shù)據(jù)庫基于中間件的應用模型在應用過程中,需要有三層架構(gòu)的支持。用戶接口層通過使用XSL或者是CSS技術,使得XML在Web瀏覽器中以可視化和多樣化的形式顯示出來。同時在應用中間層過程中,需要將一個代理程序放入其中,如利用ASP開發(fā)出來的應用程序。通過這個代理程序?qū)敵龅腦ML文檔和數(shù)據(jù)庫中的管理系統(tǒng)數(shù)據(jù)進行訪問,其中采集到的數(shù)據(jù)來源并不局限于固定的數(shù)據(jù)庫,它是來自于用戶多樣化需求。除此之外,利用中間件過程中,需要通過應用程序或者是瀏覽器對Internet進行訪問,從而產(chǎn)生模式信息。用戶通過XML數(shù)據(jù)庫接口進入關系數(shù)據(jù)庫,從而對信息處理情況進行查詢。這樣可以快速完成相應的數(shù)據(jù)交換[2]。
2.3 XML數(shù)據(jù)信息存取機制
通常情況下,用戶各種應用需求都需要通過XML對數(shù)據(jù)進行傳輸。XML數(shù)據(jù)源非常多,但是主要有三種。其一是純文本文檔的XML格式,這種格式是最簡單也是最基本的,可以直接讀取在文件中存儲的各種數(shù)據(jù)。然后利用XML文檔或者是XSL文檔對其進行轉(zhuǎn)化,從而顯示在瀏覽器中。也可以利用DOM接口編程連接其他應用程序,DOM主要是指對象模型。DOM能夠提供一組API對XML數(shù)據(jù)進行存取,同時還可對XML數(shù)據(jù)中的各個節(jié)點進行讀取,是一種最為基本的XML存取技術。其二是關系數(shù)據(jù)庫,關系數(shù)據(jù)庫法主要是利用中間件在XML文檔和數(shù)據(jù)庫之間建立一個橋梁關系,為動態(tài)應用開發(fā)提供保障。同時它利用數(shù)據(jù)庫系統(tǒng)管理相關數(shù)據(jù),然后再通過服務器端動態(tài)存取數(shù)據(jù)。其三是來自其他的應用數(shù)據(jù),包括商務報告、目錄清單以及郵件等。XML在基于三層結(jié)構(gòu)對數(shù)據(jù)庫信息進行處理過程中,最常用的是第二種方法。
結(jié)論:
綜上所述,隨著XML數(shù)據(jù)庫需求不斷增加,充分利用三層結(jié)構(gòu)實現(xiàn)XML數(shù)據(jù)庫相關信息的處理是非常重要的。經(jīng)過上文分析可得,處理XML數(shù)據(jù)庫信息時,需要以B/S構(gòu)建三層結(jié)構(gòu),利用中間件來轉(zhuǎn)化和處理數(shù)據(jù)庫與XML文檔之間的信息。然后選擇合適的XML數(shù)據(jù)信息存取機制對各類XML數(shù)據(jù)進行存取,方便客戶端讀取相應數(shù)據(jù)。
參考文獻:
[1]劉洋.ADO技術在XML數(shù)據(jù)庫信息處理中的應用研究[J].信息與電腦(理論版),2017 (17):142-144.
[2]趙錦明,錢磊,吳東,郝子宇.基于蟻群平臺的大規(guī)模分布式XML數(shù)據(jù)庫[J].計算機工程,2017,43 (03):24-31.