私は JAX-RS 参照実装 (Jersey) を使っていくつかの作業を行ってきました。他に少なくとも 2 つのフレームワーク (Restlet と Apache CXF) を知っています。
私の質問は次のとおりです。これらのフレームワークを比較した人はいますか?もしそうなら、どのフレームワークをお勧めしますか?その理由は?
FWIW では、完全な機能 (WADL、暗黙的なビュー、XML/JSON/Atom のサポートなど) が満載の Jersey を使用しています。その背後には大規模で活気のある開発者コミュニティがあり、優れた春の統合があります。
JBoss/SEAM を使用している場合は、RESTeasy の統合の方が少し優れていることに気付くかもしれませんが、依存性注入に Spring を使用している場合は、Jersey が最も簡単で、最も人気があり、アクティブで機能的な実装のようです。
Restletには、Spring、WADL、XML、JSON、および JAX-RS API の拡張機能を含む、その他多数の拡張機能の広範なリストがあります。
また、6 つの一貫したエディションで利用できる唯一のフレームワークでもあります。
その主な利点は次のとおりです。
JAX-RS API は、JCP で承認された API に制限されている場合に適しています (その場合、Spring や、Jersey や RESTeasy などの JAX-RS プロジェクトの拡張機能は使用しないでください)。それ以外の場合は、Restlet が最も成熟したフレームワークです ( 2005 年に最初にリリースされた) であり、その 2.0 バージョンでは、強力で拡張可能なクラス指向フレームワークと組み合わせた注釈のすべての利点を提供します。
機能のより長いリストについては、このページを確認してください。
敬具、ジェローム・ルーヴェル
Restlet ~ 創設者および主任開発者 ~ http://www.restlet.org
私のチームと私は Restlet を広く使用していますが、JAX-RS 機能は使用していません。Restlet の開発者とコミュニティには非常に感銘を受けました。彼らは非常に積極的で、積極的で、反応がよく、安定した、効率的で、信頼性が高く、効果的なフレームワークに取り組んでいます。申し訳ありませんが、あなたの主な関心事に直接対応することはできませんが、Restlet での私の経験が貴重だと思うかもしれません.
4つのまともなJAX-RS実装があるように思われるので、おそらくそれらのいずれでも大丈夫です。これまでのところ、Jersey(1.0.2)は本当に素晴らしいと思います。私のニーズは非常に控えめでシンプルなバックエンドサービスであり、配管の世話をするなどです。そして、そのジャージーは非常にうまく機能します。
私の同僚は、RESTeasy (JAX-RS) を使用した Java EE の RESTful Web サービスで現在のプロジェクトに RESTeasy を使用している理由について言及しています。
その参照実装である Jersey は、EJB3 および Seam 2.0 との統合に問題があったため、選択されませんでした。
EJB および Seam との統合に問題がなかったため、JAX-RS の RESTeasy 実装を使用しています。資料も充実しています。
Apache から別の実装がありますが、古いバージョンの JAX-RS を使用しているため、試していません。
最後に、Restlet と呼ばれる Java 用の RESTful Web サービス用の別のフレームワークがありますが、この記事の執筆時点では、適切な JAX-RS サポートが進行中であるにもかかわらず、カスタム アーキテクチャを使用しているため、私たちはそれを好みませんでした。
Apache Wink は非常に使いやすく、JAX-RS をサポートし、標準を超えた多くの機能を備えていることがわかりました。