Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

JAX-RSの基本的な機能

  2008/10/21 11:00

前回は、アプリケーション連携のための様々なアーキテクチャと、その中の一つである「RESTful Webサービス」の特徴を紹介しました。今回からは、いよいよRESTful Webサービスの実践に入ります。
 

JAX-RSとは

 JAX-RSは、JavaでRESTful Webサービスを実現するためのAPIで、JSR-311として仕様策定作業が進められています。JavaEEの次世代バージョンにあたるJavaEE6のAPIグループに加わることが決まっている、将来性の高いAPIです。

 執筆時点ではPublic Reviewが公開されている段階ですが、近い将来、最終仕様(Final Release)が確定するものと思われます。ちなみに、Public Reviewとして公開されているJSRドキュメント(PDF)のページ数は、たったの33ページです。このことからも分かるように、JAX-RSは、非常に軽量で、習得しやすいAPIと言うことができます。

 JAX-RSの主な特徴を簡単にまとめると、以下のようになります。

  • JAX-RSは、RESTful Webサービスのプロバイダ(サービス提供者)の開発のためのAPIである
  • JAX-RSを使用したアプリケーションは、Webコンテナ(JavaEEサーバ)上に、Webアプリケーション(WARファイル)としてデプロイする
  • JAX-RSは、POJO(Plain Old Java Object)ベースのAPIである
  • JAX-RSの仕様は、HTTPの仕様と強く結びついている

 JAX-RSの実装として利用できるライブラリはすでにいくつか存在しているのですが、本連載では"Jersey"を使用してJAX-RSの仕様・機能を紹介していきます。Jerseyは、サン・マイクロシステムズ社が運営するオープンソース開発サイト"Java.net"で開発が進められている、JAX-RS実装です。

 以下のWebサイトよりダウンロードすることができます。

 Jerseyの執筆時点の最新バージョンは0.8です。

 JAX-RSはRESTful Webサービスを実現するためのAPIですが、RESTful Webサービスに限らず、汎用的なHTTPプロセッサとして活用することもできます。すなわち、RESTful Webサービスの設計思想(URI、HTTPメソッドおよびHTTPステータスの使い方に一定のルールを設ける)に則ったアプリケーション連携を実現するために使用することもできれば、特にHTTPの使用方法にルールを課さない、一般的なHTTP連携(POX over HTTPなど)のために使用することもできます。

 JAX-RSのメカニズムを図にすると、以下のようになります。本連載では、JAX-RSのエンジン部分となる実装(本連載ではJersey)を「JAX-RSエンジン」、アプリケーションとして作成するWebリソースを表すクラスを「Webリソースクラス」と呼称します。

JAX-RSを使用したWebアプリケーションの構成
JAX-RSを使用したWebアプリケーションの構成

※この続きは、会員の方のみお読みいただけます(登録無料)。


※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • UFJIS 斉藤賢哉(ユーエフジェーアイエスサイトウケンヤ)

    UFJIS株式会社 三菱UFJフィナンシャルグループ(MUFG)の100%出資子会社。銀行、信託、証券、カード・信販、リースなど幅広い金融サービス機能を有する総合金融グループであるMUFGグループ各社の総合金融サービスをIT面から支える金融ITのリーディングカンパニー。 斉藤 賢哉 UFJIS...

バックナンバー

連載:JAX-RSで実践!JavaでRESTful Webサービス
All contents copyright © 2007-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5