これからは、Google App Engine(以下、App Engine)の環境でデータベースを操作してみましょう。App Engineで使用できるデータベース管理システムは「Datastore(データストア)」と呼ばれます。リレーショナルデータベース管理システム(RDBMS、Relational Database Management System)とは違う、キーバリュー型(Key Value Store、KVS)」のデータベース管理システムです。
Datastoreは、これまで一般的だったRDBMSとは異なる設計思想を持っています。RDBMSのような複雑なフィルタで条件を指定できませんし、トランザクション処理も限定した範囲でしか使用できません。さらにRDBMSでは、一つのレコードに複数のフィールドがありましたが、Datastoreでは基本的に一つのレコードに「Key(キー)」と「Value(バリュー)」しかありません。
データベースをこれまで使ってきた人はびっくりしたかもしれませんが、今挙げた特徴さえ押さえておけば、あまり難しく考える必要はありません。単純なCRUD操作であれば難しくないので、実際にプログラムを動かして雰囲気をつかみましょう*1。
EclipseにGPEをインストール
今回もEclipseを使います。すでにEclipseをインストールした人は、そのEclipseを使っても構いません。今回から読み始めた人は、EclipseのWebサイトにある「Eclipse IDE for Java Developers」を、使用しているオペレーティングシステムに合わせてダウンロードしてください。Eclipseを起動したら、メニューの「Window」→「Open Perspective」から「Java」を選択してJava開発用のパースペクティブに切り替えておきましょう(図1)。
次に、Datastoreを含むApp Engine for Javaの開発用プラグイン「Google Plugin for Eclipse(以下、GPE)」をインストールします。Eclipseのメニューから「Help」→「Install New Software」を選択して、プラグインのインストールを行うダイアログを表示します。Work withの欄に、「http://dl.google.com/eclipse/plugin/3.7」と入力して、Enterキーを押します*2。
「Pending...」としばらく表示されますが、待っていると「Plugin」と「SDKs」の二つの項目が表示されるはずです(図2)。両方にチェックを入れて「Next」をクリックし、プラグインをインストールしてください。プラグインが問題なくインストールされると、Eclipseのツールバーに後述するGPEのアイコンが並びます。
GPEは、App Engineの各種サービスを使用したコーディング、ビルド、テストをローカル環境で実施したり、クリック一つでWebアプリケーションをApp Engineのクラウド環境にデプロイ(配置)したりできるプラグインです。さらに、EclipseにGPEのプラグインを入れるだけで、サーブレットとJSP(JavaServer Pages)の実行環境やDatastore機能を提供するAPI(Application Programming Interface)群などが使えるようになります。
また、ローカル環境で動作する開発用のWebサーバーを備えているため、クラウド環境にデプロイする前にローカル環境でテストできます。ここでは、主にGPEが提供するローカル環境でプログラミングをしていくことにします。
プロジェクトの作成
最初に、App Engine for Javaのプロジェクトを作成します。まずは、図3の一番左にあるGoogle Development Toolsのアイコンをクリックし、「New Web Application Project」を選んでください。
図4の「New Web Application Project」画面が出てくるので、Project name欄に「CurryServer」、Package欄を「net.vvakame.curryserver」とします。「Google SDKs」のパネルにある「Use Google Web Toolkit」のチェックは外します。「Use Google App Engine」だけがチェックされた状態ですね。入力が終わったら「Finish」ボタンを押しましょう。これでApp Engineのプロジェクトのひな型が自動生成されるはずです。