Web服務經常從它的元件技術的角度來進行描述。 SOAP、UDDI、WSDL、xml以及HTTP各自組成了Web服務體系的一部分,它們都發揮了重要作用。讓我們來看看XML技術對Web服務平台的貢獻。
標準化
與其它Web服務技術相比,標準化是XML特色之一。 XML提供了Web服務應用程式之間傳輸資料的標準格式。萬維網聯盟(W3C)管理XML標準並發佈給全球的XML技術提供者,這確保了XML產品的兼容性。
除了XML引擎和產品外還有XML文法(grammar)。每一個XML語法都是一種在某個特定問題領域進行資料格式化的標準方法。遵循並採用XML文法,你就可以讓兩個應用程式間通訊的資料格式標準化。
介面協定
程式設計師在對介面進行程式設計時經常將它稱之為協定。從程式設計的角度出發,介面在沒有暴露實現的情況下提供了程式結構。如果使用DTD(檔案類型定義)和大綱(schema),那麼XML就有類似的特性。 DTD和大綱都用來描述XML文件的結構以及XML文件的建立規則。可以用一個(或多個)相關DTD(或大綱)來組織這樣的規則集合,我們稱之為XML文法。
XML文法不僅可以用於應用程式之間通訊的標準化,還可以為開發者提供一個介面協定。換句話說,開發者在建立一個需要使用XML文件結構的應用程式時,他不需要知道文件是如何實現的(即實際的XML文件)。 DTD以及大綱描述了文件的結構,它們可以作為開發的介面協定。對DTD的任何改動同時也改變了協議。
簡化
XML文件的另一個重要面向就是它的簡化特性。我並沒有暗示XML的實作很簡單,而是說XML的概念和一般方法簡單。例如,XML是基於文字文件的,這簡化了開啟XML文件並查看其內容的過程。
用XML簡化Web服務模型很方便,這一點也很重要。 Web服務天然就比單獨的XML更複雜。假設XML和CORBA同樣複雜,而且其它Web服務技術的複雜度相同,那麼Web服務技術就會變得非常笨重。但是透過使用簡單的搭積木的方法,如XML、SOAP等等,我們可以控制Web服務的複雜度在一個可以容忍的範圍之內,這樣用它創建的應用程式不至於難以控制。
封裝
封裝是我最喜歡的XML特性之一,在開發網路服務的時候尤其如此。從本質上來說,封裝指的是獲得一個或多個資料塊(chunks of data)並把它們集合成一個簡單物件(而不是幾個獨立物件)的概念。封裝與集合(aggregation)類似,但是它們之間有一個重要的差別,即封裝一般意味著它沒有外部依賴性。
你可以建立具有外部依賴性的XML文件;但是在事務Web服務模型(transactional Web services model)中,利用封裝會顯得更明智。透過設計包裝了依賴性的XML解決方案,你一般都可以消除事務處理過程(交易)的問題。強迫在交易中定位外部資料並使其與XML資料一致的方法是有害的,尤其是在外部資料常常變動的情況下。如果把資料封裝到XML文法中去,就交易獲得正確的資料。
以上就是詳細告訴你為何XML對Web服務很重要的內容,更多相關內容請關注PHP中文網(m.sbmmt.com)!