跳轉到內容

Jakarta EE 程式設計/Web 服務

25% developed
來自 Wikibooks,開放世界中的開放書籍

Web 服務代表了分散式計算的最新浪潮,也許是自 1995 年 Java 引入和 1998 年 XML 引入以來最重要的創新。雖然“Web 服務”這個詞被頻繁提及,但要給出具體的定義卻很難,因為在最高層面上,Web 服務並不特定於任何特定的技術或平臺。它通常用相當抽象的術語來定義,例如“使用執行在不同作業系統和裝置上的軟體構建分散式應用程式的基底”或“自包含、自描述、模組化應用程式,可以在 Web 上釋出、定位和呼叫”。當然,這些引文是脫離上下文的,但這是要點:你需要某種上下文來定義 Web 服務。以下是對 Web 服務的另一種定義,在 J2EE、EJB、.NET 和大多數其他 Web 服務平臺的上下文中具有意義

Web 服務是網路應用程式,它們使用 SOAPWSDL 以 XML 文件的形式交換資訊。

要理解此定義,您需要理解 SOAP 和 WSDL。以下是這些術語的簡要定義。

SOAP(簡單物件訪問協議)是一種由 Microsoft、IBM 和其他公司開發的 XML 語法,目前由 W3C 負責。它是一種應用協議,用於 RPC 和非同步訊息傳遞。SOAP 非常靈活且可擴充套件,與它的前身(DCE RPC、CORBA IIOP、Java RMI-JRMP 和 DCOM)不同,它得到了幾乎所有主要供應商的認可和採用。

Web 服務描述語言 (WSDL) 也是另一種 XML 語法,由 Microsoft 和 IBM 在 W3C 的指導下開發。它是一種基於 XML 的 IDL(介面定義語言),可用於描述 Web 服務,包括預期訊息格式、使用的網際網路協議和 Web 服務的網際網路地址。

Web 服務真正獨立於平臺。雖然 Java RMI 和 CORBA IIOP 也聲稱獨立於平臺,但事實上,這些舊技術需要它們自己的平臺。要使用 Java RMI,您需要一個 Java 虛擬機器和 Java 程式語言;用 Visual Basic 或 C++ 編寫的程式無法使用 RMI 與 Java 程式互動。CORBA IIOP 也有限制,因為 IIOP 協議通常需要一個複雜的架構,例如 CORBA ORB,這限制了開發人員只能使用少數支援 CORBA 的供應商,或者使用 Java 環境(包括對 CORBA IIOP 的內建支援)。另一方面,Web 服務不依賴於特定平臺(如 JVM)或特定技術基礎架構(如 CORBA),因為它們側重於用於交換訊息的協議——SOAP 和 WSDL——而不是支援這些協議的實現。換句話說,您可以在任何平臺上構建 Web 服務,使用任何程式語言,以任何您喜歡的方式。


Clipboard

待辦事項
新增程式碼和示例。

華夏公益教科書