Google App Engine for Java実践クラウド・プログラミング

概 要

Google App Engine for Java(GAEj)の実践的なプログラミング解説書です。Java言語やEclpiseの操作方法についの知識がある人を対象に、Google App Engineのクラウド環境用プログラムの作成方法を解説。クラウドを特徴づける分散データストアであるBigtableのCRUD処理、画像処理、各種条件検索など、基本的な操作方法から応用例まで、プログラムサンプルを掲載しながら解説し、さらに多彩なサービス機能をメモリキャッシュからBlobStoreまで取り上げています。Direct Web Remoting/jQuery/YUIとの連携サンプルも紹介。環境設定と運用管理機能についてもしっかりフォローしています。GAEjを利用したアプリケーション開発の参考になる一冊です。

著者 清野克行
価格 本体3200円(税別)
ISBN 978-4-7980-2561-2
発売日 2010/3/18
判型 B5変
色数 1色
ページ数 528
CD/DVD
対象読者 中級
シリーズ
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter_1 Google App Engineクラウドシステムの概要

1.1 Googleクラウドのハードウェア

1.1.1 データセンターと配置

1.1.2 コンテナ型データセンター

1.1.3 使用されるコンピュータ

1.1.4 RAS(信頼性・可用性・保守性)

1.2 Googleクラウドのソフトウェア

1.2.1 ソフトウェア構成

1.2.2 分散アプリケーションシステムの機能と構成

1.2.3 大規模分散データストアで発生する問題と対応

1.2.4 CAP定理

1.2.5 BASE

1.2.6 分散アプリケーションの多階層構成

1.2.7 MapReduceアルゴリズムでのサーバ配置

1.2.8 Bigtableのデータ構造

1.2.9 GAEのモジュール構成

Chapter_2 GAEjの環境設定と簡単なプログラムの作成

2.1 Eclipseを使用したGAEjの開発環境設定手順

2.1.1 Java開発キット(SDK)のインストール

2.1.2 Eclipseのインストール

2.1.3 GAEj用のEclipseプラグインをインストール

2.2 GAE最初のプログラム作成

2.2.1 Eclipseでプロジェクト作成

2.2.2 Eclipseでプログラムの動作確認

2.3 クラウド環境で最初のプログラムを実行

2.3.1 Googleアカウントの取得

2.3.2 アプリケーション(デプロイ用ID)の取得

2.3.3 作成したプログラムのGAEクラウド環境へのデプロイ

2.3.4 GAEクラウド環境で最初のプログラムを実行

2.4 Googleアカウントでの認証機能を作成

2.4.1 画面操作

2.4.2 プロジェクトの生成

2.4.3 サーブレットプログラムの修正

2.4.4 XHTMLタグ記述

2.5 JSPでメッセージ送信機能を追加

2.5.1 画面操作

2.5.2 プログラムの記述

2.5.3 プロジェクト構成

2.6 Googleの巨大データストア(Bigtable)にJavaでアクセスする

2.6.1 画面操作

2.6.2 Bigtableに対するデータの永続化処理

2.6.3 データストアの検索・参照を行う

Chapter_3 Bigtableのデータストアアクセス

3.1 BigtableとRDBの機能比較

3.2 BigtableをJavaからアクセスするための準備

3.3 データストア使用の制限

3.4 BigtableのCRUD(登録・参照・更新・削除)処理

3.4.1 画面操作

3.4.2 プロジェクト構成と定義ファイル

3.4.3 クライアント側処理:XHTML+JavaScript

3.4.4 サーバ側処理:データクラス定義

3.4.5 永続化処理を実行するクラスファイル(PMF.java)

3.4.6 サーバ側プログラム(サーブレット)

3.5 文字列をそのままキーとして使用する場合のサーバ側処理

3.6 Low-Level APIでのCRUD処理

Chapter_4 コレクションプロパティの定義とCRUD操作

4.1 データオブジェクト構造の柔軟性について図解で概要を理解する

4.2 コレクションフィールドを持つエンティティの永続化を行う

4.2.1 画面操作

4.2.2 クライアントプログラム

4.2.3 データクラスの定義

4.2.4 サーブレットプログラム

4.3 コレクションフィールドを持つエンティティの参照を行う

4.3.1 画面操作

4.3.2 クライアントプログラム

4.4 サーバプログラム

4.5 コレクションフィールドを持つエンティティの更新を行う

4.5.1 画面操作

4.5.2 クライアントプログラム

4.5.3 サーブレットプログラム

Chapter_5 オブジェクトの所有関係とトランザクション処理

5.1 オブジェクトの所有関係:1対1の1方向所有関係

5.1.1 登録処理

5.1.2 全件参照処理

5.1.3 キー検索処理

5.1.4 キー削除処理

5.2 オブジェクトの所有関係:1対多の1方向所有関係

5.2.1 登録処理

5.2.2 全件参照処理

5.2.3 キー検索処理

5.2.4 キー削除とトランザクション処理

Chapter_6 画像データの処理

6.1 イメージ処理と表示

6.1.1 画面操作

6.1.2 プロジェクト構成

6.1.3 クライアントタグ(XHTML)

