未分類

2012年6月18日 at 2:58 AM

無料でJavaサーブレット実行環境を手に入れる ~ Google App Engine(GAE)とは

Googleが提供しているクラウド・コンピューティングの開発&実行環境です。

参考)ASAHI NET Google App Engine

ダウンロード:Google App Developers

 

自前のサーバを用意する必要がなく(サーバーのメンテナンス不要)、Googleのサーバー基盤を利用してサービスの提供ができます。開発キットの提供や公開したアプリケーションの管理画面も提供されています。セキュリティ・ポリシーの観点からデータを外部におくことに抵抗がある会社も良くみかけますが、
多数のサーバを分散し管理している実績のあるGoogle のデータセンターにデータを預けておいた方がセキュリティ(またはリスク軽減)の面で安全だとも考えられます。また専用の基盤担当者を設けるコストも減るでしょう。

大まかな開発の流れは、ローカルのPC上でGoogle App Engine(GAE)用のWebアプリを開発・テストし、それをGoogleのサーバー基盤にアップロードすると、インターネットからそのWebアプリを実行(ブラウザーで表示)できるようになります。開発言語にはPythonかJavaを使用します。動的なコンテンツだけでなく、HTML等、静的なコンテンツも配置でき、また独自ドメインの割り当ても可能ですので、無料(制限付)レンタルサーバーとして利用することもできます。

 

GAEは上記のように魅力的なインフラではありますが、MySQL、PostgreSQL、Oracleなどといった一般的なSQLデータベースを利用することはできません。代わりにGAE独自のデータストアへデータを読み書きします。

このGAEデータストアへのアクセスには専用のJava APIを使用し行いますが、一般的なSQLと比べ流儀が違うことから少々難易度も高く、データのフィルタリング、並び替え、集計といった基本的な操作もやや苦労することになると思われます。

◆特徴

・RDBではなく、データストアに対して登録・参照・更新・削除処理を行う
・cronによる定期処理が可能
・メール送信機能、メモリキャッシュ、画像処理、URLフェッチなどのサービスを使える
・eclipse+専用Pluginで開発
・制限事項の範囲内であれば無料で使える

◆制限事項

・レスポンス時間は30秒以内(それ以降は強制終了)
・1つのアカウントで登録できるのは最大10アプリケーション
・アプリケーションの開発言語は Python または Java のみ
・利用可能な永続性ストレージは無料使用の場合最大500MB
・無料使用の場合想定限界アクセス量は月間500万ページビュー程度
・ファイルの書き込み処理ができない(読み込みはOK)
・ソケット通信ができない
・プロセスやスレッドの生成ができない
・JNIによる他言語コードの呼び出しができない
・GUI関連API(AWT,Swing)が使えない
・ログ出力は java.util.logging.Logger のみ使える
・開発は Java5 以上。、ただし動作の保証は Java6 以上

◆データストアの制限事項

・1回のクエリで取得できるのは最大1000件
・エンティティの最大サイズは1MB
・クエリで複数の不等式を使えない( NGな例:A > 10 AND B < 5 )

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



こちらの関連記事もオススメ!