2012-03-19 21 views
1

Spring Frameworkは、アプリケーションがHTTPを介して相互に通信するための多くのテクノロジーを提供します。Springリモート/ Webサービス技術

  • HTTP Invokerの
  • RESTfulなMVCコントローラ
  • JAX-WS
  • 春-WS

それらの間の違いは何ですか?どの基準を選択するかはどのような基準がありますか?

答えて

1

JAX-WSはJCP(Java Community Process)によって維持管理されている標準であり、すべてのフル機能のアプリケーションサーバーで実装されています(少なくとも実装されています)。使いやすいです(サービスクラスエンドポイントでいくつかのアノテーションが必要です)。実装について心配する必要はなく(アプリケーションの依存関係も少なくなります)。

JAX-WSが進行中の(または存在しなかった)とき、Spring-WSは広く普及していました。それはJAX-WSと同じですが、もう少し面倒です。私の経験から、後者の利点のために熟練者が失われています。

HTTPベースのサービス(HTTP呼び出し側とRESTとして)はJAX-WSよりも軽量であると主張しますが(エンドポイントはSOAPエンベロープを処理する必要がないため)、WSDLベースのサービスほど強力ではありません。

私が選択する必要があるのは、RESTベースのアプローチが強い理由がない場合、通常はJAX-WSを決定します。私はすべてのHTTP Invokerのセキュリティ問題(イントラネットについて話しているにもかかわらず)が好きではありませんが、これは個人的な選択の一種だと思います。

1

あなた自身のアプリケーションを統合している場合、アプリケーションクライアントとワイヤー(例えば企業イントラネット)を厳重に管理している場合は、HTTP Invokerを使用してください。信頼できないクライアント認証(PKI認証なし)を使用したインターネット上のHTTP呼び出しは良い考えではないかもしれません。呼び出し側でjavaシリアル化を使用するsecurity problemsがあります。

もしあなたがうってつけのアプリでないなら、それは自分のアプリだから、RESTを検討してください。

WSDLベースのサービスは外部統合に適していると思います。厳密なルールでプロトコルを定義できます。