6.1.4 デプロイメントディスクリプタ(web.xml)

6.1.5 サーバ側プログラム

6.2 画像データのサイズを変更

6.2.1 画面表示

6.2.2 サーブレットプログラム

6.3 画像データを上下反転して表示

6.4 画像データを左右反転して表示

6.5 画像データを角度指定で回転表示する

6.6 画像データの一部を切り出して表示

6.7 画像データを鮮明に表示する

6.8 透明度を変えて複数画像を合成する

6.8.1 画面操作

6.8.2 サーバ側プログラム

6.9 透明度と変換処理を加えて複数画像を合成する

6.9.1 画面表示

6.9.2 サーバ側プログラム

6.10 画像ファイルのアップロードと表示

6.10.1 画面操作

6.10.2 デプロイメントディスクリプタ

6.10.3 クライアントタグ(XHTML)

6.10.4 イメージファイルアップロード用のjarファイル追加

6.11 イメージアップロードとBigtable登録・参照

6.11.1 画面操作

6.11.2 プロジェクト構成

6.11.3 デプロイメントディスクリプタ(web.xml)

6.11.4 クライアントタグ&プログラム

6.11.5 サーバ側プログラム

6.12 イメージタイトルでBigtableのイメージデータ検索

6.12.1 画面操作

6.12.2 クライアントタグ

6.12.3 サーバプログラム

6.13 登録データ全件参照とイメージ参照

6.13.1 画面操作

6.13.2 クライアントタグ

6.13.3 サーブレットプログラム

Chapter_7 Bigtableでの条件検索・参照

7.1 Bigtable永続化エンティティのクエリ検索概要

7.2 アプリケーション構成

7.3 社員マスタを全件参照・表示する

7.3.1 画面表示

7.3.2 プロジェクト構成

7.3.3 デプロイメントディスクリプタ

7.3.4 クライアント(XMTHL&JavaScript)

7.3.5 データクラス定義

7.3.6 PMF.java(永続化マネージャ)

7.3.7 サーブレットプログラム

7.4 社員マスタを昇順ソートして全件参照する

7.4.1 画面表示

7.4.2 サーバプログラム(サーブレット)

7.5 社員マスタを降順ソートして全件参照する

7.6 ソート項目を複数指定して全件表示する

7.6.1 画面表示

7.6.2 サーバプログラム

7.7 クエリの範囲を指定して一覧表示する

7.7.1 画面表示

7.7.2 サーバプログラム

7.8 検索キー(フィルタ)を指定して一覧表示

7.8.1 画面表示

7.8.2 サーバプログラム

7.9 キー検索とソートを組み合わせて表示

7.9.1 画面表示

7.9.2 サーバプログラム

7.10 不等号を使用して条件検索表示

7.10.1 画面表示

7.10.2 サーバプログラム

7.11 キーと不等号を組み合わせて検索表示

7.11.1 画面表示

7.11.2 サーバプログラム

7.12 2つの不等号で検索範囲を指定

7.12.1 画面表示

7.12.2 サーバプログラム

7.13 メソッドスタイルとJDOQLを組み合わせて条件検索

7.13.1 サーバプログラム

7.14 セレクトメニューから条件選択で表示する

7.14.1 画面表示

7.14.2 クライアント(XMTHL&JavaScript)

7.14.3 サーバプログラム(サーブレット)

7.15 セレクトメニューから不等号フィルタで選択表示する

7.15.1 画面表示

7.15.2 サーバプログラム(サーブレット)

7.16 コレクションプロパティを含むデータオブジェクトを全件参照する

7.16.1 画面表示

7.16.2 プロジェクト構成

7.16.3 デプロイメントディスクリプタ

7.16.4 クライアント(XMTHL&JavaScript)

7.16.5 データクラス定義

7.16.6 サーブレットプログラム

7.17 コレクションプロパティで昇順ソートする

7.17.1 画面表示

7.17.2 サーバプログラム

7.18 コレクションフィールドで降順ソートする

7.18.1 画面表示

7.18.2 サーバプログラム

Chapter_8 GAEjのサービス機能1

8.1 GAEのサービス機能概要

8.2 メモリキャッシュサービス―1

8.2.1 画面操作

8.2.2 プロジェクト構成

8.2.3 デプロイメントディスクリプタ

8.2.4 クライアントタグ(XHTML)

8.2.5 サーバ側プログラム

8.2.6 メモリキャッシュサービスの制限

8.3 メモリキャッシュサービス―2

8.3.1 画面操作

8.3.2 クライアントタグ(XHTML)

8.4 メモリキャッシュサービス―3

8.4.1 画面操作

8.4.2 サーバ側プログラム

8.5 URLフェッチでRSS表示を行う

8.5.1 画面操作

8.5.2 プロジェクト構成

8.5.3 デプロイメントディスクリプタ

8.5.4 クライアントタグ(XHTML)

8.5.5 サーバ側プログラム

8.5.6 URLフェッチサービスの制限

8.6 メールを送信する

8.6.1 画面操作

8.6.2 プロジェクト構成

8.6.3 デプロイメントディスクリプタ

