web-dev-qa-db-ja.com

どのフレームワークがCXFとSpring-WSのどちらが優れていますか?

WebサービスのCXFとSpring-WSを調査/比較しているところですか? WSのプロバイダーとコンシューマーの両方として機能する必要があります。一言で言えば、Spring-WSの方が構成可能ですが、CXFの方が簡単に起動して実行できると言われています。この質問は主観的なものですが、私の研究に私を導くのに役立ちます。

  • これらのフレームワークのいずれかでどのような経験がありますか?
  • どちらのフレームワークでも落とし穴に陥りましたか?
  • どちらかが提供している、おそらくもう一方が提供していない可能性のある機能を見つけましたか?
80
Kevin

最大の違いは、Spring-WSはonly「契約優先」でありながら、CXF通常は「最後の契約」です。

http://static.springsource.org/spring-ws/sites/1.5/reference/html/why-contract-first.html

Contract-lastはJavaコードで始まるため、通常は使い始めるのが簡単です。

ただし、作成するWSDLはより脆弱になる傾向があります。

21
toolkit

Apache CXFについて:

  • CXFは、SOAP、WSI Basic Profile、WSDL、WS-Addressing、WS-Policy、WS-ReliableMessaging、WS-Security、WS-SecurityPolicy、WS-SecureConversationなどのいくつかの標準をサポートしています。
  • Apache CXFは、contract-last(Javaで始まる)とContract-first(WSDLで始まる)の両方のアプローチを提供します。
  • Apache CXFはJAX-WSおよびJAX-RSを実装します。

Spring WSについて:

  • Spring WSは、XSDスキーマから始まる「唯一の」コントラクトファーストを提供します。
  • Spring WSは、SOAP、WS-Security、WS-Addressingをサポートしています。

したがって、最終的には、Spring WSを最小 Webサービスフレームワークと見なしますが、Apache CXF(Springと非常によく統合されます)よりも(私の意見では)利点がないと考えています。両方の間に、Apache CXFを選択します。

79
Pascal Thivent

CXFは、いかなる方法でも、契約(WSDL)から始めることを妨げません。これらの製品の両方を使用してWebサービスを構築しました。

CXFでは、MavenとMavenプラグインを使用し、wsimportゴールを呼び出してSEI(インターフェイス)を生成し、それを実装しました。実際のサービスロジックを含むインターフェイスを実装し、Bean実装beans.xmlを構成した後、Mavenを展開用のwarファイルにパッケージ化します。全体の練習は簡単ではありませんでした。

Spring-WSがJAX-WSの欠如を上回る利点を提供するとは思わない。 CXFでは、すでにSpringを使用してBeanを接続できます。また、JAX-WSの完全な実装もあります。

34
jkrupka

[〜#〜] cxf [〜#〜] の経験があり、それは前身である XFire であり、堅牢で迅速(WSの作成と実行)として推奨できます。信頼できるフレームワーク。

CXFで遭遇できる問題については、私の投稿を参照してください https://stackoverflow.com/questions/289977/recommended-framework-for-Java-web-services#290205 そして同意します- toolkit 、フレームワーク間の最大の違いはイデオロギーです:最初のコード(つまりインターフェイス)またはコントラクト(つまりwsdl)は何ですか。詳細はこちらをご覧ください:

12
FoxyBOA

Apache CXF:

キーポジティブ:

Now現在最も広く使用されているWebサービス標準。 AXIS2の改善。現在は徐々にApache CXFに置き換えられています

❷直感的で使いやすい(AXIS2と比較して必要なコーディングが少ない)

coreコアコードからのJAX-WSなどのフロントエンドの明確な分離

JAX-WS、JAX-RSなどに完全に準拠

available最小限の計算オーバーヘッドで利用可能なすべてのフレームワークで最高のパフォーマンス

wideさまざまなフロントエンドモデルをサポート

JAX-WSとJAX-RSの両方をサポート(Restful Services用)

J JBIおよびSDOをサポート(AXIS2ではサポートされていません)

Spring Spring Frameworkとの互換性

主な懸念事項:

OrchestraオーケストレーションとWSトランザクションはまだサポートしていません

WSDL WSDL 2.0はまだサポートしていません

春WS:

キーポジティブ:

ContractコントラクトファーストWebサービス開発アプローチをサポートするという点で最高

Frameworkフレームワークの制約により標準とベストプラクティスを実施します(それを回避する方法はないため、制限もあります)

Spring SpringアノテーションとJAX-WSをサポート

developer開発者の観点からの最小コード

Spring Spring Securityを含むSpring Technology Stack(Spring MVCと同様のアーキテクチャスタック)に最適

主な懸念事項:

supportedサポートされるWS- *仕様の最小数(JAX-WSに完全に準拠していない)

❷Springはそれ自体を標準として提供しているため、他のJava準拠フレームワークはより優れた標準サポートをサポートします

ContractコントラクトファーストWebサービス開発モデルのみをサポート

ソース: https://dzone.com/articles/Apache-cxf-vs-Apache-axis-vs

8
Ahmed MANSOUR

この比較で考慮するもう1つのオプションは、 Enunciate です。

特に、Java最初に。

0

関連する投稿をご覧ください: Spring-WSを使用したWebサービスの構築