連載
» 2009年06月04日 00時00分 公開

インタビュー特集:Google直伝!(4):Google App Engineの3つの「簡単」コンセプトとは (1/2)

発表から一年。バージョンアップされたGoogle App Engineでは、どんなアプリケーションが作れるのか?GAEの新たな可能性を聞いた

[立薗理彦, 佐藤真琴,ナターシャ]

1年で大幅にバージョンアップされたGoogle App Engine

 2008年4月に発表されて一年。Google App Engineは対応言語としてPythonだけでなく新たにJavaを加え、大幅なバージョンアップにより企業向けのアプリケーションも開発できる可能性が見えてきた。

 バージョンアップしたGoogle App Engineではどんなアプリケーションが作れるのか? グーグルの担当者にサービスについて話を聞くインタビュー特集の第4回は、グーグル ソフトウェアエンジニアの鵜飼 文敏さんと本多 正明さんにバージョンアップやJava対応の経緯など、Google App Engineの新たな可能性を聞いた。

 Google App EngineはGoogleのインフラの上でデベロッパが開発したアプリケーションを動かしてもらうためのプラットフォームで、「簡単に作れる」「簡単にメンテナンスできる」「簡単にスケールする」の3つがコンセプトとなっているという。以下に、それぞれを説明しよう。

コンセプト【1】「簡単に作れる」

 Google App Engineで動かすためのWebアプリケーションは、Python、そして今回新しく対応したJavaのように、標準的なWebテクノロジー(Python/WSGI、Javaサーブレット)を使って書けるようになっている。

GWTとの連携

 また、Javaに対応することでGoogle Web Toolkitと連携し、動的インターフェイスとサーバ側の実装の両方を、すべてJava言語で書くこともできる。Google Web ToolkitはJavaで書いたコードからJavaScript/Ajaxのアプリケーションを生成してくれるもので、Google App Engineと併用することで、1つの言語でサーバサイド・フロントエンド両方の実装ができるようになった。

JavaRuntimeと各種API、cronのサポートで広がる幅

 2008年4月7日に発表された段階では、動的なデータを管理するために必要なデータストアAPI、Googleアカウント認証API、外部のWebページを取ってくるURL Fetch API、メールAPI、など基本的なWebアプリケーションを作るために必要なAPIのみが提供されていた。また、「Webアプリケーションのプラットフォーム」としてサービスを始めたので、「ユーザーからのHTTPリクエストがあって動くもの」が前提だったという。

「後にイメージ操作API、Memcache APIを追加してより効率の良いアプリケーションが作れるようになり、そして今回、最初の発表からちょうど一年のタイミングでJava Runtimeがローンチされ、PythonだけなくJavaでアプリケーションを作ってデプロイして動かすことができるようになりました。同時に、Java VMが動くのでJava VMで動くほかの言語も実質動くことになりました。実際にRubyで書いているデベロッパもいますよ」(鵜飼さん)

グーグル ソフトウェアエンジニアの鵜飼 文敏さん グーグル ソフトウェアエンジニアの鵜飼 文敏さん

「cronのサポートも開始し、デイリーでユーザーに何か送りたいというようないわゆるバッチ的な処理にも対応し、アラート通知やランキングの更新などアプリケーションにより多様な機能を追加することができるようになりました」(鵜飼さん)

イントラネットのデータにもセキュアにアクセス

 また、GoogleガジェットやGoogle Appsで使われていた、ユーザーのイントラネットデータにアクセスする「セキュアデータコネクター」にも対応し、デベロッパが作ったApp Engineで動いているアプリケーションからユーザーのイントラネットにアクセスする仕組みも実装された。

コンセプト【2】「簡単にメンテナンスできる」

 Google App Engineはアプリケーションのメンテナンスも非常に容易だという。EclipseにGoogle App Engine for Java、Google Web Toolkitのプラグイン「Google Plugin for Eclipse」をインストールすれば、簡単にローカル環境で動作確認もできるし、同じく簡単にデプロイできるとのことだ。以下に、その手順を説明しよう。

 SDKにはいくつかのサンプルプログラムが含まれていますが、今回はその中でGWTを使用してインタラクティブなユーザーインターフェイスを実現しているTaskEngineというプログラムを紹介します。

「Google Plugin for Eclipse」をインストールしてサンプルを実行してみる

1.Eclipseをインストール

2.[Help]→[Software Update]→[Software Updates and Add-ons]で、下記URLを指定してGoogle Plugin for Eclipseをインストール

[Software Updates and Add-ons]で指定するURL [Software Updates and Add-ons]で指定するURL

 これだけで完了。すでにEclipseを使っているのであれば、プラグインをインストールするだけでよい。後はボタンを1つ押せば、開発を始められる。

3.プロジェクトのスケルトン作成(メニューバーの青い「g」ボタンをクリック)

プロジェクトの作成 プロジェクトの作成

 GWTを利用して開発する場合は、GWTオプションにチェックを入れる。

 続けて、「TaskEngine」というサンプルプログラムを実行する手順。

4.Google App Engine for JavaのSDKの中にあるTaskEngineデモのディレクトリの中身を作成したスケルトンのプロジェクトにコピーして、[F5]キーでプロジェクトを更新

プロジェクトにコピー プロジェクトにコピー

5.GWT Incubatorをダウンロードして、ファイル名をgwt-incubator.jarに変更

GWT Incubatorをダウンロード GWT Incubatorをダウンロード

6.build.xmlを開いて、appengine.java.sdkincubator.dirを環境に合わせて変更

7.build-gwt.xmlを開いて、 「gwt.version」をGWTのバージョンを環境に合わせて変更(2009年5月のインタビュー時点では、1.6.4)

「gwt.version」を環境に合わせて変更 「gwt.version」を環境に合わせて変更

8.build-gwt.xmlの中ほどにある「gwt.destdir」を環境に合わせて変更(gwt-[windows|mac]-1.6.4は含まない)

「gwt.destdir」を環境に合わせて変更 「gwt.destdir」を環境に合わせて変更

9.プロジェクトの[プロパティ]で[Java Build Path]の[Libraries]に手順5のgwt-incubator.jarを追加

10.「GWT Compile Project」赤い「G」のアイコンをクリックしてコンパイル

11.build.xmlを開いた状態で実行ボタン(緑の丸、三角矢印)の横のオプションメニューから「Ant Build...」を選択して実行の設定を追加する「compile」のチェックを外して「runserver」をチェックして実行

12.Webブラウザで「http://localhost:8080/」を開いて、確認

TaskEngineデモのログイン TaskEngineデモのログイン
TaskEngineデモ TaskEngineデモ

 ローカルでの実行手順は以上。デプロイする場合も、Eclipseの「Deploy App Engine Project」ボタン1つでOKという設計になっている。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。