web-dev-qa-db-ja.com

JAX-RSフレームワーク

JAX-RSリファレンス実装(Jersey)でいくつかの作業を行っています。私は少なくとも2つの他のフレームワーク(RestletとApache CXF)を知っています。

私の質問は、これらのフレームワーク間で誰かが比較をしましたか?もしそうなら、どのフレームワークをお勧めしますか?

50
Shimi Bandiel

FWIWでは、ジャージーをすべての機能(WADL、暗黙的なビュー、XML/JSON/Atomサポートなど)が満載されたものとして使用していますが、その背後には大きく活気のある開発者コミュニティがあり、素晴らしい spring integration があります。

JBoss/SEAMを使用する場合、RESTeasyの統合が少し改善される場合がありますが、Spring for Dependency Injectionを使用する場合、Jerseyが最も簡単で、最も人気があり、アクティブで機能的な実装と思われます。

30
James Strachan

Restlet には、Spring、WADL、XML、JSONなどの拡張機能の広範なリストがあり、JAX-RS APIの拡張機能も含まれています。

また、唯一のフレームワークです 6つの一貫したエディションで利用可能

  • Java SE
  • Java EE
  • Google Web Toolkit
  • Google AppEngine
  • Android
  • OSGi環境

主な利点は次のとおりです。

  • jAX-RSがサーバー側の処理用に設計された場合の完全に対称的なクライアントおよびサーバーAPI
  • jAX-RSがHTTPのみの場合、HTTP(HTTPセマンティクスへのマッピング)以外のプロトコル用のコネクタ
  • restlet APIを介した完全なURIルーティング制御を含む、より広範な機能範囲(ただし、必要に応じてサーブレットと統合可能)
  • nIOサポートの完全なプロビジョニング

JAX-RS APIは、JCPが承認したAPIに制限されている場合(JerseyやRESTeasyのようなJAX-RSプロジェクトの拡張機能を使用しないでください!) 2005年に最初にリリースされました)、2.0バージョンでは、アノテーションのすべての利点と、強力で拡張可能なクラス指向のフレームワークが提供されます。

より長い 機能のリスト、このページを確認してください

よろしく、ジェローム・ルーベル

Restlet〜創設者およびリード開発者〜 http://www.restlet.org

26
Jerome Louvel

私のチームとRestletは広範囲に使用していますが、JAX-RS機能は使用していません。 Restletの開発者とコミュニティには非常に感銘を受けました。彼らは非常に積極的で、積極的で、反応がよく、安定した、効率的で、信頼でき、効果的なフレームワークにコミットしています。あなたの主な関心事に直接取り組むことはできませんが、Restletでの私の経験は貴重だと思うかもしれません。

7
Avi Flax

私の同僚は、 RESTful web services in Java EE with RESTeasy(JAX-RS)) で現在のプロジェクトにRESTeasyを使用している理由について言及しています。

そのリファレンス実装であるJerseyは、EJB3およびSeam 2.0との統合に問題があるため選択されませんでした。

JAX-RSのRESTeasy実装を使用しています。これは、EJBおよびSeamとの統合に問題がなかったためです。また、十分なドキュメントがあります。

Apacheには別の実装がありますが、古いバージョンのJAX-RSを使用しているため、試していません。

最後に、Java Restletと呼ばれるRESTful Webサービス用の別のフレームワークがありますが、この記事の執筆時点では、適切なJAX-RSにもかかわらず、カスタムアーキテクチャを使用しているため、サポートは準備中です。

6
Peter Hilton

Apache Winkは非常に使いやすく、JAX-RSをサポートし、標準を超える多くの機能を備えていることがわかりました。

6
Shimi Bandiel

JAX-RSの実装は4つあるようですので、おそらくどれでも大丈夫でしょう。価値のあることについては、これまでのところ、Jersey(1.0.2)が本当に素晴らしいと感じました。私のニーズは非常に控えめでシンプルなバックエンドサービスであり、配管などの世話をします。そして、そのジャージーは非常にうまくいきます。

6
StaxMan

フレームワークは使用しません。アプリケーションサーバーに付属しているものだけです。 1つのフレームワークの詳細を使用すると、移植性が失われ、アプリサーバーのベンダーがお好みのフレームワークの異なるバージョンを含めるとどうなるかがわからなくなります。 jax-wsに固執します。

0