SpringSource+GWTでバックエンド、フロントエンドともJavaで

GoogleとVMwareが協業!? AppEngineでエンプラ市場に照準

2010/05/20

 5月20日に開幕したGoogle I/O。HTML5のvideoタグで使えるVP8コーデックのオープン化やHTML5関連でホットな話題が続いたが、エンタープライズ方面でも注目すべき発表があった。基調講演に登壇したのは、意外なことに、ヴイエムウェアのプレジデント兼CEOのポール・マリッツ(Paul Mariz)氏だ。

 グーグルはヴイエムウェアとの協業を発表し、フレームワークやパフォーマンス解析ツールなど開発環境の統合のほか、アプリケーションのデプロイ先という面でも共通化を進めることで、ポータビリティを高めていくという。

SQLもサポートへ

maritz.jpg ヴイエムウェアのプレジデント兼CEOのポール・マリッツ氏

 PaaSサービスとして注目されたGoogle App Engine(GAE)だが、スケーラビリティを意識したソーシャルサービスでの採用で成功事例があるものの、これまで企業ユーザーが業務アプリケーションをホスト先として選ぶことは少なかった。エンジニアリング・ディレクターのデビッド・グレーザー(David Glazer)氏は企業ユーザーがクラウドに移行しづらかった問題の原因は4つあると分析する。

  • GAEのような新技術を使って開発を行うには時間がかかる
  • 社員は今や、モバイルデバイスなどを使いどこでも仕事をするようになった
  • ある技術を選択してしまうと、その後もその技術によって制限を受けてしまう
  • 管理すべきアプリケーションの数が多すぎる

 これらの問題に対処したのが「Google App Engine for Business」だという。

 1つ目の新技術を使った開発に時間がかかるという点については、ヴイエムウェアが買収したSpringSourceをバックエンド側に使い、フロントエンドをGoogle Web Toolkit(GWT)でつなぐことでJavaを使った一貫性のある開発を行えるようにすることが1つの解決策だ。もう1つ、これまでBigTableベースのストレージしか用意していなかったところ、SQLベースのDBにも対応する。

 ヴイエムウェアのマリッツ氏は「クラウドにとってのOSとは何か。それは拡張されたフレームワークだ」と話し、SpringSourceというシンプルでライトウェイトなフレームワークと、Ajaxを取り入れたリッチなUIを備えたWebアプリが開発できるGWTの組み合わせにより、「フロントエンド(GWT)からバックエンド(SpringSource)まで完全なソリューションとなる」という。

roo_gae.jpg SpringSourceのフレームワーク「Roo」とグーグルのフロントエンド向けJava/JavaScriptフレームワーク「GWT」の双方をGAEで使えるようになるという

 デモンストレーションではSpringSourceのフレームワーク「Roo」を使い、簡単な経費精算のアプリケーションがキーの200タイプ程度で完成する様子を披露した。RooではRuby on Railsのような、scaffoldingで、簡単なテーブルを使ったWebアプリケーションを1行のコマンドで作成できる。テーブルにカラムを足すのも、Javaのソースコードに1行足すだけと、手軽なように見える。

 GWT 2.1にはWidgetライブラリが含まれ、モバイルデバイスにも対応できるという。デモンストレーションではAndroidとiPadを使って、先に作成した経費精算のアプリケーションが使えることを示してみせた。デモはiPad側が経費を承認する上司という設定で、Android側から申請した150ドルという法外な食事費が即座にiPadで却下され、それがほぼリアルタイムでAndroid側に反映されるというものだった。

exp-app.jpg RooとGWTで作った経費精算アプリケーション。コマンドを少し叩くだけで、簡易なWebアプリケーションを生成できるという
demo01.jpg GWTはもともと異なるブラウザごとに最適なJavaScriptコードを生成するライブラリだが、GWT 2.1はWidgetライブラリを備え、同じアプリケーションがAndroidやiPadでも動くという
speedracer.jpg フロントエンド側のパフォーマンスを計測するSpeed Tracerを使って、サーバ側のパフォーマンス情報を得ることができるという

 GWTにはSpeed Tracer、SpringSourceにはSpring Insightと呼ばれるパフォーマンス計測ツールが付属するが、今後は両者を連携して使うことができるようになるという。デモでは、フロントエンドのSpeed Tracer側から、どのようなSQLが発行されているかというSpring Insight側の情報を表示する様子を示していた。

 数が増えがちな業務アプリケーションのホスティングというユースケースを想定して、管理者用の管理コンソール「Admin Console」も新たにGAEに追加。管理者であれば、すべてのアプリを一覧できるほか、どの開発者がどのアプリに対して、閲覧・変更の権限があるかをチェック、変更できるようになったという。

 従量課金のため、利用前に合計利用料が算定しづらかった問題に対しては、アプリケーション単位で上限を設けた課金も提供する。1アプリ/1ユーザー当たり月額8ドルで、1アプリ当たりの上限を1000ドルとした。「多くのCIOと話をしましたが、予算の6割は単にアプリを運用し続けるコストと判明しました。GAEなら、アプリを使わなければ一銭も払う必要がありません」(Glazer氏)

price.jpg 新しく追加される料金体系

 AWSのようなIaaSと異なり、独自APIを開発に使うものが多いPaaSでは、企業はロックインを心配することになる。BigTableよりもSQLが望まれたというのも、使い慣れたモデルであることと同時に、アプリケーションのポータビリティを考えれば企業ユーザーにとって必然とも言える。この点についてGAEでは、Eclipseからボタンでデプロイ先としてGAEもしくはvSphereを選べるようになる。クラウド間のアプリのポータビリティについては「google.com/cloudportability」で情報提供していくという。

(@IT 西村賢)

情報をお寄せください:

Java Agile フォーラム 新着記事

キャリアアップ

- PR -

注目のテーマ

- PR -
ソリューションFLASH

「ITmedia マーケティング」新着記事

3万円で始めるウェビナー 配信ツールをどう選ぶ?
まずはスモールスタートで。今回は、ウェビナーを実施するための体制や必要な環境につい...

有料化直後のドラッグストアでは「レジ袋購入しない人」が約8割――True Data調べ
2020年7月1日からレジ袋を有料化したドラッグストアの実購買データを調査。

B2BサービスサイトにおけるCVの58%はトップページからの直行――WACUL調査
CV(コンバージョン)を目的としたWebサイトの改善に必要な施策とは何か。4つのデータに...