IBM JAX-RS の概要
Java™ API for RESTful Web Services (JAX-RS) は、REST (Representational State Transfer) 原則に準拠するサービスを開発するためのメカニズムを提供するプログラミング・モデルです。JAX-RS を使用すると、RESTful サービスの開発が簡素化されます。
JAX-RS は、サーバー・サイドの REST アプリケーションの開発を簡単にする、インターフェースおよび Java アノテーションの集合です。 JAX-RS テクノロジーを使用すると、他のタイプの分散システムよりも REST アプリケーションの開発、取り込み、基準化をより簡単にできます。本製品は、REST ベースのサービスの開発用に Java API をサポートしています。JAX-RS の IBM® 実装によって、JAX-RS 仕様が実装されます。
IBM JAX-RS を使用して RESTful サービスを開発するには、基本的な REST 原則および HTTP や XML などの標準テクノロジーの基本を理解していることが前提となります。
- REST および JAX-RS
REST (Representational State Transfer) は、HTTP、XML、ATOM、および HTML などの標準テクノロジーを複数使用するアーキテクチャー・スタイルです。REST を使用すると、リソースの概念に基づいて柔軟なアプリケーションを定義できます。リソースとは単純に、URI (Uniform Resource Identifier) で識別可能な Web 上で共有するすべてのデータのことです。
JAX-RS は、Java コミュニティー・プロセスの JSR-311 によって定義された仕様です。 JAX-RS の主なフィーチャーの一部は以下のとおりです。- サポートするリソース・クラスとデータ型を宣言するためのアノテーションのコレクション
- アプリケーション開発者がランタイム・コンテキストにアクセスできるようにするための一連のインターフェース
- カスタム・コンテンツ・ハンドラーを統合するための拡張可能なフレームワーク
- Apache Wink および JAX-RS の IBM 実装
Wink は The Apache Software Foundation 内で開発されたプロジェクトで、RESTful アプリケーションの開発に使用する単純なフレームワークを提供します。 Wink は、サーバー上のリソースを説明するために JAX-RS を使用して実装された REST サービスをサポートします。ただし、Wink ではクライアント API も提供されます。このクライアント API は、JAX-RS 定義のクライアント API がないため、Wink ランタイム環境に固有です。
JAX-RS の IBM 実装は、基本 Wink 1.1 ランタイム環境の拡張です。IBM JAX-RS には、以下のフィーチャーが含まれています。- JAX-RS 1.1 サーバー・ランタイム
- スタンドアロンのクライアント API (Apache HttpClient 4.0 を基本クライアントとして使用するオプションを含む)
- JSON4J 向けの組み込まれたエンティティー・プロバイダーのサポート
- Apache Abdera サポートに加えて Atom JAXB モデル
- 複数パーツ・コンテンツのサポート
- ユーザー・ハンドラーを要求と応答の処理に統合するハンドラー・システム
これで、IBM JAX-RS を使用した RESTful サービスの実装について詳しく学習する準備ができました。- JAX-RS Web アプリケーションを短時間で稼働させる方法の例は、クイック・スタートに関する資料を参照してください。
- JAX-RS アプリケーションの計画時の考慮事項については、JAX-RS を使用した RESTful サービスの有効化に関する資料を参照してください。
- JAX-RS Web サービスの開発、パッケージ化、およびデプロイについて詳しくは、JAX-RS Web アプリケーションの実装に関する資料を参照してください。 XML、JSON、または Atom のコンテンツ形式を使用する JAX-RS Web アプリケーションの実装に関する詳細情報も入手できます。