API呼び出しの仕組み
すべてのAPI呼び出しがcom.google.apphosting.api.ApiProxyを経由するので、いわゆるアスペクト指向のコーディングが可能で、プログラム全体にログを埋め込むというコードが簡単にかけます。
ApiProxyは、実際のApp Engine環境だけでなく、ローカル環境でも利用できるので、気軽にUnitテストやプロファイルデータ収集を行うことができます。
予定されている機能拡張
タスク・キューは、既に実装されているUnixライクなCronのように、指定した時間がトリガーとなってプログラムが実行されるのではなく、ある処理の中でタスクをキューに追加することで、タスクが順番に処理されるような仕組みになるようです。
筆者は、タスク・キューによって、実質的にスレッド的な処理や、1回の処理時間が30秒を超えるような処理を行えるようになるのではないかと期待しています。
App Engine Datastoreの概要
ここから講演者が鵜飼文敏氏に交代し、App Engine Datastoreの解説がされました。

基本概念は「ソフトスキーマ」。DBのスキーマを決定した後に、アプリケーションをそのスキーマに合わせて実装するのではなく、アプリケーションの構造そのままを保存できます。また、スキーマの定義には、設定ファイルが必要なく、アノテーションで定義できます。
プログラムの変更がそのまま、スキーマの変更になるので、開発が非常に楽になります。
データ読み取りのポイント
読み取りを速くするという概念の上では、RDBMSにおいても非正規化は正しいアプローチなのですが、それでもRDBMSでは可能な限り正規化を維持するのが良しとされています。しかし、App Engine Datastoreでは読み取りを早くするために、積極的に非正規化を進めます。
DataStoreのまとめ
- App Engine Datastoreは永続化を簡単にします
- ソフトスキーマはJDO/JPAを使って実現できます
- 非正規化をおそれずに
セッション終了後に、Googler(グーグル社員)との雑談で聞いた話では、どちらかと言うとJDOの開発に力を入れているそうなので、どうしてもJPAを利用しなければならないというのでなければ、JDOを利用した方がよさそうです。ちなみに、Googleが公開しているGoogle Plugin for Eclipseでは、新規プロジェクトを作成するとデフォルトでJDOの設定ファイルが自動生成されます。
Google Developer Relations Japan
「Google Developer Relations Japan」というGoogleのデベロッパーコミュニティサイトがあります。過去に開催されたGoogle Developer Dayを含むイベントのスライドやビデオが公開されていますので、興味のある方はアクセスしてみてください。
まとめ
Google Developer Dayでは例年、イベント終了後に交流会が開催されます。イベントには、Googleのテクノロジーに興味のある、モチベーションの高いエンジニアが集まりますので、交流会での情報共有は非常にレベルの高いものとなっています。
また、その交流会にはGooglerも参加しますので、最新テクノロジーの面白い話も聞けたりします。 この記事で少しでも興味を持った方は、ぜひとも来年Google Developer Dayに参加してみて下さい。
