古詩詞大全網 - 藝術簽名 - XML的應用分析

XML的應用分析

杜富殿

(海南省國土環境資源信息中心,海口,570206)

摘要:數據交換存在於“金土工程”相關的系統、數據、上下級信息傳遞中,以 XML 作為基礎的數據交換形式,可以解決數據交換的安全性、可靠性、靈活性和開放性,為“金土工程”提供簡捷和高效率的數據交換方式。

關鍵詞:“金土工程”;XML;數據交換;數據總線

“金土工程”是國土資源信息大廈的框架工程,數據將是該工程的核心內容之壹,由於“金土工程”所牽涉的數據內容、數據類型和數據格式等方面的異構問題,數據交換必然是“金土工程”中不可或缺的組成部分。以 XML 為技術基礎的數據總線方式,將為“金土工程”各系統、數據、上下級,甚至系統和數據內部的交換提供松散耦合、明碼、界線明晰的可擴充性、易維護性、開放性和統壹性的數據交換平臺。

1 “金土工程” 的數據交換體系

“金土工程”將采用面向服務的技術構架及電子政務平臺思想,強調技術的實用性、通用性、可靠性、安全性,保障系統的可擴充性、易維護性、開放性和統壹性。

在數據資源建設方面,采用主流 GIS 平臺、面向對象型數據庫等技術,按照統壹標準建設與整合各類數據庫,通過集中與分布式管理相結合、多級備份和相對獨立的數據管理機制實現數據的統壹管理與維護。

在應用系統建設方面,統籌規劃,通過電子政務平臺搭建國土資源業務應用系統。

無論在數據資源和應用系統的內部或之間都必須進行數據交換,形成數據交換體系。數據交換體系包括面向基礎數據庫同步與備份的交換系統、面向各級業務信息傳遞的交換系統、面向外部數據***享的交換系統,甚至面向系統內部模塊間的數據交換。

面向基礎數據庫同步與備份的交換系統,主要實現將下級數據庫的更新及時地、自動地同步更新到上級數據庫。

面向各級業務信息傳遞的交換系統,主要是用來實現垂直業務系統上下業務流程間的業務數據交換、統計數據上報、材料上報或下發等。

面向外部數據***享的交換系統,主要實現國土資源系統與外部門間基礎數據有關業務數據的交換。

面向系統內部模塊間的數據交換,主要實現模塊之間數據計算、處理等過程中數據的交換。

數據交換體系必須解決數據交換的安全性、可靠性、靈活性和開放性,采用 XML 技術作為“金土工程”數據交換體系的基礎是壹種較佳的選擇。

2 XML 的發展和特點

2.1 XML 的發展

到目前為止,采用 HTML 編寫的 Web 頁面占相當比例。HTML 簡單易學又通用,句法簡明緊湊,加上其擴充的表格、幀、腳本等功能,使得它在 Web 主頁上大顯身手。但是隨著 Web 應用的越來越廣泛,HTML 過於簡單的弱點也越來越明顯了。

(1)鏈路丟失後不能自動糾正 由於許多頁面的 URL 地址經常變化,瀏覽這些頁面時就會遇到煩人的404 URL 地址未找到的信息。不得不手工壹個個地更改鏈接相關頁面的 URL地址,這大大加重了 Web 頁面的維護工作量。

(2)動態內容需要下載的部件太多 用 HTML 建立的頁面目前還不能對其頁面的外觀屬性,例如色彩、字體、背景等實現更新,只能重新下載壹個新的頁面或 Java 部件。但 Java保存的數據搜索引擎是無法訪問的,所以在 HTML 頁面中使用 Java 來顯示動態內容也不是靈丹妙藥。

(3)搜索時間長 由於 HTML 頁面沒有類似於數據庫的結構,在這樣的文檔資料中搜索目標時需要對全部頁面的所有內容掃描,往往檢索出壹大堆與主題詞無關的內容,這是因為HTML 無法區分信息與元信息而造成的。而且 HTML 不支持信息嵌套體系結構,因而限制了全文檢索功能。

