2008-09-15 4 views
16

私が開発しているJava WebアプリケーションのRESTの軽量版を探しています。JavaのREST

私はRESTlet(www.restlet.org)とStruts 2のRESTプラグインを見てきましたが、私は気にしていません。私はそれが軽くなるように、RESTletに向かって傾いています。

誰もがフレームワークやフレームワークなしでRESTfulレイヤーを実装していますか?

新しいウェブレイヤーのために見たパフォーマンス上の問題はありますか?

RESTの導入により、管理しにくいまたは不合理な複雑さがプロジェクトに追加されましたか? (ある程度の複雑さは理解できますが、私が意味するのは、単にRESTを追加するだけで、あなたのデザインを過度に過剰にすることです)

+0

http://meta.stackexchange.com/questions/71068/a-few-possible-duplicate-questions-about-java-rest-what-should-we-do – ripper234

答えて

3

まあ、私はEnunciateをかなり使いました。単純な注釈を使用して、RESTおよび/またはSOAPエンドポイントを提供します。

http://enunciate.codehaus.org

プラス、ライアン・ヒートンは常にあまりにも、物事のための最高のサポートを提供してきました。

1

私はgliffy.comのREST APIを開発しています。私たちは自分自身を圧倒しました。私たちは、Struts 2、Spring、または他のフレームワークを持ち込む必要はありませんでした。私はRESTLetを見て、それが信じられないほど紛らわしく複雑であることを発見しました。

ApacheにはJAX-RS仕様が実装されていますが、ファイナライズされておらず、幾分奇妙です。私たちは暫定的に私たちのソリューションをオープンソース化するつもりですが、それは数ヶ月間ではありません。

自分でローリングするのは簡単ですが、サーブレット仕様は必要なものすべてを提供し、Hibernateを介してデータベースに簡単に接続できます(EJB3を使用せずにJPAを設定する方法についてはhttp://www.naildrivin5.com/daveblog5000/?p=39を参照)。

1

私はrestletが本当にエレガントなアーキテクチャであることを発見しました。私は.netの世界で働いていたので、それは私の選択肢ではありませんでしたが、私は同じ基本原則のrestletに従って自分のフレームワークを構築することができました。

JAX-RSを: 私はあなたにも、RESTfulなサービスにアクセスするための新しいJCPのAPIが存在しているはず、ベース1の残りの部分に私たちのWCFの契約ベースのSOAアプリケーションの変換が大幅にアプリケーションを簡素化しました

3

を発見しました私は、彼らがその仕様に素晴らしい仕事をしたと思う - JCP311 https://jsr311.dev.java.net/

オープンソース版は、私はJAX-RSの大ファンですプロジェクトジャージー

+0

ジャージー[1]の実装ですJSR-311。これは単独で、またはSunのOpen SourceアプリケーションサーバーであるGlassfish [3]の一部としてダウンロードできます。 Restlet [4]の次期2.0リリースでも、JSR-311が実装されています。 [1] https://jersey.dev.java.net/ [2] http://jsr311.dev.java.net/ [3] http://glassfish.dev.java.net/ [4] http://restlet.org/ –

+0

JSR-311は、RESTfulサービスにアクセスするためのものではなく、むしろRESTfulサービスの提供/提供/実装です。 RESTfulサービスにアクセスするには、クライアントとして機能することを意味しますが、JerseyはRESTクライアントライブラリを提供します。 –

20

と呼ばれています。私は数多くのプロジェクトでそれを使用しています。

JAX-RSでは、URIマッピング、HTTPメソッド、コンテンツネゴシエーションを扱う簡単なアノテーションを持つPOJOを使用してRESTリソースを作成できます。これらはすべて依存性注入とうまく統合されています。学習する複雑なAPIはありません。コアRESTの概念(URI、ヘッダ/レスポンスコード、コンテンツネゴシエーション)だけが必要です。 FWIW JAX-RSはコントローラの観点からはかなりRails-ishです

そこには多くのJAX-RS実装があります - this thread for a discussionを参照してください。

私の個人的なお勧めは、その最大の、最も活動的なコミュニティーを手に入れているように書いているとき(WADLサポート、暗黙のビュー、バネ統合、素敵なRESTクライアントAPI) JBoss/SEAMを使用している場合は、RESTeasyが少し良く統合されています。

8

私はRestletの大ファンですが、主にになるアプリを実装するために使用します。 RESTful Webサービスです。既存のアプリケーションにRESTful APIを追加しようとしているようです。そのような場合、JAX-RS(またはEnunciateの)アノテーションベースのアプローチがプロジェクトに適しているかもしれません。

Restletについては、私は開発者とコミュニティに非常に感銘を受けていると言えます。彼らは非常に積極的で、従事し、敏感で、安定し、効率的で、信頼性が高く、効果的な枠組みに取り組んでいます。フレームワークの私の好きな点の1つは、それがRESTパラダイムの基本実装であることです。したがって、Restletアプリケーションの外部APIと内部実装の間にインピーダンスの不一致はありません。また、JBoss、Tomcat、JettyなどのJavaアプリケーションコンテナ/サーバー、またはスタンドアロンのHTTPサーバーライブラリを使用して実行することもできます。