2010年3月11日木曜日

Google App Engine(GAE)の調査 その2

実行できるWebアプリケーション数

https://appengine.google.com/ から、10個まで登録可能。


Using JSPsを読んでみる(link)

基本的な jsp と servlet の使い方で、特筆すべきことは特にないが、GAE 依存情報として、war/WEB-INF/appengine-web.xml にシステムプロパティを設定する例が示されている。(java.util.logging がサンプル)

しかし、このドキュメントの説明だけでは、本番環境でどのようにログを見ればよいのかわかりまてん。

ドキュメントの Logging の章を参考にして、以下を実行して正常動作することを確認しました。
  • Administration Console から確認
    •  実際にサーバ上で試したところ、AdminConsole の Main の Logs の項目に表示されました。
  • appcfg.sh request_logs を使用してダウンロード
    • eclipse\plugins\com.google.appengine.eclipse.sdkbundle.1.3.1_1.3.1.v201002101412\appengine-java-sdk-1.3.1\bin にパスを通す。
    • java にパスを通す。
    • ワークスペース直下をカレントディレクトリに指定。
    • appcfg.cmd --severity=0 request_logs Guestbook\war guestbook_log.txt を実行。
appcfg.sh request_logs は、--severity 指定なしだとアクセスログで、指定するとそのレベルのログが出るようです。また、デフォルトでは UTC時刻で当日分だけになるので、必要があれば -n NUM_DAYS にて日数を指定します。


Using the Datastore with JDOを読んでみる(リンク)

言われたとおりにやればOK。JDO での読み書きと簡単な JDOQL を一通り試せました。

しかし、こんな感じでデータ作りまくると、ゴミ掃除とかどうすんだろ?プログラム組むのかな?普通にRDB使うときのように、複数のDB(Oracleならスキーマ)を用いたり、アドホックにデータを参照したりしたくなるよね。なんかいいフロントエンドあるのかな?

それらしいドキュメントは一見なさそうに見える。ググっても同様。
まぁ、とりあえず先に進もう。


Using Static Files を読んでみる(リンク

GAEでは、デフォルトで war 配下のファイルは、 JSP と WEB-INF 配下のファイル以外は静的ファイルとして扱われるようになっていますが、効率のため servlet を呼び出すサーバとは別サーバに静的ファイルを置く方法も提供しているとのことです。

実際に hoge.txt を war 直下に置いてデプロイしてみましたが、問題なくアクセスできました。

ちなみに、パスが servlet や filter マッピングにマッチしても、静的ファイルは直接ブラウザに返されるとのこと。

どのファイルを静的ファイルとして扱うかは、appengine-web.xmlによって設定できるとのこと。(Java Application Configurationにて説明されている)

ということで、CSS を適用するサンプルがあるので試してみる。ちなみに、このサンプルでは、appengine-web.xml は変更しない。

実際に実行してみた。問題なし。


Uploading Your Application を読んでみる(リンク

既に試したことがあるので読み飛ばそうとも思ったが、一通り読むだけ読んでみた。

読んどいてよかったw
以下のような記述があった。
Note: Once you register an application ID, you can delete it, but you can't re-register that same application ID after it has been deleted. You can skip these next steps if you don't want to register an ID at this time.
application ID を削除すると二度と同じIDを使えないということなので、application ID の作成と削除はかなり慎重に行ったほうがよさそうです。

ということで、Getting Started: Java 完了!

0 件のコメント:

コメントを投稿