BT

Google App Engine アプリケーション用の便利な小物たち

| 作者: Abel Avram フォローする 10 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2010年4月14日. 推定読書時間: 3 分 |

原文(投稿日:2010/04/08)へのリンク

Google App Engine 用に書かれたアプリケーションを支援する,最新のフレームワークとツールをいくつか紹介しよう。SimpleDSObjectify という2つの永続化フレームワーク,JUnit ランナの Kotori,ケーススタディ GWT アプリケーション Apple Guice,そして Android デバイスのための GAE モニタリングアプリケーション Engine Watch だ。

SimpleDS

SimpleDS はアプリケーションデータを GAE のデータベースに透過的に保存する,Java アプリケーションのための永続化フレームワークだ。ただし本格的なフレームワークというよりは,データストア API のラッパと考えた方がよいだろう。GAE には JDOJPA という2つの永続化ソリューションがすでにあるのに,さらにフレームワークが必要なのか,と疑問に思うかもしれない。プロジェクトオーナは次のように説明している。

  • データストアAPIはマップ形式の構造の永続化を直接提供しているため,インターフェースレベルが低すぎる。
  • JDO と JPA の API は単純な処理に対しては複雑すぎる。また,リレーショナルデータベースを前提に設計された,数多くの外部チェックが,パフォーマンスを損ねている。

Objectify

もうひとつの永続化フレームワーク Objectify は,型付オブジェクト(typed object)保存をサポートすることによって,JDO の欠点を補おうというものだ。機能のいくつかを紹介しよう。

  • Objectify は,バッチ操作やクエリ,エンティティグループ,インデックス付けされないプロパティ(unindexed property)など,データストアがネイティブに持っている機能をすべて公開する。
  • Objectify はJava の generics を利用して,タイプセーフなキーとクエリのクラスを提供する。
  • Objectify はアプリケーションのコールドスタート時間に影響を与えない。最大でも数ミリ秒である。
  • Objectify はデータを memcache へ自動的にキャッシュして,読み込みパフォーマンスを向上する。
  • Objectify エンティティは Data Transfer Object を使わずにGWTで使用可能である。

Kotori

Kotori は GAE 上にデプロイされたアプリケーションをテストするための JUnit ランナである。JUnit 3 および 4 のテストケースをサポートするが,30秒以内で完了する短いテストケースのみ実行可能,など制限事項がある。

Apple Guice

Apple Guice は,Guice 依存性注入フレームワーク (dependency injection framework) に基づいた GAE 用 Google Web Toolkit (GWT) アプリケーションの,サーバ及び GWT INjection (GIN) におけるケーススタディである。またクライアントにおいては,Guice 上に構築された新たなDIフレームワークでもある。さらに Apple Guice は,次のパターンの実装例である : GWT Presenter に基づく Model-View-Presenter パターン,GWT Dispatch による Command パターン,そして Sharded Counter パターン。

Engine Watch

Engine Watch は Android モバイルフォンから GAE 利用状況をチェックするためのフリーのモニタリングアプリケーションであり,次のような統計データを確認することができる: CPU 時間,リクエスト数,送信データ量,受信データ量,セキュア要求(Sequre request) その他。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT