2012-03-19 158 views
1

Spring Framework提供了許多應用程序通過HTTP彼此通信的技術。Spring遠程處理/ web服務技術

  • HTTP調用
  • REST風格的MVC控制器
  • JAX-WS
  • 春-WS

什麼是它們之間的區別是什麼?什麼標準決定選擇哪一個?

回答

1

JAX-WS是由JCP(Java社區進程)維護的標準和每個全功能的應用服務器實現它(或,至少提供了一個實施的話)。它很容易使用(你只需要在你的服務類端點上註釋一些註釋),而且你不需要擔心實現(並且你的應用程序將會在它內部減少依賴)。

春-WS是普遍的,當JAX-WS是一個工作正在進行(或沒有存在過)。它達到了與JAX-WS相同的程度,但它更麻煩一些。從我的經驗來看,它失去了後者的利益。基於HTTP的服務(作爲HTTP調用者和REST)聲稱比JAX-WS更輕量級(因爲端點不需要處理SOAP信封),但不像基於WSDL的強類型。

如果我必須選擇我通常決定JAX-WS如果沒有對基於REST方法一個強有力的理由。我不喜歡HTTP Invoker的一個,因爲這是安全問題(即使在談論內部網時),但我認爲這是一種個人選擇。

1

如果要整合自己的應用程序,你必須在應用程序客戶端和導線(e.g.corporate內聯網),然後使用HTTP調用的嚴格控制 - 這是真正透明的應用程序,易於安裝。 Http invoker通過Internet與非可靠的客戶端身份驗證(無PKI身份驗證)可能不是好主意,有security problems與調用程序中使用的Java序列化。

如果調用者不適合你很好,這是你自己的應用程序 - 再考慮REST。

我認爲基於WSDL服務是良好的外部整合 - 你可以用嚴格的規則定義的協議。