2009-08-30 119 views
12

我對Web服務的真正含義有點困惑。你說Amazone web服務等等,他們提供信息。那麼成爲網絡服務的web網址有什麼要求?假設我對Web開發並不熟悉,你怎麼能向我解釋?但是,如果您指出某些方法,我可以得到它。 而且還知之甚少SOAP和REST基本上是有人真的新什麼是簡單的Web服務

回答

12

什麼是Web服務

這是很多事情。在編程中,通常指的是一個網頁,可以從應用程序(也就是它的另一個網頁或桌面應用程序)調用,調用者將數據傳遞給它,或者從中接收數據。

從這個意義上講,它基本上就像一個正常編程語言中的'方法'或'函數'。除非您通過互聯網呼叫。

SOAP

的消息格式。如上所述,Web服務基本上是一種「方法」或「功能」。 SOAP是這種方法的'指令'和'數據'。它將概述數據類型,以及可能的一堆數據。它是一種XML格式。

REST

REST是實現一個接口到應用程序,實現訪問控制,以及其他類似的東西的裝置,特別是與HTTP響應代碼。所以你會得到一個401:拒絕(我認爲這是正確的代碼),如果你沒有訪問權限。還有其他類型的響應代碼很有用。它還使用其他HTTP命令,如PUT/HEAD/OPTIONS。

+0

401是未授權的,403是禁止訪問 - 即使通過身份驗證,訪問也會被拒絕。 – Lucky 2015-02-04 06:42:54

7

W3C defines a Web Service(引用)

Web服務是一種旨在支持互操作的 機器對機器的軟件系統 通過 網絡進行交互。它具有描述爲 的機器可處理格式 (特別是WSDL)的接口。其他系統 與使用SOAP的消息通過其描述 規定的 方式的Web服務交互,通常 輸送使用HTTP與XML序列化 結合 其他Web相關的標準。

該定義也許有點過於嚴格,考慮如何該術語採用時下 - 我可能只有該定義的第一部分,這是相當通才去:

一Web服務是一個軟件系統,旨在支持可互操作的 網絡上的機器對機器交互。

Wikipedia也有一些有趣的定義,如:

在常見的使用該術語是指 客戶端和通信 超文本傳輸​​協議在Web上使用的 (HTTP)協議的服務器。


從我所看到的:

  • 前幾年,當我們說 「Web服務」,我們一般指的是 「SOAP,WSDL,...」
  • 現在,當我們說「Web服務」,我們通常指「任何允許調用的東西另一臺服務器上,無論是SOAP,REST,...」
1

Web服務遠程的API(因爲他們基本上只是)。你有一個你想要實現的方法。假設這種方法不是由您自己構建的,而是在您無法控制的設備上駐留在世界其他地方 - 您如何才能提供遠程方法來實現實例化?

當您找到想要包含在您的應用程序中的Web服務時,您必須先了解如何向Web服務提供所需的參數以使其工作。這種需求也會進一步擴大。即使您知道實例化所需的參數和類型,您也需要了解作爲回報傳遞給應用程序的類型。沒有這些信息,使用Web服務將證明相當困難。

正如有標準的方式來表示數據以及標準的方式來搬過來使用Web服務上網本的數據,有一個標準的方式來獲取Web服務你有興趣在消費的說明。 Web服務描述語言(WSDL)是描述Web服務,您有興趣的消費XML的規範。這只是一個描述Web服務的界面。