Flex/AIR×GAE/J開発tips

19
Flex/AIR×GAE/J 開開 tips 開開開開開開開 開開

description

 

Transcript of Flex/AIR×GAE/J開発tips

Page 1: Flex/AIR×GAE/J開発tips

Flex/AIR×GAE/J開発 tips

スティルハウス佐藤一憲

Page 2: Flex/AIR×GAE/J開発tips

自己紹介

• スティルハウス 佐藤一憲– http://www.sth.co.jp/– Adobe Flex/AIR、 Rails、 Java開発

• AIRによる大容量ファイル転送サービス• AIRによるコラボレーションツール

–テクニカルライティング• ペンネーム吉川和巳• @ITや ITproなど

–セミナー講師• Adobe認定 AIRインストラクター(m-

school)

Page 3: Flex/AIR×GAE/J開発tips

アジェンダ

• Flex/AIR+GAE/J事例• GAE/Jはここがすごい• Flex/AIR+GAE/Jの開発 tips

Page 4: Flex/AIR×GAE/J開発tips

Flex/AIR+GAE/J事例デモ

Page 5: Flex/AIR×GAE/J開発tips

ご都合 .com

• ご都合 .com– 予定共有ツール– 会議・飲み会に– 無償・登録不要

• 特徴– Flexクライアント

– BlazeDS通信– GAE/Jサーバ– 開発期間 5日

Page 6: Flex/AIR×GAE/J開発tips

GAE/Jはここがすごい!

Page 7: Flex/AIR×GAE/J開発tips

GAE/Jとは

• Google App Engine for Java–自分のアプリを Googleインフラで運用

–クラウドコンピューティングサービス

• GAE/Jのすごいところ–無償で使える– Bigtableが簡単に使える–サーバ構築不要、デプロイ簡単

Page 8: Flex/AIR×GAE/J開発tips

無償で使える

• 無償で使える無償提供分 有償提供分の単価

ストレージ容量 1GB $0.005/ 1GB×1日

ネットワーク帯域(上り) 10GB/1 日 $0.10/ 1GB

ネットワーク帯域(下り) 10GB/1 日 $0.12/ 1GB

CPU時間 6.5時間/1 日 $0.10/1 時間

メール受信件数 2000件/1 日 $0.0001/1 件

400万件で月額 $4!

Page 9: Flex/AIR×GAE/J開発tips

Bigtableが簡単に使える

• Bigtableって?– Googleの「虎の子」の巨大分散 DB

• Google検索、 YouTube、Map、 Analytics

• RDBではなく、 key-value型データストア• 鬼のようなスケーラビリティと可用性

– 自分でつくると数千万円くらいかかるよ

• Bigtableがタダで使えると…–大規模サービスでも苦労しなさそう–キャンペーンサイトとか最適

• 短期間だけどメディアで紹介、等

Page 10: Flex/AIR×GAE/J開発tips

Bigtableのスケーラビリティ• ホワイトハウス“ Open For

Questions”

Page 11: Flex/AIR×GAE/J開発tips

サーバ構築不要、デプロイ簡単• GAE/Jの実行環境

– Amazon EC2のような VMではない– JBoss/Tomcatのような実行環境

Page 12: Flex/AIR×GAE/J開発tips

サーバ構築不要、デプロイ簡単• GAE/Jの開発

– Eclipseプラグインでローカル開発–クリック 1つでデプロイ

• メリットとデメリット–サーバー構築不要、 LL感覚でデプロイ

–でも「サンドボックス」の制約あり

Page 13: Flex/AIR×GAE/J開発tips

Flex/AIR+GAE/Jの開発 tips

Page 14: Flex/AIR×GAE/J開発tips

BlazeDSと GAE/J

• GAE/Jでも AMF通信したい– RemoteObjectはラク

• GAE/Jに BlazeDSを載せる– blazeds.warの中身をWEB-INFに配置

– でもこのままではエラーがでます

Page 15: Flex/AIR×GAE/J開発tips

BlazeDSを動かすには…

• Martin氏のブログを見よ!– http://martinzoldano.blogspot.com/2009/04/

appengine-adobe-blazeds-fix.html– Martinさんありがとう!!

• BlazeDSソースのビルドが必要– まずは BlazeDSをビルドする環境を用意

• 要点– JMX APIの管理機能はオフに– AbstractAmfInput.javaを修正– BaseHTTPEndpoint.javaを修正

• Adobe ADCにも記事掲載

Page 16: Flex/AIR×GAE/J開発tips

Smalltableとは

• Bigtableに足りない点– RDBじゃないので使いにくい

• やっぱり joinしたい… LIKEも欲しい…

• Smalltableとは–リアルタイム DB同期フレームワーク–クライアント側 SQLiteと Bigtableを同期

• AIRは実装済み• Ajax、 iPhoneもやりたい

Page 17: Flex/AIR×GAE/J開発tips

Smalltableのメリット

• Bigtable+ Smalltableのメリット–クライアント側では SQLを使える

• AIR/Ajax/iPhoneの違いを ORMで吸収• Bigtableはデータストアに徹する

–オフライン対応• ローカル DB紛失時もサーバでバックアップ

–バックグラウンドでリアルタイム同期• サーバレスポンスを待つ必要なし• Wordや Excelの使い勝手+オンラインアプリの即時性

Page 18: Flex/AIR×GAE/J開発tips

そのほかの tips

• レガシーデータの移行は大変!– 2週間くらいかかった。専用ツール要

• いろいろ制約あり– ACID保証は苦手–なんでも 30秒以内に終わらせよ

• Task Queueはすごい– MapReduce 的並列処理が可能

Page 19: Flex/AIR×GAE/J開発tips

ありがとうございました