Flex/AIR×GAE/J 開発tips

2,404 views

Published on

Published in: Technology, Sports
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,404
On SlideShare
0
From Embeds
0
Number of Embeds
103
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Flex/AIR×GAE/J 開発tips

  1. 1. Flex/AIR×GAE/J 開発 tips スティルハウス 佐藤一憲
  2. 2. 自己紹介 <ul><li>スティルハウス 佐藤一憲 </li></ul><ul><ul><li>http://www.sth.co.jp/ </li></ul></ul><ul><ul><li>Adobe Flex/AIR 、 Rails 、 Java 開発 </li></ul></ul><ul><ul><ul><li>AIR による大容量ファイル転送サービス </li></ul></ul></ul><ul><ul><ul><li>AIR によるコラボレーションツール </li></ul></ul></ul><ul><ul><li>テクニカルライティング </li></ul></ul><ul><ul><ul><li>ペンネーム吉川和巳 </li></ul></ul></ul><ul><ul><ul><li>@IT や ITpro など </li></ul></ul></ul><ul><ul><li>セミナー講師 </li></ul></ul><ul><ul><ul><li>Adobe 認定 AIR インストラクター( m-school ) </li></ul></ul></ul>
  3. 3. アジェンダ <ul><li>Flex/AIR+GAE/J 事例 </li></ul><ul><li>GAE/J はここがすごい </li></ul><ul><li>Flex/AIR+GAE/J の開発 tips </li></ul>
  4. 4. Flex/AIR+GAE/J 事例デモ
  5. 5. ご都合 .com <ul><li>ご都合 .com </li></ul><ul><ul><li>予定共有ツール </li></ul></ul><ul><ul><li>会議・飲み会に </li></ul></ul><ul><ul><li>無償・登録不要 </li></ul></ul><ul><li>特徴 </li></ul><ul><ul><li>Flex クライアント </li></ul></ul><ul><ul><li>BlazeDS 通信 </li></ul></ul><ul><ul><li>GAE/J サーバ </li></ul></ul><ul><ul><li>開発期間 5 日 </li></ul></ul>
  6. 6. GAE/J は ここがすごい!
  7. 7. GAE/J とは <ul><li>Google App Engine for Java </li></ul><ul><ul><li>自分のアプリを Google インフラで運用 </li></ul></ul><ul><ul><li>クラウドコンピューティングサービス </li></ul></ul><ul><li>GAE/J のすごいところ </li></ul><ul><ul><li>無償で使える </li></ul></ul><ul><ul><li>Bigtable が簡単に使える </li></ul></ul><ul><ul><li>サーバ構築不要、デプロイ簡単 </li></ul></ul>
  8. 8. 無償で使える <ul><li>無償で使える </li></ul>400 万件で 月額 $4 ! $0.0001 / 1 件 2000 件/ 1 日 メール受信件数 $0.10 / 1 時間 6.5 時間/ 1 日 CPU 時間 $0.12 / 1GB 10GB / 1 日 ネットワーク帯域(下り) $0.10 / 1GB 10GB / 1 日 ネットワーク帯域(上り) $0.005 / 1GB×1 日 1GB ストレージ容量 有償提供分の単価 無償提供分
  9. 9. Bigtable が簡単に使える <ul><li>Bigtable って? </li></ul><ul><ul><li>Google の「虎の子」の巨大分散 DB </li></ul></ul><ul><ul><ul><li>Google 検索、 YouTube 、 Map 、 Analytics </li></ul></ul></ul><ul><ul><ul><li>RDB ではなく、 key-value 型データストア </li></ul></ul></ul><ul><ul><ul><li>鬼のような スケーラビリティと可用性 </li></ul></ul></ul><ul><ul><ul><ul><li>自分でつくると数千万円くらいかかるよ </li></ul></ul></ul></ul><ul><li>Bigtable がタダで使えると… </li></ul><ul><ul><li>大規模サービスでも苦労しなさそう </li></ul></ul><ul><ul><li>キャンペーンサイト とか最適 </li></ul></ul><ul><ul><ul><li>短期間だけどメディアで紹介、等 </li></ul></ul></ul>
  10. 10. Bigtable のスケーラビリティ <ul><li>ホワイトハウス“ Open For Questions” </li></ul>
  11. 11. サーバ構築不要、デプロイ簡単 <ul><li>GAE/J の実行環境 </li></ul><ul><ul><li>Amazon EC2 のような VM ではない </li></ul></ul><ul><ul><li>JBoss/Tomcat のような実行環境 </li></ul></ul>
  12. 12. サーバ構築不要、デプロイ簡単 <ul><li>GAE/J の開発 </li></ul><ul><ul><li>Eclipse プラグインでローカル開発 </li></ul></ul><ul><ul><li>クリック 1 つでデプロイ </li></ul></ul><ul><li>メリットとデメリット </li></ul><ul><ul><li>サーバー構築不要、 LL 感覚でデプロイ </li></ul></ul><ul><ul><li>でも「サンドボックス」の制約あり </li></ul></ul>
  13. 13. Flex/AIR+GAE/J の開発 tips
  14. 14. BlazeDS と GAE/J <ul><li>GAE/J でも AMF 通信したい </li></ul><ul><ul><li>RemoteObject はラク </li></ul></ul><ul><li>GAE/J に BlazeDS を載せる </li></ul><ul><ul><li>blazeds.war の中身を WEB-INF に配置 </li></ul></ul><ul><ul><li>でもこのままではエラーがでます </li></ul></ul>
  15. 15. BlazeDS を動かすには… <ul><li>Martin 氏のブログを見よ! </li></ul><ul><ul><li>http://martinzoldano.blogspot.com/2009/04/appengine-adobe-blazeds-fix.html </li></ul></ul><ul><ul><li>Martin さんありがとう!! </li></ul></ul><ul><li>BlazeDS ソースのビルドが必要 </li></ul><ul><ul><li>まずは BlazeDS をビルドする環境を用意 </li></ul></ul><ul><li>要点 </li></ul><ul><ul><li>JMX API の管理機能はオフに </li></ul></ul><ul><ul><li>AbstractAmfInput.java を修正 </li></ul></ul><ul><ul><li>BaseHTTPEndpoint.java を修正 </li></ul></ul><ul><li>Adobe ADC にも記事掲載 </li></ul>
  16. 16. Smalltable とは <ul><li>Bigtable に足りない点 </li></ul><ul><ul><li>RDB じゃないので使いにくい </li></ul></ul><ul><ul><ul><li>やっぱり join したい… LIKE も欲しい… </li></ul></ul></ul><ul><li>Smalltable とは </li></ul><ul><ul><li>リアルタイム DB 同期フレームワーク </li></ul></ul><ul><ul><li>クライアント側 SQLite と Bigtable を同期 </li></ul></ul><ul><ul><ul><li>AIR は実装済み </li></ul></ul></ul><ul><ul><ul><li>Ajax 、 iPhone もやりたい </li></ul></ul></ul>
  17. 17. Smalltable のメリット <ul><li>Bigtable + Smalltable のメリット </li></ul><ul><ul><li>クライアント側では SQL を使える </li></ul></ul><ul><ul><ul><li>AIR/Ajax/iPhone の違いを ORM で吸収 </li></ul></ul></ul><ul><ul><ul><li>Bigtable はデータストアに徹する </li></ul></ul></ul><ul><ul><li>オフライン対応 </li></ul></ul><ul><ul><ul><li>ローカル DB 紛失時もサーバでバックアップ </li></ul></ul></ul><ul><ul><li>バックグラウンドでリアルタイム同期 </li></ul></ul><ul><ul><ul><li>サーバレスポンスを待つ必要なし </li></ul></ul></ul><ul><ul><ul><li>Word や Excel の使い勝手+オンラインアプリの即時性 </li></ul></ul></ul>
  18. 18. そのほかの tips <ul><li>レガシーデータの移行は大変! </li></ul><ul><ul><li>2 週間くらいかかった。専用ツール要 </li></ul></ul><ul><li>いろいろ制約あり </li></ul><ul><ul><li>ACID 保証は苦手 </li></ul></ul><ul><ul><li>なんでも 30 秒以内に終わらせよ </li></ul></ul><ul><li>Task Queue はすごい </li></ul><ul><ul><li>MapReduce 的並列処理が可能 </li></ul></ul>
  19. 19. ありがとうございました

×