FrontPage

JAX-RS

JAX-RSは、Java API for RESTful Web Service の略であり、Java言語でRESTというアーキテクチャスタイルでWebサービスを作成するためのAPI仕様です。JAX-RSはJCP内でJSR-311として標準化されました。

JAX-RSの主な特徴は、次の通りです。

  • JAX-RSは、RESTful Webサービスのプロバイダ開発を主目的にしたAPIである
  • JAX-RSは、POJOベースでWebサービスが開発できる
  • JAX-RSの仕様は、HTTPの仕様と強く結びついている

JAX-RSエンジンの実装については、いくつか存在しており、次のようなものがあります。

Project Jersey
Sun による JAX-RS のリファレンス実装
Apache CXF
XFireとCeltixをマージしたもの
JBoss RESTEasy
JBossのJAX-RSプロジェクト
Restlet
JAX-RSの仕様策定以前から存在したRESTフレームワーク

RESTful Webサービス

RESTful Webサービスとは、RESTというアーキテクチャスタイルで作成されているWebサービスを指しています。
RESTとは、Representational State Transfer の略で、Roy Thomas Fielding 氏が博士論文で発表したアーキテクチャスタイルです。

RESTful Webサービスの特徴

リソース中心である

ステートレスである

HTTPメソッドを使用してリソースにアクセスする

次のようにHTTPメソッドとリソースに対する操作を結びつけてリソースにアクセスします。

メソッド操作内容
GETリソースを取得する
PUT既存リソースを更新する
POSTリソースを新規に作成する
DELETE既存リソースを削除する
HEADメタデータを取得する

JAX-RSによるWebサービスの仕組み

構成要素

JAX-WSによるWebサービスは、次の構成要素によって実現しています。

リクエスタアプリケーション
Webサービスを利用するアプリケーション。
要求メッセージ
リソースを特定する情報とリソースに引き渡す情報。HTTPリクエストとして送信します。
応答メッセージ
リソースからの処理結果。HTTPレスポンスとして返却します。
Webコンテナ
サーブレットおよびJSPが実行できる環境。Apache Tomcat, Jettyなどがあります。
JAX-RSエンジン
JAX-RSを実装したWebサービスを実行するためのエンジン。Webサービスとして公開するリソースのライフサイクルの管理や要求メッセージからJavaデータへのデコード、リソースの呼び出し、Javaデータから応答メッセージへエンコードします。
リソース
Webサービスとして公開する名前全般のことを指します。JAX-RSでは、リソースはPOJOとして開発者が作成します。

アノテーション

アノテーション記述可能な要素説明
@Path型、メソッド
@GETメソッド
@PUTメソッド
@POSTメソッド
@DELETEメソッド
@HEADメソッド
@Consumes型、メソッド
@Produres型、メソッド
@PathParam?メソッド引数、フィールド
@QueryParam?メソッド引数、フィールド
@FormParam?メソッド引数、フィールド
@CokieParam?メソッド引数、フィールド
@MatrixParam?メソッド引数、フィールド
@HeaderParam?メソッド引数、フィールド
@DefaultValue?メソッド引数、フィールド
@Contextメソッド引数、フィールド
@Provider

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-04-22 (金) 15:46:08 (2733d)