摘要:新一代互聯網Web2.0的普及和發展,對Web環境下的數據交換提出了更高的要求。文中首先分析了當前Web數據交換所面臨的困難,接著介紹了XML技術及其優點,最后對XML在Web數據交換上的應用進行了說明。XML的推廣和使用對于推動Web數據交換具有重要意義。
關鍵詞:Web2.0;數據交換;XML;DOM
中圖分類號:TP391文獻標識碼:A文章編號:1009-3044(2008)35-2056-03
The Technology of XML Data Interchange Based on Web2.0
MIN Jie, JIANG Ting-yao, WANG Ming
(College of Electrical Engineering Information Science, China Three Gorges University, Yichang 443002, China)
Abstract: The popularization and development of the new generation Internet Web2.0,put forward a higher demand to data interchange under the Web environment.This paper first analyzes the difficulty which the current Web data interchange faces,then introduces the XML technology and its advantages,finally explains the application of XML in Web data interchange.The spread and use of XML to promote the Web data interchange is of great significance.
Key words: Web2.0; Web data interchange; XML; DOM
1 前言
隨著網絡的不斷普及,人們對網上各類信息的應用需求不斷提高,網絡環境下的信息服務面臨越來越多的挑戰,人們不在滿足于在各個門戶網站所搭建的平臺上被動的獲取信息,他們希望以自己的方式發布和獲取信息,Web2.0在這種需求背景下應運而生,其相對于Web1.0具有更好的交互性,是新一代互聯網的統稱[1]。Web2.0注重以人為核心,信息傳遞更加及時,工具功能更加的強大的特性使得在互聯網環境中的數據交換提出了更高的要求,也面臨著一些難以解決的問題。而XML以其靈活、通用、跨平臺的優勢為解決Web2.0環境下的數據交換難題帶來了機會。
2 基于Web2.0數據交換面臨的困難
目前己經有了很多有關XML的研究,其廣泛存在于電子政務、電子商務、網上出版、遠程服務、電子書籍、信息集成、信息咨詢以及合作科研等研究領域。但是,關于XML數據在Web環境下的高效數據交換技術方興未艾,數據庫界的研究者一直在努力探索高效的XML數據交換技術。
2.1 傳統方法不能滿足Web2.0數據多樣性的要求
如今互聯網上的資源己經越來越多樣化,這些資源的數據交換也越來越復雜。從20世紀90年代起,在Web1.0環境下的基于XML的數據交換技術的研究取得了很大的成果,但在新一代網絡環境存在多個異構數據源,已有的成果應用于Web2.0環境下,導致了數據結構要求的不一致性,資源利用率低,性能不夠優化,數據的共享性、獨立性和易擴展性都很差[2]。而對眾多的互聯網用戶來說,種類多樣的資源能夠交互和共享是他們最大的需要。
2.2 數據結構的半結構化
Web上的數據與傳統的數據庫中的數據不同,傳統的數據庫都有一定的數據模型,可以根據模型來具體描述特定的數據。而Web上的數據非常復雜,沒有特定的模型描述,每一站點的數據都各自獨立設計,并且數據本身具有自述性和動態可變性。因而,Web上的數據具有一定的結構性,但因自述層次的存在,從而是一種非完全結構化的數據,也被稱為半結構化數據。
2.3 Web數據交換的安全性
隨著網上銀行、電子商務等的興起,以及最近Web2 .0的發展,拓展了Web的應用領域的同時,也更容易受到黑客攻擊,Web服務的安全性問題日益突出,如何保證在客戶代表、合作伙伴和供應商之間的傳遞數據的安全性和可靠性[3],成為網絡環境下基于XML數據交換的重要問題。
3 XML在Web數據交換應用中的優勢
XML(Extensible Markup Language)是W3C提出的一種定義其它語言的元語言,是SGML(Standard Generalized Markup Language)的一個精簡子集,可提供描述結構化資料的格式,開發人員可以創建各種標記來標記文檔的結構和語義,以便于在Web上傳送信息和交換數據。XML提供了一種獨立的運行程序的方法來共享數據, 它是用來自動描述信息的一種新的標準語言。以XML為基礎的新一代WWW環境是直接面向Web數據的,能夠更好地實現Web中信息的共享與交換。其在Web數據交換應用中具有以下優勢[4]:
1) 簡單靈活,適用于Web數據交換:
XML描述的是數據的結構和語義,而不是格式,即XML有效地實現了數據與格式的分離。表示的是所描述數據的層次結構關系以及數據本身的含義,而數據的格式則可以通過相關的樣式表進行描述。此特性使我們可以將其用于各種結構信息的表示。同時,對于同一XML文檔內容,通過使用不同的樣式表,可以使數據在客戶端進行不同格式的輸出。
2) 異構系統間自由互通信息:
由于不負責顯示,XML獲得了瀏覽器無關的特性。不同廠商的瀏覽器各自用自己的應用軟件進行顯示,XML只負責傳輸信息。服務器端,XML樹結構的信息管理方式與各種關系型數據庫很容易接軌,來自不同數據源的數據都存儲在XML文檔中。在Web系統中XML扮演著不同顯示平臺、不同格式數據源之間進行數據交換的中介角色,成了網絡上進行數據交換的標準。
3) 可以在網絡上傳遞對安全性要求較高的數據:
XML豐富的格式語言可用來描述不同類型的數據,例如信用證、貸款申請表、保險單、各種發票等。結構化的XML文檔送至Web的數據可以被加密,并且很容易附加上數字簽名[5]。XML的安全保密措施可在電子數據交換EDI(Electronic Data Interchange)的應用中大顯身手。
4) 跨平臺,可擴展性:XML是經過檢驗的國際標準,使用文本來保存數據,而不是使用二進制格式,而且允許用戶自行開發,對應用于跨平臺的數據交換十分方便。XML提供獨立的運用程序來共享數據,使用DTD或Schema標準來效驗XML文檔的格式是否滿足DTD或Schema的約束,不同組中的人員就能夠使用共同的DTD來交換數據。
4 Web2.0環境下XML數據交換技術的應用
XML給基于Web的應用賦予了強大的功能和靈活性,因此它給開發者和用戶帶來了許多好處。這些應用從大的方面講可以被分成以下五類:需要Web客戶端在兩個或多個不同的數據庫之間傳遞信息的應用;希望將Web服務器的大量處理負荷轉移給Web客戶機的應用;要求Web客戶機把同一數據以不同的表現方式提供給不同用戶的應用;利用XML減少與Web服務器連接的次數的應用;利用XML加密以增強Web安全性的應用。
使用XML的數據交換在Web上實現數據的融合、發布和顯示的三層框架結構如圖1所示。其主要包括數據層、WEB應用層和用戶接口層。其中數據層主要是實現數據的存儲管理,一般由系統后臺數據庫系統實現,存儲的數據可以由異種數據源構成。Web應用層主要通過數據層提供的接口實現數據的訪問和操作,并將數據轉化為XML格式,實現系統的業務規則,同時完成對XML格式數據的處理。Web應用層可以從多種數據源中提取所需要的數據并進行融合,通過XML技術,這種異構數據源的數據提取操作是透明的。通過DOM可以對XML文檔樹結構的各個對象節點進行處理,完成對XML數據顯示樣式的處理操作。在用戶接口層XML可配合XSL按照預先定義的樣式實現基于Web瀏覽器的多樣式可視化顯示。改變XSL即可改變XML數據的前臺顯示。
XML在Web2.0的應用可以被分為以下五類:
1) 實現異構環境下的無縫集成:
由于Web環境下存在多個數據源,要求各個站點采用同一種體系架構和數據模式是不現實的。XML能夠使不同來源的結構化數據很容易地結合在一起。軟件代理商可以在中間層的服務器上使用XML作為公共數據表示來表達要交換的數據結構信息和值信息,通過對數據結構信息文檔的分析和值信息文檔的轉換,然后將數據發送到客戶或其他服務器做進一步的融合、處理和分發[6]。從而有效解決Web2.0環境下數據交換需不斷滿足新要求的問題。
2) 要求Web客戶機把同一數據以不同的表現方式提供給不同用戶的應用:
XML還可以通過以簡單開放擴展的方式描述結構化的數據,XML補充了HTML,被廣泛地用來描述使用者界面。HTML描述數據的外觀,而XML描述數據本身。由于數據顯示與內容分開,XML定義的數據允許指定不同的顯示方式,使數據更合理地表現出來。本地的數據能夠以客戶配置、使用者選擇或其他標準決定的方式動態地表現出來[7]。CSS和XSL為數據的顯示提供了公布的機制。在這類應用中,XML解決了數據的統一接口問題。但是,與其他的數據傳遞標準不同的是,XML并沒有定義數據文件中數據出現的具體規范,而是在數據中附加TAG來表達數據的邏輯結構和含義。這使XML成為一種程序能自動理解的規范。
3) 將大部分處理負載從Web服務器轉到Web客戶端的應用:
XML應用于將大量運算負荷分布在客戶端,即客戶可根據自己的需求選擇和制作不同的應用程序以處理數據,而服務器只須發出同個XML文件。XML的自解釋性使客戶端在收到數據的同時也理解數據的邏輯結構與含義,從而使廣泛、通用的分布式計算成為可能[8]。 XML還被應用于網絡代理,以便對所取得的信息進行編輯、增減以適應個人用戶的需要。有些客戶取得數據并不是為了直接使用而是為了根據需要組織自己的數據庫。
4) 減少與Web服務器連接的次數:
由于基于XML的數據是自我描述的,數據不需要有內部描述就能被交換和處理。利用XML,用戶可以方便地進行本地計算和處理。采用的方法是通過HTTP使用JavaScript從中間層請求新的XML數據,瀏覽器內建的XML解析器從中間層接收被標記包含的數據流,利用XML文檔對象模型(DOM)進入XML文件內部的接口,使JavaScript檢查接收到的數據,并且通過更新用戶接口來反映相應的變化[9]。DOM允許用腳本或其他編程語言處理數據,數據計算不需要回到服務器就能進行,從而減少了與Web服務器連接的次數,避免每次請求時都刷新整個瀏覽網頁。
5) 利用XML增強Web數據的安全性和可靠性:
XML 加密為需要結構化數據安全交換的應用程序提供了一種端到端安全性。XML 本身是對數據進行結構化最流行的技術之一,因此基于 XML 的加密成為處理數據交換應用程序安全性要求的方法。使用XML加密可實現多方之間的安全會話,即每一方都可保持與任何通信方的安全或非安全狀態,可在同一文檔中交換安全或非安全的數據。XML加密可作為SOAP協議的安全性擴展,因為SOAP協議基于XML,可以通過嵌入加密了的XML數據的形式,在消息傳輸的應用層采用適當的加密策略[10]。 在Web中,XML加密的方法可以嵌入到文檔內部,并且把安全粒度細化到XML文檔元素和屬性級別,實現同一文檔不同部分的安全要求。通過XML加密可以使同一文檔加密后對不同用戶呈現不同視圖,用戶只能看到被授權的那部分內容[11]。
5 結束語
在Web2.0異構數據環境下的數據交換是一項復雜的技術,而XML作為表示結構化數據的自描述語言,從數據的角度提供了個更好地表示數據的邏輯結構和傳遞更多的數據信息。因此,基于XM L的數據交換已成為目前Web交換的技術研究熱點。目前,關于Web2.0環境下的數據交換仍存在許多問題有待解決,相信今后隨著XML技術逐步走向成熟,XML作為在Web上交換數據的一種標準方式,使Web交換工作變得更有效,也更為容易。
參考文獻:
[1] 楊為民,李龍澍.基于Web2.0的信息服務系統[J].計算機技術與發展,2007,(09):183.
[2] Chen W T, Tsai W H, King C T, et al. An Overview of the Project for Next Generation Information Communication Networks [J].IEEE, 2005:206-210.
[3] WSC XML Working Group. Extensible Markup Language(XML)1.0[EB/OL]. http://www.XML.Com.
[4] 梁作鵬.面向Web的XML檢索關鍵技術研究[D].南京:東南大學,2005:11.
[5] 劉錫東.基于XML的數據交換的研究與應用[D].山東:山東大學,2007:36.
[6] 陳傳波,張輝.基于XML和消息中間件的異構數據集成技術[J].計算機工程與科學,2004:67-69.
[7] XU Q J, ZHANG N T,ZHANG Z, et al. Modeling of Information Communication Networks Architecture[C]. Proceedings of ISCIT, 2005,122-126.
[8] Guermouche A, Excellent J Y.A Study of Various Load Information Exchange Mechanisms for a Distributed Application Using Dynamic Scheduling[C]. Proceeding of the 19th IEEE International Parallel and Distributed Processing Symposium,2005.
[9] OASIS.XML Applications and Initiatives[EB/OL].http://xml.coverpages.org/xmlApplications.html.
[10] ERDMANNM,STUDER R.How to structure and access XML documents With ontologies[J].Data and Knowledges Engineering,2001(36):317-355.
[11] HADAS KuDOM.XML access control Language: provisional authorization for XML documents Tokyo Research Laboratory. IBM Research[EO/BL].http://www.Wsory/TR/XML—C/4n.