若要在 Web 的多樣性世界里取得成功,在涉及到操作系統(tǒng)、對(duì)象模型和編程語言的選擇時(shí),XML Web services不能有任何傾向性。同樣,若要使 XML Web services像其他基于 Web 的技術(shù)一樣被廣泛采用,則它們必須是:
松耦合的:如果對(duì)兩個(gè)系統(tǒng)的唯一要求是要理解前面提到的自我描述的基于文本的消息,那么這兩個(gè)系統(tǒng)就被認(rèn)為是松耦合的。另一方面,緊耦合系統(tǒng)要求大量自定義系統(tǒng)開銷來進(jìn)行通信,并要求系統(tǒng)之間有更多的了解。
常見的通信:大概不會(huì)有人會(huì)在現(xiàn)在或不遠(yuǎn)的將來生成一個(gè)無法連接到 Internet 的操作系統(tǒng),因此,需要提供常見的通信信道。同樣,能夠?qū)缀跛邢到y(tǒng)或設(shè)備連接到 Internet 的能力將確保這樣的系統(tǒng)和設(shè)備能夠?yàn)檫B接到 Internet 的所有其他系統(tǒng)或設(shè)備所使用。
通用數(shù)據(jù)格式:通過用現(xiàn)有的開放式標(biāo)準(zhǔn)而不是專用的封閉通信方法,任何支持同樣的開放式標(biāo)準(zhǔn)的系統(tǒng)都能夠理解 XML Web services。在采用自我描述的基于文本的消息時(shí),XML Web services及其客戶端無須知道每個(gè)基礎(chǔ)系統(tǒng)的構(gòu)成即可共享該消息,這使得自治系統(tǒng)和完全不同的系統(tǒng)之間能夠進(jìn)行通信。XML Web services使用 XML 實(shí)現(xiàn)此功能。
XML Web services采用一種基礎(chǔ)結(jié)構(gòu),該基礎(chǔ)結(jié)構(gòu)提供下列內(nèi)容:定位 XML Web services的發(fā)現(xiàn)機(jī)制、定義如何使用這些服務(wù)的服務(wù)說明以及通信時(shí)使用的標(biāo)準(zhǔn)連網(wǎng)形式。
XML Web services基礎(chǔ)結(jié)構(gòu)
XML Web services目錄 XML Web services目錄提供一個(gè)用以定位其他單位提供的 XML Web services的中心位置。XML Web services目錄(如 UDDI注冊(cè)表)充當(dāng)此角色。XML Web services客戶端可能或可能不需要引用 XML Web services的目錄。
XML Web services發(fā)現(xiàn) XML Web services發(fā)現(xiàn)是定位(或發(fā)現(xiàn))使用 Web 服務(wù)描述語言 (WSDL) 對(duì)特定 XML Web services進(jìn)行描述的一個(gè)或多個(gè)相關(guān)文檔的過程。DISCO 規(guī)范定義定位服務(wù)說明的算法。如果 XML Web services客戶端知道服務(wù)說明的位置,它們可以跳過發(fā)現(xiàn)過程。
XML Web services說明 若要了解如何與特定的 XML Web services進(jìn)行交互,需要提供定義該 XML Web services支持何種交互操作的服務(wù)說明。XML Web services客戶端必須知道如何與 XML Web services進(jìn)行交互才可以使用該服務(wù)。
XML Web services連網(wǎng)形式 為實(shí)現(xiàn)通用的通信,XML Web services使用開放式連網(wǎng)形式進(jìn)行通信,該格式是任何能夠支持最通用的 Web 標(biāo)準(zhǔn)的系統(tǒng)都可以理解的協(xié)議。SOAP 是 XML Web services通信的主要協(xié)議。