(4) HTML 缺乏對雙字節或多國文字的支持,或者說支持不夠。例如中文信息頁面在不同的平臺下會出現格式不齊等問題。

(5)HTML 可擴展性差 科學家無法用 HTML 書寫數學公式、化學方程式以及分子晶體結構。

為解決這些缺點,可擴展標記語言——Extensible Markup Language,簡稱XML應運而生。

1998年2月萬維網協會(W3C)發布了XML1.0 標準,XML是壹種元標註語言,該語言提供壹種描述結構數據的格式,是W3 C 定義的用於優化Web 上的傳輸的SGML (通用標記語言標準 ISO8879:1986)的子集,XML 確保結構數據是壹致的並獨立於應用程序或供應商,可編碼各種情況(從簡單至復雜)的內容,是語義和架構的數據標準。

2.2 XML 的特點

XML 自從出現以來,以其標準化、接口協議、簡化和封裝等優點,被譽為信息標準化過程的有力工具,基於 XML 的標準將成為以後信息標準的主流。

2.2.1 標準化

與其他服務技術相比,標準化是 XML 特色之壹。XML 提供了系統之間傳輸數據的標準格式。萬維網聯盟(W3C)管理 XML 標準並發布給全球的 XML 技術提供者,這就確保了 XML 產品的兼容性。除了 XML 引擎和產品外還有 XML 文法(grammar)。每壹個XML語法都是壹種在某個特定問題領域進行數據格式化的標準方法,遵循並采用 XML 文法,任何人都可以使兩個應用系統間通信的數據格式標準化。

2.2.2 接口協議

在對接口進行編程時經常將它稱之為協議。從編程的角度出發,接口在沒有暴露實現的情況下提供了編程結構。如果使用 DTD (文件類型定義)和大綱(schema),那麽XML 就有類似的特性。DTD 和大綱都用來描述 XML 文檔的結構以及 XML 文檔的建立規則,可以用壹個(或者多個)相關 DTD (或者大綱)組織這樣的規則集合,稱之為 XML文法。

XML 文法不僅可以用於應用程序之間通信的標準化,還可以為開發者提供壹個接口協議。換句話說,開發者在創建壹個需要使用 XML 文檔結構的應用程序時,不需要知道文檔是如何實現的(即實際的 XML 文檔)。DTD 以及大綱描述了文檔的結構,可以作為開發的接口協議,對 DTD 的任何改動同時也改變了協議。

2.2.3 簡化

XML 文檔的另壹個重要方面就是它的簡化特性,而是說 XML 的概念和壹般方法簡單。例如,XML 是基於文本文檔的,這就簡化了打開 XML文檔並查看其內容的過程。

用 XML 簡化 Web 服務模型很方便,這壹點也很重要。Web 服務天然就比單獨的XML要復雜。假設 XML和CORBA同樣復雜,而且其他Web服務技術的復雜度相同,那麽Web服務技術就會變得非常笨重。但是通過使用簡單的搭積木的方法,如XML、SOAP等等,可以控制 Web 服務的復雜度在壹個可以容忍的範圍之內,這樣用它創建的應用程序不至於難以控制。

2.2.4 封裝

封裝是XML特性之壹,在開發Web服務的時候尤其如此。從本質上來說,封裝指的是獲得壹個或者多個數據塊(chunks of data)並把它們集合成壹個簡單對象(而不是幾個獨立對象)的概念。封裝與集合(aggregation)類似,但是它們之間有壹個重要的差別,即封裝壹般意味著它沒有外部依賴性。

可以創建帶有外部依賴性的 XML 文檔,但是在事務 Web 服務模型(transactional Webservices model)中,利用封裝會顯得更加明智。通過設計包裝了依賴性的 XML 解決方案,壹般都可以消除事務處理過程中的問題。尤其是在外部數據常常發生變動的情況下,強迫在事務處理中定位外部數據並使其與 XML 數據壹致的方法是有害的。如果把數據封裝到XML文法中去,就交易獲得正確的數據。

