ところで第1回で紹介したのはバージョン1.0でしたが、現在はバージョン1.1を経て2.0をリリースの予定です。バージョン2.0では、Google App Engine(GAE)のデータストア(Bigtable)アクセス以外の機能としてChannel APIを実装しています。
今回紹介するサンプルはこのChannel APIを使用し、クラウドサーバ側では第1回で紹介したBigtableアクセス、クライアント側ではHTML5のGeolocationを組み合わせた内容になっています。 また、このサンプルではAndroidなどのスマートフォンも使用する想定になっています。
対象ユーザ
GoogleのPaaS型クラウド「Google App Engine」に興味はあるが経験のない方。JavaScriptやActionScriptによるプログラミング、およびjQueryでの簡単なプログラミング経験のある方。JavaやPythonの開発経験は不要です。
必要な環境
- コマンドライン動作環境
- Java SE5またはJava SE 6
- Eclipse(オプショナルですが強く推奨)
1. 今回サンプルの概要
第1回では、gaedirectを使用するメリットとして、緊急時対応サイトの早期構築などを挙げましたが、今回のサンプルは緊急時対応サイトの例として、遭難者からの、親族・知人や救援団体への連絡システムを取り上げてみます。
図1は、今回紹介するサンプルの機能概要図です。図で遭難者はスマートフォンから連絡すると、Geolocation機能によって自動的に位置情報が追加されてGAEに送信されます。GAEではgaedirectのエンジンがChannel APIによって送信情報を受け取り、即座にサーバプッシュ形式で、受信者(親族や救援団体など)のPCおよびスマートフォンにメッセージを送信し、画面上に動的に表示させます。また、送信者からGAEに送られた位置情報などは、同時にデータストア(Bigtable)に自動登録させることもできます。
3月の大津波のあとも、遭難者を捜索することは本当に大変なことだったと思います。また、冬山の遭難などでも同様ですが、遭難者がスマートフォンさえ所持していれば救出される確率も大きく高くなるはずです。