用JAVA和XML構建分布式系統 JAVA開發
關鍵字:JAVA XML
可擴展標記語言(XML)作為一種簡單的、中性的、易讀的數據表示形式已經變得越來越流行,許多軟件廠商宣布的“支持XML",意味著他們的產品將能生成或處理XML數據。XML也被看作再企業間交換數據最佳格式。它允許企業在所交換的數據的XML的文檔類型定義(Document Type Definitions,DTDs)或模式(Schema)上取得一致。這些DTDs或Schema是獨立于企業使用的數據庫模式的。
本文將用研究在不同計算機之間通訊與處理XML數據的分布式系統的構建方法,主要是運行在不同的虛擬機上的JAVA應用之間的XML通訊。
XML通訊
萬維網協會(World Wide Web Consortium, W3C)在XML規范中定義了XML的語法和語義。為了處理XML數據,XML文檔必須經過解析。W3C定義了文檔對象模型(DOM),它是應用程序員處理XML數據的接口。DOM已經有包括JAVA在內的許多語言的實現。JAVA應用程序可以通過DOM API來訪問XML數據。XML解析器將產生XML文檔的DOM表示。
圖1說明了處理XML文檔的JAVA分布式應用的簡單模型。這個模型假設數據可以從諸如關系數據庫之類的數據源得到。JAVA代碼處理數據并最終產生DOM表示,這些代碼表示為圖中的處理器。
處理器代碼將DOM代表的XML數據傳給發送者。發送者是與接收者進行XML數據通訊的JAVA代碼。接收者JAVA代碼來接受XML數據,產生DOM表示的數據并把它傳送給另一個處理器。簡而言之,發送者和接收者抽象了DOM表示的XML數據的通訊。
發送者和接收者不是在同一個JAVA虛擬機上執行的。他們是通過分布式系統的構件來相連的。無論是接收者還是發送者都既是客戶端又是服務器端,兩者的數據傳輸都是雙向的。
Xbeans
就像將要看到的一樣,在本文中描述的發送者和接收者的三種實現方法都都是通過Xbeans來實現。Xbeans是一種接受XML數據作為輸入,處理這個輸入然后向下一個Xbeans輸出XML結果的軟件構件。Xbeans的輸入輸出都是XML的DOM文檔,亦即傳送給Xbeans的不是需要XML解析器解析的字符串,而是通過W3C的標準DOM API解析成了文檔對象。圖2說明了一個Xbeans。
原文轉自:http://www.anti-gravitydesign.com