在SOA架構中,程序員經常使用XML在應用程序之間交換結構化和半結構化的數據。XML及其相關技術—文檔對象模型(DocumentObjectModel,DOM)、XPath、HTTP、XQuery和可擴展樣式表語言轉換(ExtensibleStylesheetLanguageTransformations,XSLT)—為快速應用程序開發提供了一個強大的環境。構建在這些技術之上的應用程序將占用更小的內存空間,需要更低的維護成本,同時又擁有更高的品質和靈活性。
DB2和其他關系數據庫的XML方面的特性已經相當成熟,因此除了存儲和管理關系數據之外,它們還是存儲和管理XML數據的理想選擇。DB29XML支持(稱為pureXML)提供了以純XML的形式(換句話說,就是帶注釋的、樹型的分層存儲)存儲XML的能力。在DB29中,XML數據可以用XML模式索引,可以從關系數據組合而成,可以分解為關系數據,可以查詢和轉換,可以獨立發布,或者通過混合使用SQL/XML和XQuery與關系數據組合起來。
Web瀏覽器也正在為客戶機腳本提供更多的功能來有效地處理XML。通過使用異步JavaScript和XML(AsynchronousJavaScriptandXML,Ajax),Web頁面現在可以直接對應用服務器進行遠程過程調用,并且可以在任何返回的XML數據上使用DOMAPI。
本文將展示如何利用DB2XML、Ajax和PHPHypertextPreprocessor(PHP)提供的功能來編寫簡單的基于XML的應用程序。通過示例場景的幫助,您將學習如何在JavaScript中調用PHP應用程序;如何使用DOM和SimpleXMLAPI修改XML數據;如何將XML從客戶機傳送到應用程序再到數據庫;以及如何創建PHPWeb服務來使用SQL/XML和XQuery發布關于XML數據的報告。
XML優點
大多數應用程序都用于創建、存儲、操縱和呈現業務數據。對象包裝是指將業務數據綁在一起,使業務邏輯更容易處理它們。這些包裝器對象的很多功能都是根據關系和格式化規則來提供業務數據的結構PHPweb批量添加產品,并使業務邏輯能夠操縱、發布和串行化封裝的數據。
圖1.基于對象包裝器的應用程序
圖1闡釋了使用對象包裝器的一個示例人壽保險應用程序。每個方框表示一個對象,每個對象至少有:
PHPweb批量助手·一個構造函數
·Getter和Setter方法
PHPweb批量添加欄目·驗證代碼
·內部對象層次的串行化
這些對象與實際的業務邏輯沒有關系。對象包裝是為了使業務邏輯更容易管理業務數據。包裝數據所需的代碼比業務邏輯要多得多。更多的代碼將導致更多的bug、更大的固定性、更多的維護和更高的成本。
如果對象中的數據變量可以格式化為XML結構,并且對象的主要作用是將這些數據暴露給業務邏輯并讓業務邏輯操縱它們,那么可以用DOM代替對象。
圖2.基于XML的應用程序
圖2展示了一個使用XML和DOM包裝器的示例保險應用程序。圖1中的所有數據包裝器對象都用一個DOM對象代替。業務數據是用XML建模的,DOM提供了必要的API來:
·創建新的XML對象。
·更新XML對象的值。
·導航XML對象。
·使用XPath在對象層次中搜索。
·串行化和反串行化XML對象層次(換句話說,就是內建持久性)。
通過使用XML,可以避免使用大多數用于管理業務數據的包裝器對象。應用程序將變得更加簡潔,并且更多地將重點放在業務邏輯上,而不是數據管理上。
上一篇:信息采集軟件讓盤點更輕松
文章地址:http://m.meyanliao.com/article/other/syPHPhAJAXdXMLbc.html