我從來沒有使用SOAP或EJB。我閱讀了關於SOAP的內容,無法掌握其中的一個(也許是主要的)觀點。Web服務:遠程接口vs請求/響應方案
問題:一個爲什麼要使用遠程接口,而不是簡單的請求/性反應的計劃呢?
我的考慮因素: SOAP允許我們調用遠程服務的方法。它使用XML。但爲什麼它比使用SOA(面向服務的方法)更好,併發送JSON請求 - >獲取JSON響應。我在WebSockets和JSON的幫助下,在我的應用程序中這樣做。而且,SOAP很慢,似乎比我需要的方法慢。
我從來沒有使用SOAP或EJB。我閱讀了關於SOAP的內容,無法掌握其中的一個(也許是主要的)觀點。Web服務:遠程接口vs請求/響應方案
問題:一個爲什麼要使用遠程接口,而不是簡單的請求/性反應的計劃呢?
我的考慮因素: SOAP允許我們調用遠程服務的方法。它使用XML。但爲什麼它比使用SOA(面向服務的方法)更好,併發送JSON請求 - >獲取JSON響應。我在WebSockets和JSON的幫助下,在我的應用程序中這樣做。而且,SOAP很慢,似乎比我需要的方法慢。
我想遠程接口的好處是,你將不必解析任何XML。當您從遠程接口收到您的回覆時,會構建一個對象,您無需進一步處理即可使用該對象。但是,由於您不受特定環境的限制,因此SOAP似乎是目前比較流行的方法。例如,你必須使用Java的客戶端上使用遙控器的接口,但SOAP任何客戶端可以接收和處理XML
這樣做的原因是SOAP需要一個合同,第一種方法。這也允許我們從這些合約構建類,所以我們有可以由WSDL構建的類。這非常有用,因爲這意味着我們不必構建代表Web服務端點的類,但是,如果端點簽名發生更改,我們需要更新關聯的生成的WSDL類。
SOAP,在我的愚見,是因爲可以從它和幫助你的IDE可以瞬間讓你訪問這些培訓班將生成類的發言權.NET或Java更加有用。當我使用php時,我總覺得SOAP與REST一起工作並不容易,因爲當你想要真正發送的東西是「something = true」時,必須建立XML響應。
在我的情況下,我可以在傑克遜的幫助下建立類。我的意思是我得到json字符串,調用'mapper.objectToJson'並獲取對象。有什麼優勢? –
但除了SOAP之外,還有另一種選擇。 JSON? –
JSON本身不是SOAP的替代品,我認爲你的意思是REST vs SOAP,因爲JSON只是一個對象規範,SOAP是一個Web服務協議。 – david99world