Spring Frameworkは、アプリケーションがHTTPを介して相互に通信するための多くのテクノロジーを提供します。Springリモート/ Webサービス技術
- HTTP Invokerの
- RESTfulなMVCコントローラ
- JAX-WS
- 春-WS
それらの間の違いは何ですか?どの基準を選択するかはどのような基準がありますか?
Spring Frameworkは、アプリケーションがHTTPを介して相互に通信するための多くのテクノロジーを提供します。Springリモート/ Webサービス技術
それらの間の違いは何ですか?どの基準を選択するかはどのような基準がありますか?
JAX-WSはJCP(Java Community Process)によって維持管理されている標準であり、すべてのフル機能のアプリケーションサーバーで実装されています(少なくとも実装されています)。使いやすいです(サービスクラスエンドポイントでいくつかのアノテーションが必要です)。実装について心配する必要はなく(アプリケーションの依存関係も少なくなります)。
JAX-WSが進行中の(または存在しなかった)とき、Spring-WSは広く普及していました。それはJAX-WSと同じですが、もう少し面倒です。私の経験から、後者の利点のために熟練者が失われています。
HTTPベースのサービス(HTTP呼び出し側とRESTとして)はJAX-WSよりも軽量であると主張しますが(エンドポイントはSOAPエンベロープを処理する必要がないため)、WSDLベースのサービスほど強力ではありません。
私が選択する必要があるのは、RESTベースのアプローチが強い理由がない場合、通常はJAX-WSを決定します。私はすべてのHTTP Invokerのセキュリティ問題(イントラネットについて話しているにもかかわらず)が好きではありませんが、これは個人的な選択の一種だと思います。
あなた自身のアプリケーションを統合している場合、アプリケーションクライアントとワイヤー(例えば企業イントラネット)を厳重に管理している場合は、HTTP Invokerを使用してください。信頼できないクライアント認証(PKI認証なし)を使用したインターネット上のHTTP呼び出しは良い考えではないかもしれません。呼び出し側でjavaシリアル化を使用するsecurity problemsがあります。
もしあなたがうってつけのアプリでないなら、それは自分のアプリだから、RESTを検討してください。
WSDLベースのサービスは外部統合に適していると思います。厳密なルールでプロトコルを定義できます。