2012-08-25 190 views
3

我是一名計算機科學專業的學生,​​本學年我正在學習網絡。我已經有了HTML,CSS,Javascript,PHP和一些XML的知識。我將需要製作一個小型項目,其中將包括所有這些技術,其中包括Web服務。您能否介紹一下爲什麼以及如何使用Web服務。我們爲什麼要使用它,沒有它就不能做什麼。使用Web服務?

如果你能給我一個例子,我們在哪裏使用web服務,這將是一件好事。那會給我一些想法來思考我的項目名稱。

我打算使用SOAP和WSDL,使用PHP。

+0

一些鏈接:http://stackoverflow.com/questions/204653/when-should-a-web-service-not-be-used,http://stackoverflow.com/questions/226108/what-is- a-web-service-in-plain-english,http://stackoverflow.com/questions/4693301/web-service-vs-aspx-pages-pros-and-cons –

+0

你可以從這裏查看示例項目。你對工作有了更好的理解。 http://www.codeproject.com/Articles/41844/Webservice-Client-and-Server-demo-in-PHP – Sajith

回答

3

我們爲什麼使用Web服務

Web服務的動力是他們提供的功能,程序員可以添加到自己的應用程序,無論所使用的編程語言。

例如,你可能有一個網站,你希望用戶能在他們的位置沖和你的網站與他們位置的谷歌地圖的顯示一併返回天氣。 Google地圖和各種天氣網站提供Web服務,以便Web開發人員可以使用這些功能。如果您的網站使用Java,PHP或Python編碼,則無關緊要。

另一個例子是,如果你有一個商業網站,你希望你的網站 每天顯示股票行情。各種公司將提供股票行情網站服務,以便您可以做到這一點。有些是免費的,有些則不是。

SOAP VS RESTful Web服務

最終你將需要討論RESTful Web服務和SOAP之間的區別,那就是本身就是一個巨大的討論。但是,下面是一個簡單的添加兩個數字的平穩Web服務示例。

REST

http://www.SimpleMathSite.com/Add/5/6/ 

網站會返回一些東西一樣

<?XML version="1.0" encoding="utf-8"?> 
<answer> 
11 
</answer> 

你可以在你的JavaScript或PHP代碼中使用此。通過查看URL,您可以看到您調用'Add'函數並將值5和6傳遞給它。這就是Web服務如何允許用不同語言編寫的對象相互通信。

SOAP

SOAP是更爲複雜,但它的優勢是,它描述的是你可以調用遠程功能的WSDL文件。正因爲如此,有些編譯器可讓您導入Web服務並創建可放置在代碼中的對象,而無需查看幕後發生的任何複雜的XML。如果上面的例子有一個WSDL文件,一些編譯器會讓你導入Web服務,所以你可以像這樣在你的代碼中使用它。

int Answer = SimpleMath.Add(5,6); // No need to parse the XML yourself. 

查看這個天氣的Web服務,瞭解如何使用SOAP的一個很好的例子。它提供了示例HTTP GET和POST請求,如果您想從頭開始創建自己的SOAP客戶端,則可以使用它們。

http://www.webservicex.com/globalweather.asmx?op=GetWeather

如果什麼沒有Web服務?

沒有網絡服務的網站無法使用來自其他網站的數據更新其內容,例如航空公司信息,酒店空房,或者您的Facebook朋友是否喜歡潘多拉同一首歌曲。