SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

Jersey、AJAX、JSONを使ってRESTに挑戦しよう

RESTのメリットをJavaコードに簡単に取り込む方法

  • このエントリーをはてなブックマークに追加

 REST(Representational State Transfer)は、HTTPを介した包括的な方法でデータを扱う強力で軽量なアーキテクチャです。本稿では、RESTを紹介し、Jerseyの動作概念や使用方法を示します。また、JavaScript、AJAX、JSONを使用して、RESTfulコードへのアクセス方法を示します。

  • このエントリーをはてなブックマークに追加

はじめに

 REST(Representational State Transfer)は、HTTPを介した包括的な方法でデータを扱うことを可能とする、強力で軽量なアーキテクチャです。しかし、強力であるとはいえ、独自のコードにRESTを取り入れるのは少々手間がかかるため、何らかの支援が必要になります。Javaでのコーディングの場合は、Jerseyが助けになります。Jerseyは、JavaコードをREST対応にするために必要な作業を簡素化するオープンソースプロジェクトです。

 この記事では、RESTを簡単に紹介し、Jerseyの背景にある基本的な動作概念を説明します。次に、Jerseyを使用して、実際のJavaコードをRESTfulにする方法を示します。最後に、ブラウザベースのJavaScript、AJAX、およびJSONを使用して、作成したRESTfulコードにアクセスする方法を示します。関連トピックとして、Base64でエンコードされた画像ファイルを、Webページ上に実行時に表示する方法を紹介します。

 この記事で使用するコードはすべてページ上部からダウンロード可能で、自由に試してみることができます。

プロジェクトコードについて

 まず、この記事のために用意したデモプロジェクトを使用して、基本的なJerseyアプリケーションを作成する方法を説明します。このデモプロジェクトの名前は「CardDealer」です。CardDealerは、サーバ側のトランプの束からランダムに1枚のカードを取り出すWebアプリケーションです。図1に示すように、プロジェクトのメインWebページ上の[Get Card]ボタンをクリックして、ランダムに1枚のカードを表示します。

図1 Webアプリケーション「CardDealer」は、AJAXを使用してRESTサービスを呼び出す
図1 Webアプリケーション「CardDealer」は、AJAXを使用してRESTサービスを呼び出す

 この処理は簡単に見えるかもしれませんが、その背景には多くの技術が関与しています。JerseyとAJAXが、この処理における重要な役割を担っています。

前提知識

 この記事の目的は、読者にできるだけ早くRESTを使用できるようになってもらうことです。プロジェクトを構成するさまざまなJavaモジュールの整理と構築には、Maven Frameworkを使用しました。また、CardDealerプロジェクトに含まれるJavaヘルパークラスのプロパティ値の実行時インジェクションには、Springを使用しました。そして上述のとおり、クライアント側のブラウザとサーバ側のCardDealer RESTコードの間の通信には、AJAXを使用しています。

 従って、この記事の内容を完全に理解するためには、以下の技術についての基礎知識が必要になります。

  • Maven:プロジェクトの依存性定義、サンプルプロジェクトの構築、ユニットテストの実行に使用
  • Spring:プロパティ値の実行時インジェクションに使用
  • AJAX:XmlHttpRequestをWebサーバに返すために使用
  • JSON:クライアント側のJavaScriptオブジェクトに情報をカプセル化するために使用

 これらの技術に関する知識が足りないと感じている読者も心配することはありません。詳細がわからなくても、概念的なレベルで有効な情報も多く含まれているので、まずはひととおり読んでみてください。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
RESTとは何か?

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Bob Reselman(Bob Reselman)

Edmunds Incのシニアテクニカルライター兼テクニカルエディター。Edmunds Inc.は、多彩な情報と高い可用性を誇る、最先端のJavaベースの各種自動車情報Webサイトを運営する大手パブリッシャーである。http://www.edmunds.com/およびhttp://www.insid...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4596 2009/12/09 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング