Google App Engine for Javaがサポート開始

「今度はホントの話です」で始まった今回の発表は、「FORTRANをサポートした」というエイプリルフールのジョークにたいして選んだ言葉。

以前からの噂であったとおり、GAEでのJavaサポートとそのほかの機能追加についてテストサポートが開始されました。とりあえず、ひととおりの機能については、Google App Engineのドキュメント「Getting StartedのJava版」をみると英語の苦手な僕でもコードがたくさんあるので分りやすかったです。

ServletとJSPでWebアプリケーションを作れるのはとても魅力的。Javaをサーバで動かして公開となると、結構な金額を払わなければできなかっただけに、このプラットフォームはJava開発者に朗報です。

ちょっと興奮気味で、まだよく読み切れていないのですが、

  • Webコンテナ上で動くServletやJSPを作成可能(普通のJava Webアプリの作成と同様)
  • Python版にあるようなGoogle用API群(Memcache, URL Fetch, Mail, Images, Google Accounts)は同様にAPIとして提供。
  • Python版でのDataStoreみたいのは、JDOかJPAを使って利用可能。

sandboxとして、

  • ファイルシステムのアクセス禁止(Datastore使え)
  • ソケットの利用禁止(URLFetch使え)
  • サブプロセス起動やスレッド生成ダメ
  • カスタムクラスのローディングOK(JARライブラリ組込可)

とあり、Python版みたいに「フレームワークが提供され、その上で動くアプリを作る」のかと思いきや、生のServletのコードが使えるようです。(Java EEのWebコンテナというフレームワーク上で動くという意味では同じですが。)かなり自由度が高いと思います。

ファイルシステムアクセスはだめなので、テンプレートファイルを読み込むようなWebフレームワークはダメでしょう。ただクラスパス内においてリソースとして読み込むやり方ならOKです。
(Wicketはキャッシュみたいなの作ったと思うからダメ?Strutsならいける?だめかstruts-config.xmlが読めない…

※2009/04/09追記:struts-configなどの設定リソースファイルは読み込みだけなので、appengine-web.xmlに記述を加えれば使えました。struts(1.x系)もexample程度ならば動作確認できました。

ログ出力はファイルIOがだめなんですが、java.util.loggingを使っているんであればGAE管理下でログ出力可能。

そのほかに、Eclipseのプラグインが用意されていて、プロジェクトの作成や起動を支援してくれる。あとJava版とは関係ないかもしれないが、cronの仕組みも提供されていて定期実行なども実装可能。cron機能も自前サーバーじゃないとなかなか連続した設定はできなかったので、bot作成などに

サーバサイドのエンタープライズ向けだとJavaがよく使われていますが、そういうのをGAEに乗っけるってのもすぐ出きそう。加えてされをSaaS的に提供するのも増えてきそう。

Eclipseプラグインは、ダウンロードに出遅れたせいか、なかなかダウンロード出来なかった。なんどかキャンセルしてやり直して、なんとかダウンロードできました。


コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)