Apache CXF と Axis の違い 質問する

Apache CXF と Axis の違い 質問する

Apache Axis ではなく Apache CXF を使用する利点は何ですか? またその逆の場合も?

ベストアンサー1

念のため言っておきますが、私は完全に偏見を持っています(CXF の PMC 議長)が、私の考えは次のとおりです。

厳密に「プロジェクトは必要なことを実行できるか」という観点から見ると、どちらもほぼ同等です。CXF では実行できて Axis 2 では実行できない「エッジ ケース」がいくつかあり、その逆も同様です。ただし、ユース ケースの 90% では、どちらも問題なく動作します。

したがって、それは「チェックボックス機能」以外の多くのことに帰着します。

  • API - CXF は「標準ベースの」API (JAX-WS 準拠) を推進していますが、Axis2 は一般的に独自のものに向かっています。そうは言っても、CXF でも、JAX-WS 仕様外のさまざまなものを構成/制御するために独自の API の使用が必要になる場合があります。REST の場合、CXF は独自のものではなく標準 API (JAX-RS 準拠) も使用します。(はい、Axis2 の JAX-WS ランタイムについては知っていますが、ツールやドキュメントなどすべてがそれをターゲットにしているわけではありません)

  • コミュニティの側面とサポート性 - CXF は、問題に対応し、ユーザーに「フィックスパック」を提供することに誇りを持っています。CXF は、2.0.x 用に 12 個のフィックスパック (2 年前にリリースされたため、約 2 か月ごとに)、2.1.x 用に 6 個のフィックスパック、そして現在 2.2.x 用に 3 個のフィックスパックを作成しました。Axis2 は、実際には古いバージョンを「サポート」していません。「重大な」問題が発生しない限り、修正を入手するには、次の大きなリリース (平均約 9 ~ 10 か月ごと) まで待つ必要があるかもしれません。(ただし、どちらの場合も、ソース コードを取得して自分でパッチ/修正できます。オープン ソースは素晴らしいです。)

  • 統合 - Spring を使用する場合、CXF は Spring との統合がはるかに優れています。すべての構成などは Spring を通じて行われます。また、CXF は他のアプリケーションに「埋め込みやすい」 (Axis2 をこの観点から検討したことはありません) であると考える人が多いようです。そのようなことがあなたにとって重要かどうかはわかりません。

  • パフォーマンス - どちらも非常に優れたパフォーマンスを発揮します。Axis2 独自の ADB データバインディングは CXF よりも少し高速だと思いますが、JAXB (これも標準ベースの API) を使用する場合は、CXF の方が少し高速です。WS-Security などのより複雑なシナリオを使用する場合、基盤となるセキュリティ「エンジン」(WSS4J) はどちらも同じなので、パフォーマンスは完全に同等です。

これで質問の答えになったかどうかはわかりません。少なくとも何らかの情報が得られれば幸いです。

:-)

ダン

おすすめ記事