質問

JavaでのWebサービス開発におけるSun MetroとApache CXFの相対的な長所と短所は何ですか。私が見なければならない別のフレームワークはありますか?

役に立ちましたか?

解決

私は数か月前にあなたの立場にいたが、結局Metroをよく見ていた。

キラー機能は、Metroが標準のアノテーションを使用して特定のメソッドをWebサービスとして公開し、すべてのグルーコードを実行時に自動的に生成できるという事実でした。つまり現在の展開プラットフォームであるJava 5の下で、標準のサーブレットコンテナ(2.5と思われます)で構築および展開するときに行う追加の手順はありません。

これは私たちにとって非常にうまく機能しています。

標準の注釈を使用した理由は、アプリケーションが何十年も文字通り生き続ける傾向があり、その後は何らかのメンテナンスが必要になるためです。実装の代わりにインターフェースにコーディングすることにより、Webサービスを実装するコードを変更せずに、コードの下にある足場全体を交換できます。 10年後(またはそれ以上)に、特定の実装が萎縮して死亡した可能性がありますが、他の実装はその後上昇し、すぐにプラガブルになる可能性があります。

サーブレットコンテナに対して現在選択できる選択肢の数を確認してください...これが優れたAPIの力です!


編集:Java 6ランタイムには、Metroスタックと最小限のWebサーバーが含まれているようです。言い換えれば、JREのみが上記の足場の代替品になる可能性があります:D

他のヒント

MetroとCXFはどちらもJAX-WSに準拠したWebサービススタックであり、ランタイムの観点からは、これらの選択肢はほとんどありません。

ただし、CXFのドキュメントは非常に優れており、JAX-WS仕様を超える意思がある場合は、柔軟性と追加機能がはるかに優れています。ドキュメントだけに基づいて、MetroeveryでCXFを選択します。

ただし、MetroまたはCXFで Spring WebServices を選択します。 JAX-WSに準拠していませんが、それが問題になるとは思いません。また、どちらよりもかなり単純であり、かなり柔軟です。強くお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top