8.6.4 クライアントタグ(XHTML)

8.6.5 サーバ側プログラム

8.6.6 LowLevel APIを使用してメール送信を行う

8.7 画像ファイルを添付してメールを送信する

8.7.1 画面操作

8.7.2 プロジェクト構成

8.7.3 デプロイメントディスクリプタ

8.7.4 クライアントタグ(XHTML)

8.7.5 サーバプログラム

8.7.6 メッセージサイズの制限

8.8 Googleアカウントを使用したサインイン・サインアウト機能を作る

8.8.1 画面操作

8.8.2 プロジェクト構成

8.8.3 デプロイメントディスクリプタ

8.8.4 クライアントタグ(XHTML)

8.8.5 サーバ側プログラム

Chapter_9 GAEjのサービス機能2

9.1 cronサービスのプログラム定期実行

9.1.1 Webアプリケーションで動作確認

9.1.2 cronタスクでサーブレットを実行

9.1.3 プロジェクト構成

9.1.4 動作確認用のHTMLファイル

9.1.5 cronで定期実行するプログラム(サーブレット)の記述

9.1.6 web.xmlにアクセス権限指定を追加

9.1.7 cron.xmlにcronジョブスのケジュール情報を登録

9.1.8 cronをデフォルトアプリケーションに設定

9.2 Task Queue(タスクキュー)―1

9.2.1 画面操作

9.2.2 プロジェクト構成

9.2.3 デプロイメントディスクリプタ

9.2.4 クライアント側プログラム

9.2.5 サーバ側プログラム

9.3 Task Queue(タスクキュー)―2

9.3.1 画面処理

9.3.2 プロジェクト構成

9.3.3 集計用エンティティの作成

9.3.4 アンケート集計

9.4 Blobstoreサービス―1

9.4.1 画面操作

9.4.2 プロジェクト構成

9.4.3 デプロイメントディスクリプタ

9.4.4 クライアントJSP

9.4.5 サーバ側プログラム

9.5 Blobstoreサービス―2

9.5.1 画面操作

9.5.2 プロジェクト構成

9.5.3 デプロイメントディスクリプタ

9.5.4 クライアントコード

9.5.5 データクラスの定義

9.5.6 Blobファイルアップロード

9.5.7 Blobファイルの参照

9.6 XMPPサービス

9.6.1 画面操作

9.6.2 プロジェクト構成

9.6.3 appengine-web.xml

9.6.4 デプロイメントディスクリプタ

9.6.5 サーブレットプログラム

9.6.6 XMPPメッセージ送信

Chapter_10 DWRでGAEj開発の効率化

10.1 DWRを使用した場合のGAEj

10.2 DWRの概要紹介

10.2.1 DWRとは

10.2.2 DWRを使用することによるメリット

10.2.3 DWRの動作環境

10.2.4 DWRの特徴

10.2.5 運用面からのDWRの特徴

10.3 DWRを使用して作るGAEjプログラム

10.3.1 WARファイルによるサンプル環境のデプロイ

10.3.2 画面操作

10.3.3 プロジェクト構成

10.3.4 デプロイメントデスクリプタ(web.xml)の記述

10.3.5 サーバ側プロクラム

10.3.6 dwr.xml

10.3.7 DWRデバッグ画面での動作確認

10.3.8 クライアント側のプログラム作成

Chapter_11 アンケート登録画面

11.1 画面操作

11.2 プロジェクト構成

11.3 サーバ側プログラム

11.3.1 データクラス定義

11.3.2 ビーンズプログラム

11.3.3 デプロイメントディスクリプタ(web.xml)の記述

11.3.4 dwr.xmlの記述

11.3.5 DWRデバッグでのサーバ処理機能確認

11.4 サーバ側/クライアント側のプログラミングポイント

11.5 クライアント側タグ&JavaScript

Chapter_12 Googleマルチサーチ

12.1 画面操作

12.2 プロジェクト構成

12.3 デプロイメントディスクリプタ(web.xml)

12.4 dwr.xml

12.5 Javaビーンズでの処理内容

12.6 検索キーワードの追加・変更画面の操作

12.7 データクラス定義

12.8 ビーンズファイル

12.9 DWRデバッグ画面

12.10 クライアント(XMTHL&JavaScript)

12.10.1 Googleマルチサーチクライアント

12.10.2 検索項目登録・更新画面

Chapter_13 Excelファイルのアップロードと表示

13.1 Excelファイルのアップロードと表示―1

13.1.1 画面操作

13.1.2 プロジェクト構成

13.1.3 ファイルアップロード処理

13.2 Excelファイルのアップロードと表示―2

13.2.1 アップロードファイルのブラウザ表示

13.2.2 プロジェクト構成

13.2.3 サーバ側プログラム

13.2.4 クライアント側タグ&スクリプト

Chapter_14 GAEの運用管理機能

14.1 運用管理画面

14.2 管理者メイン情報の表示

14.3 データストア情報の管理

14.4 課金情報の表示

14.5 GAEのリソース割り当て

14.5.1 課金対象の割り当てと固定割り当て

14.5.2 リソースの補充方法

PR

秀和システム