3 XML 數據總線應用分析

3.1 XML 為 “金土工程” 的數據交換搭建總線

“金土工程”的各系統和層次之間的數據交換通過開放的 XML 數據總線技術實現,XML數據總線由四部分的內容組成:發布、集成、分布和自動化,如下圖所示。

XML 數據總線圖

發布數據總線是將同壹數據內容在客戶端根據不同的用戶需求進行不同形式展現的數據交換。通過數據總線方式將數據顯示與內容分開,XML 定義的數據允許指定不同的顯示方式,使數據更合理地表現出來。XML 補充了 HTML,逐漸被廣泛地用來描述用戶界面,形成了 HTML 描述數據的外觀,而 XML 描述數據本身。

本地的數據能夠以客戶配置、使用者選擇或其他標準決定的方式動態地表現出來,CSS和 XSL 為數據的顯示提供了公布的機制。通過 XML,數據可以粒狀地更新。每當壹部分數據變化後,不需要重發整個結構化的數據。變化的元素必須從服務器發送給客戶,變化的數據不需要刷新整個使用者的界面就能夠顯示出來。改變了 HTML 方式,只要壹條數據變化了,整壹頁都必須重建,這嚴重限制了服務器的性能。

另外,通過 XML 總線方式發布的數據還允許加進其他數據,加入的數據能夠進入存在的頁面,不需要瀏覽器重新發壹個新的頁面。

集成數據總線是系統之間的兩個或更多異質數據庫之間進行數據交換。

系統之間與這些有各自不同的復雜格式的數據庫間通過 XML 標準語言進行交互,這是由於 XML 的自定義性及可擴展性,使其足以表達各種類型的數據。系統收到數據後可以進行處理,也可以在不同數據庫間進行傳遞。XML 解決了數據交換的統壹接口問題。

XML 給系統賦予了強大的功能和靈活性。比如進行更有意義的搜索,並且數據被XML 唯壹地標識。沒有 XML,搜索工具必須了解每個數據庫是如何構建的,但這實際上是不可能的,因為每個數據庫描述數據的格式幾乎都是不同的。由於不同來源數據的集成問題的存在,現在搜索多樣的不兼容的數據庫實際上是不可能的。通過 XML 數據總線的方式能夠使不同來源的結構化的數據很容易地集成在壹起,可以在中間層的服務器上對從後端數據庫和其他系統來的數據進行集成,然後,數據就能被發送到客戶或其他服務器做進壹步的集合、處理和分發,達到數據庫之間的數據交換。

分布數據是通過數據總線方式將大部分處理負載從服務器發布轉到客戶端的數據交換方式。

客戶可根據自己的需求選擇和制作不同的應用系統以處理數據,而服務器只需發出同壹個XML文件。如按傳統的“Client/Server”工作方式,客戶向服務器發出不同的請求,服務器分別予以響應,這不僅加重了服務器本身的負荷,而且網絡管理者還須事先調查各種不同的用戶需求以做出相應不同的程序,但假如用戶的需求繁雜而多變,則仍然將所有業務邏輯集中在服務器端是不合適的,因為服務器端的服務系統可能來不及滿足眾多的應用需求,也來不及跟上需求的變化,雙方都很被動。應用 XML 數據總線的方式則將處理數據的主動權交給了客戶,服務器所作的只是盡可能完善、準確地將數據封裝進 XML 文件通過總線方式進行交換,形成各取所需、各司其職。利用了 XML 的自解釋性使客戶端在收到數據的同時也理解數據的邏輯結構與含義,從而擴展了廣泛、通用的分布式計算方式。

自動化數據總線是遵循***同的數據交換標準,使得應用程序具有壹定的自動處理能力,以便實現對所取得的信息進行編輯、增減以適應用戶的需要,從而提高工作效率的方式。開發壹個典型的國土資源管理應用智能代理程序的步驟如下:①該程序向下壹級國土資源管理部門的數據交換系統發出壹個數據更新的請求,在得到應答後,自動連接答復中提供的所有所在級國土資源部門的站點;②搜索預定數據的信息,並對獲取到的不同站點針對該內容的信息按壹定的規則進行比較;③得出所需要的結果,並自動向所在站點的國土資源管理部門發數據更新的通知。

