2012-03-01 68 views
0

Web服務用於將應用程序提供的服務共享到外部世界。這是我對Web服務的基本理解。Web服務的最重要用途

假設我的應用程序是公開一些特定的行爲,並且我爲它編寫了代碼並公開了這些方法。那些想要使用它的人可以將鏈接指向wsdl,生成存根並調用方法。

當我可以自己公開方法,生成一個jar並捆綁所有內容並共享服務器地址,jar時,做這一切有什麼用處。

與上面解釋的情況相比,Web服務有多麼重要。由於許多網站的搜索不成功,我問了這樣一個普遍的問題。

回答

3

如果你想生成一個客戶端jar,那麼誰願意使用它將不得不處理Java。如果您公開Web服務,用戶可以使用他/她想使用的任何技術(例如Python,Ruby,.net,C,C++等)。這將是一個巨大的優勢。

+0

是的。這是我錯過了一點。謝謝。 – 2012-03-01 09:29:51

1

你的建議是非常接近RESTful webservices。與SOAP Web服務不同,RESTful Web服務不需要任何WSDL文件。您需要做的就是向特定的URL發出請求。

正如你正確解釋的(在我看來),SOAP webservices涉及一些需要完成的工作,因此如果你願意,它們可以更復雜地與其他系統集成。 REST風格的web服務並非如此。

編輯:你可以看看教程here。我已經嘗試了一段時間,這足以讓你開始。

+0

對不起,我不知道RESTful。從您的意見中,我明白我應該立即查看RESTful Web服務。謝謝。 – 2012-03-01 09:20:07

+3

@Ajj:我已經修改了我的答案,並且包含了一個指向你可能考慮研究的教程的鏈接。 REST web服務應該允許你通過向第三方提供一個URL來公開你的服務,你不需要爲它們提供任何'JAR'文件或者其他的東西。這是更好的,因爲第三方不需要關心你的實現細節,比如使用什麼語言;)。 – npinti 2012-03-01 09:27:51

+0

這非常有用。謝謝 !! – 2012-03-01 09:37:01

1

Web服務使用一系列標準(SOAP,WSDL ...)使不同類型的系統一起工作,當然,您可以根據需要生成客戶端jar,但這需要服務使用者學習如何使用它,所以它不是一個通用的解決方案。

+0

真的,但如果我可以簡單地提供jar和服務器的URL,他們可以很容易地使用jar執行它。最後,他們正在生成客戶端存根,並創建一個jar來使用暴露的服務,對吧? – 2012-03-01 09:25:24

+0

如果您的服務使用者使用C#或其他語言,我想您會選擇web服務標準。 – 2012-03-01 09:30:52