normalian blog

Let's talk about Microsoft Azure, ASP.NET and Java!

Google App Engine on Wicket絡みの会話がいろいろ面白かった件について

私が主に学習しているのはWindows Azureだが、同じPaaSの対抗馬としてはGoogle App Engine(GAE)が著名だ(このブログを見ている方々でGAEを知らない方など居ないと思うが…)。私も学習しようと思いつつなかなか手を動かせずにいたのだが、twitter上で仲良くさせて頂いている @m_seko氏がGAEでWicketを動かそうとして色々と検討されていた。
私と@m_sekoさんの会話に対し、@t_yanoさんが指摘して頂いた点「リクエストのたびにフレームワーク全体が起動しなおしたとしても効果的に動作するってことが求められるように思います。既存のFWはそういう環境を想定してないですし」が非常に興味深かった。
GAEだけでなくWindows Azureも既存FWを移行することは可能だ。しかし、「従来のAPサーバ上での動作」と「クラウド上での動作」はアーキテクチャが異なるため、「動作する」事は可能だが「効率的に動く」事は難しい(Windows Azureにおけるアーキテクチャについては、id:waritohutsu:20100504:1272958268のスライドを一読して頂きたい)。
ちょっとGAEにも興味が沸いたので、異なるPaaSを学ぶという意味でもちょっと学習してみようかと思ったり・・・。

Wicket on GAEに関するまとめ

Wicket on GAEに関しては、Wicket本で有名な矢野氏が動作実績をブログにまとめている。@m_seko氏は矢野氏の記事を元にWicket on GAEの動作を試みた模様。両氏のブログを載せる。

@t_yano氏@m_seko氏 @normalian(私) の会話

  • @m_seko: @normalian CodeZineに以前載っていた記事ぐらいのことをするのは簡単だったのですが、「Wicketの公式サンプルを動かそう」としたら難易度が上がりました。自分で書いたアプリを動かそうとしたほうが簡単だった予感…。
  • @m_seko: @normalian @t_yano さんが動かしたという実績があるのを知ってるからこそやってみたのではありますが、これがなかなか。まあ、Wicketと関係ないところでハマってる感じがいっぱいです。
  • @normalian: @m_seko 先輩がJavaEE6をAppEngineで動かそうとしてはまってました(最終的に動かせた様です)。APサーバの実装依存に絡みそうなところでハマると、帰ってこれない事が多すぎて怖いです…。Wicket on AppEngineは @t_yano さんが実績ある様です
  • @t_yano: @m_seko @normalian 「動く」というのと「効果的に動く」のとは違っていて、現状、既存の多くのWebフレームワークをAppEngineで使うのってAppEngineの利点を生かしきれない気がします。Wicketも含めて。
  • @t_yano: @normalian @m_seko AppEngineでは、いってみれば、リクエストのたびにフレームワーク全体が起動しなおしたとしても効果的に動作するってことが求められるように思います。既存のFWはそういう環境を想定してないですし。
  • @t_yano: @m_seko @normalian 私は、Wicketのような既存FWを使う場合は、フロントエンドとバックエンドを分けて、バックの計算処理でAppengineを使うようにするのがいいと思います。
  • @m_seko: @t_yano @normalian 本格的に使う予定があるわけではないのですが、googleAppEngineのアーキテクチャを理解を理解せずにメリットが得られるほど、googleAppEngineは甘くなさそうですね…。
  • @normalian: GAEが「リクエスト毎にFW全体を起動し直しても効果的に動作する事が求められる」ってのはもちろん知らなかった。「フロントとバックを分けて、バックの処理でGAEを使う」とかは、AzureのWebロール・Workerロールを連想した。が、きっとまだ知らないことが多々ある
  • @normalian: @m_seko ざーしずのプロバイダ使ってるから落ちてるっぽいですね…。確かに、プロパティファイルの変更かざーしずのjarを入れると動きそうな予感…
  • @m_seko: @normalian 「素直に一から作ったプロジェクトだとxercesが見つからないとか言われないないのになぁ」と思うと謎なんですよね。Jetty側でこけてるっぽいことと併せて考えると、環境の問題っぽいのですが、「ううーん」という感じです。