axis2WebサービスとCXFWebサービスの違いを理解してくれる人がいればありがたいです。
1 に答える
axis2 Web サービスと CXF Web サービスの主な違いは次のとおりです。
CXF は、WS-Addressing、WS-Policy、WS-RM、WS-Security、および WS-I BasicProfile をサポートしています。Axis2 は、今後のバージョンでサポートされる予定の WS-Policy を除いて、これらのそれぞれをサポートします。
CXF は Spring を念頭に置いて作成されました。Axis2 はそうではありません。
Axis2 は、独自のネイティブ データ バインディングである ADB だけでなく、XMLBeans、JiBX、JaxMe、JaxBRI など、幅広いデータ バインディングをサポートしています。JaxME と JaxBRI のサポートは、Axis2 1.2 ではまだ実験段階であることに注意してください。CXF は現在、JAXB と Aegis のみをサポートしています。XMLBeans、JiBX、Castor のサポートは CXF 2.1 で提供されます。
Axis2 は複数の言語をサポートしています。Java バージョンに加えて、C/C++ バージョンも利用できます。
ただし、これらのフレームワークを比較する際には、機能を比較することと同様に、Web サービスを開発するためのアプローチを見ることが重要です。開発者の観点から見ると、両方のフレームワークの動作は互いに大きく異なります。Axis2 は、多くの点でミニチュアのアプリケーション サーバーに似たアプローチをとっています。Axis2 には、Tomcat などのサーブレット コンテナーにデプロイできる WAR がパッケージ化されており、Web サービスの管理とその場でのデプロイが容易になるように設計されています。Axis2 Web 管理モジュールを使用すると、アプリケーションの実行中に Axis2 を動的に構成できます。新しいサービスをアップロード、アクティブ化または非アクティブ化し、それらのパラメーターを変更することができます。管理 UI では、実行中の 1 つ以上のサービスでモジュールを有効にすることもできます。
Axis2 は、他のアプリケーションから独立したスタンドアロンの Web サービスに向いており、多種多様な機能を提供し、モジュラー アーキテクチャを通じて時間の経過とともに機能を追加するための優れたモデルを提供します。一部の開発者は、それが自分のニーズに対して少し面倒または負担が大きすぎると感じるかもしれません。これらの開発者は、Apache CXF を検討することを好むかもしれません。
CXF は、開発者の人間工学と埋め込み性に重点を置いています。ほとんどの構成は、煩雑な XML ファイルではなく API を介して行われます。Spring 2.0 のサポートを含め、Spring の統合が非常に強調されています。CXF の API と Spring 構成は互いにかなり密接にミラーリングされています。CXF はコード ファーストの設計を強調し、単純な API を使用して既存のアプリケーションからのサービスの開発を容易にします (また、その組み込み可能性も役立ちます)。
どのフレームワークを選択しても、アクティブで安定したオープン ソース コミュニティの恩恵を受けることができます。これらの各フレームワークには企業の支援があります。Axis2 は WSO2 によって支援され、CXF は Iona によって支援されています。どちらにも活発な開発者コミュニティがあります。Axis2 は以前から存在していますが、CXF は急速に追いついています。私の推奨事項は次のとおりです。多言語サポートが重要な場合、Axis2 が明確な選択肢です。Spring のようなプロジェクトに緊密に統合された Java に焦点を当てた実装に関心がある場合は、特に他のプログラム内に Web サービスを埋め込む場合は、CXF の方が適しています。これらのプロジェクトの新機能が重要ではなく、Axis1 に比較的満足している場合は、移行するビジネス上の理由が生じるまで、これにとどまり、最新のメンテナンス リリースについていくことを検討してください。