これまでに、さまざまな多くのRESTベースのフレームワーク(参考記事)やJSR311準拠の実装(参考記事)について述べてきた。ここで比較的新しい側面の1つが RESTeasy(リンク)であり、Bill Burke氏(リンク)によって指揮され、最初のGAが現在リリースされている(リンク)。リリース発表によると、以下のとおりである。
JBoss RESTEasyはフレームワークであり、RESTFul WebサービスをJavaで記述することができる。それは、十分に証明された、JAX-RS(リンク)スペックの携帯用の実装である。
JBossプロジェクトであるので、当然JBoss Application Serverと非常にうまく統合できるが、JDK 5以上を実行しているあらゆるサーブレットコンテナで実行することができる。また、JAX-RSスタンダードの一部ではない、RESTeasyに対するクライアントフレームワークの側面もある。 リリースに含まれるその他の機能は以下のとおりである。
- ユニットテストのための組み込み可能なサーバの実装
- XML、JSON、YAML、Fastinfoset、Atomなどへの豊富なプロバイダ
- XML、JSON、Fastinfoset、AtomへのJAXBマーシャリング、配列、リスト、一連のJAXB Objectのラッパー。
- JBoss Web、Tomcat 6、およびServlet 3.0に対する非同期HTTP (Comet) 抽象化
- EJB、SpringおよびSpring MVC統合
- JAX-RSアノテーションを使用するクライアントフレームワークにより、簡単にHTTPクライアントを記述することができる(JAX-RSのみがサーババインディングを定義する)
以前に、さまざまなJAX-RS実装を比較したことを述べたが(リンク)、これまでのところRESTeasyが抜きん出ている。JAX-RSとSpring MVCの統合(リンク)に関して、Solomon Duskis氏(リンク)は以下のように報告している。
今や、RESTEasyはSpring MVC DispatcherServletと併用することができる。すべきことは。これにはかなりのメリットがある。
- SprngMVC ControllerやWicket ObjectまたはTapestryやStruts2 Actionsと共に、JAX-RS Resourceを管理することができる。XMLやJSONの対話に対処するために、JAX-RSを設置することができる。またお気に入りのMVCフレームワークはHTML作成を取り扱うことができる。
- Spring ModelAndViewを返すことで、JAX-RSリソースは本格的なMVC Controllerとなる。JSPビュー、Freemarker、XSLTもしくはVelocityテンプレートまたはRSSビューになりえる。
最後に以下のようにまとめている。
他のJAX-RS実装よりも速くコードベースを理解することができたので、RESTEasyを使った。
この入り混じった場所でRESTeasyが上手に伸び続けるかは、時間のみが知るところである。しかし、第一印象が示しているのは、RESTベースのアプリケーションを構築する際、ユーザは少なくとも代替品の素晴らしい選択肢があるということである。