3.2 XML 數據總線的特點

3.2.1 數據交換的安全性

在數據交換中心的設計中采用了 XML 文檔作為數據交換的媒體。對於文檔的加密現在有非常成熟的方法,所以可對 XML 文檔整篇加密,並經過數字簽名認證後安全地發送給壹個或多個接收方,數據接收方接收到 XML 數據文檔後經過解密即可使用。

3.2.2 系統的可靠性

在數據交換中心的設計方案中,考慮整個數據交換中心作為壹個獨立的應用服務組件存在於國土資源管理部門的信息系統環境中,而不依賴於任何獨立的信息系統,則系統不會受到信息系統意外崩潰的影響。

交換中心與數據庫脫離,即在正常情況下數據交換中心不與任何信息系統或其他專業系統的數據庫進行互操作,所有的數據處理都經由數據的擁有者和請求者進行處理。這種設計方式既保證了各系統的獨立性和安全性,又保證了系統之間的交互性。

數據交換中心存在於應用服務器環境中,可以利用應用服務器環境提供的動態負載均衡和失敗恢復功能,保證數據交換中心長期可靠的運行。

3.2.3 系統的靈活性

數據交換中心提供基於消息的數據交換方式和由數據交換中心直接進行數據讀寫兩種數據交換方式,以適應各種系統環境。

基於消息的數據交換方式是數據交換中心的首選方式,在該方式下數據交換中心與支持消息機制方式的系統進行異步數據交換。數據交換的發起方向數據交換中心提交 XML形式的消息後繼續執行其他任務,直到從數據交換中心收到數據交換完成的消息後,再對要求的數據進行處理。在基於消息的數據交換方式下,數據交換中心對消息進行全程管理,保證消息的接收順序及數據的正確性。

數據交換中心還提供由數據交換中心直接進行數據讀取的數據交換方式,在此方式下,數據交換中心主要與被動提供數據的系統進行交互,那些系統只需要提供數據而不會要求數據,同時系統的構成相對簡單。

3.2.4 系統的開放性

數據交換中心對外提供消息控制 API 和數據轉換協議定制工具,使得任何系統只要通過數據轉換協議定制工具往數據交換中心中添加數據轉換協議,就可以使用數據交換中心提供的消息控制 API 與數據交換中心進行數據交換。

由於 XML 標準具有可擴展性,並且有很強的自描述功能改進了傳統的數據表示方法,不僅非常適於數據交換與信息發布,而且將日益成為顯示、索引等的基礎。現在的數據庫基本都已提供了 XML 轉換工具,因此 XML 文檔非常適合用作跨系統、跨平臺的“金土工程”中數據交換,隨著 XML 作為在交換數據的壹種標準方式的出現,基於 XML基礎的應用將會更簡捷和擁有更高的效率。

參考文獻

[1]國土資源部.國土資廳發[2004]23 號關於印發《全國金土工程建設總體方案》的通知.2006

[2]Won Kim,Ki-Joon Chae.“Component-Based Knowledge Engineering Architecture.”JOOP,1999

[3]Ritter,D.The Missing Link for D2B E-Commerce.Intelligent Enterprise,1999

[4]高波,王琰,Ben Chang.Oracle,XML 開發手冊,北京:機械工業出版社,2001

[5]XML 中國論壇.“XML 實用進階教程”.北京:清華大學出版社,2001

[6]王仲,陳曉鷗.基於 XML 的數據交換與存取技術研究.計算機工程與應用,2001

[7 ]徐天昕,金燁,李柳玲.基於XML的對稱式Web-EDI 系統的設計與實現,計算機集成制造系統-CIMS,2001

[8]何蓉,方旭明.基於 XML 的電子商務定單處理管道設計.計算機應用,2002