若要在 Web 的多樣性世界裡取得成功,在涉及到操作系統、對象模型和編程語言的選擇時,XML Web services 不能有任何傾向性。同樣,若要使 XML Web services 像其他基於 Web 的技術一樣被廣泛采用,則它們必須是:
松耦合的:如果對兩個系統的唯一要求是要理解前面提到的自我描述的基於文本的消息,那麼這兩個系統就被認為是松耦合的。另一方面,緊耦合系統要求大量自定義系統開銷來進行通信,並要求系統之間有更多的了解。
常見的通信:大概不會有人會在現在或不遠的將來生成一個無法連接到 Internet 的操作系統,因此,需要提供常見的通信信道。同樣,能夠將幾乎所有系統或設備連接到 Internet 的能力將確保這樣的系統和設備能夠為連接到 Internet 的所有其他系統或設備所使用。
通用數據格式:通過用現有的開放式標准而不是專用的封閉通信方法,任何支持同樣的開放式標准的系統都能夠理解 XML Web services。在采用自我描述的基於文本的消息時,XML Web services 及其客戶端無須知道每個基礎系統的構成即可共享該消息,這使得自治系統和完全不同的系統之間能夠進行通信。XML Web services 使用 XML 實現此功能。
XML Web services 采用一種基礎結構,該基礎結構提供下列內容:定位 XML Web services 的發現機制、定義如何使用這些服務的服務說明以及通信時使用的標准連網形式。下圖顯示了此基礎結構的一個示例。
XML Web services 基礎結構
XML Web services 目錄 XML Web services 目錄提供一個用以定位其他單位提供的 XML Web services 的中心位置。XML Web services 目錄(如 UDDI 注冊表)充當此角色。XML Web services 客戶端可能或可能不需要引用 XML Web services 的目錄。
XML Web services 發現 XML Web services 發現是定位(或發現)使用 Web 服務描述語言 (WSDL) 對特定 XML Web services 進行描述的一個或多個相關文檔的過程。DISCO 規范定義定位服務說明的算法。如果 XML Web services 客戶端知道服務說明的位置,它們可以跳過發現過程。
XML Web services 說明 若要了解如何與特定的 XML Web services 進行交互,需要提供定義該 XML Web services 支持何種交互操作的服務說明。XML Web services 客戶端必須知道如何與 XML Web services 進行交互才可以使用該服務。
XML Web services 連網形式 為實現通用的通信,XML Web services 使用開放式連網形式進行通信,該格式是任何能夠支持最通用的 Web 標准的系統都可以理解的協議。SOAP 是 XML Web services 通信的主要協議。