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