Spring Framework提供了許多應用程序通過HTTP彼此通信的技術。Spring遠程處理/ web服務技術
- HTTP調用
- REST風格的MVC控制器
- JAX-WS
- 春-WS
什麼是它們之間的區別是什麼?什麼標準決定選擇哪一個?
Spring Framework提供了許多應用程序通過HTTP彼此通信的技術。Spring遠程處理/ web服務技術
什麼是它們之間的區別是什麼?什麼標準決定選擇哪一個?
JAX-WS是由JCP(Java社區進程)維護的標準和每個全功能的應用服務器實現它(或,至少提供了一個實施的話)。它很容易使用(你只需要在你的服務類端點上註釋一些註釋),而且你不需要擔心實現(並且你的應用程序將會在它內部減少依賴)。
春-WS是普遍的,當JAX-WS是一個工作正在進行(或沒有存在過)。它達到了與JAX-WS相同的程度,但它更麻煩一些。從我的經驗來看,它失去了後者的利益。基於HTTP的服務(作爲HTTP調用者和REST)聲稱比JAX-WS更輕量級(因爲端點不需要處理SOAP信封),但不像基於WSDL的強類型。
如果我必須選擇我通常決定JAX-WS如果沒有對基於REST方法一個強有力的理由。我不喜歡HTTP Invoker的一個,因爲這是安全問題(即使在談論內部網時),但我認爲這是一種個人選擇。
如果要整合自己的應用程序,你必須在應用程序客戶端和導線(e.g.corporate內聯網),然後使用HTTP調用的嚴格控制 - 這是真正透明的應用程序,易於安裝。 Http invoker通過Internet與非可靠的客戶端身份驗證(無PKI身份驗證)可能不是好主意,有security problems與調用程序中使用的Java序列化。
如果調用者不適合你很好,這是你自己的應用程序 - 再考慮REST。
我認爲基於WSDL服務是良好的外部整合 - 你可以用嚴格的規則定義的協議。