中山 康弘(なかやまやすひろ)
株式会社DTS所属

 GoogleAppEngineについて前回紹介し,SDKを用いたローカルでの開発方法,および「Hello, World」を表示して公開するところまで説明しました。

 今回はかんたんなアプリケーションの作成を通してGoogleのwebapp Frameworkを説明します。サンプルとして,かんたんなひとことブログサービスを作成します。このアプリケーションの作成チュートリアルを通して,データの投稿や削除,ユーザー認証などWebアプリケーションの基本的な機能を実装する方法を一緒に学んでいきましょう。

仕様を決める

 実装する機能は以下の通りとします(図1図2)。

  • ひとことの投稿
  • ひとことの削除…自分が投稿したひとことを選んで削除できる
  • すべてのひとことの削除…管理者のみすべてのひとことを削除できる
図1●今回作成するひとことミニブログの画面例(ひとことの一覧)
図1●今回作成するひとことミニブログの画面例(ひとことの一覧)
[画像のクリックで拡大表示]

図2●今回作成するひとことミニブログの画面例(ひとことの登録)
図2●今回作成するひとことミニブログの画面例(ひとことの登録)

 主要な機能は,ひとことを投稿する,自分のひとことを削除する,という基本的なものです。

 技術的には,GoogleAppEngineに付属しているwebapp Frameworkというフレームワークを利用します。画面はPythonのフレームワークとして有名なDjangoのテンプレートを利用します。

 せっかくGoogleのインフラを利用するのですから,ユーザー認証もGoogleアカウントでおこなうようにします。webapp FrameworkのユーザーAPIを利用すれば,Googleアカウントを利用してアプリケーションにサインインできるようになります。このとき,開発者である自分自身は管理者としての権限を利用できるものとします。

 ビジネスルールとして,以下に従うものとします。

  • 表示順は最近のものを降順に表示する
  • 件数は最近の50件まで表示する
  • 通常ユーザーは自分のひとことを削除できる
  • 管理者ユーザーはすべてのひとことを削除できる

リファレンスを読む

 GoogleAppEngineのドキュメントはDeveloper's Guideに掲載されています(図3)。

図3●GoogleAppEngineのドキュメント
図3●GoogleAppEngineのドキュメント
[画像のクリックで拡大表示]

 特に今回必要になるのは以下のAPIです。

  • Users API …ユーザーアカウントの認証に関するAPIを提供する
  • Datastore API …GoogleのBigTableをRDBMS風に扱うことのできるO/RマッパーおよびGQLインタフェースを提供する

 開発に際してはDeveloper's Guideを読みながら進めていくと良いでしょう。シンプルなドキュメントですが,ここに開発に必要となる情報がすべて存在します。英文ではありますが,良質でシンプルな文書であり読み解く量も多くありませんので,ぜひトライしてみてください。技術系のサイトに多く存在する英語のドキュメントを読む良い練習にもなるでしょう。