Google App Engine Java 入門
Upcoming SlideShare
Loading in...5
×
 

Google App Engine Java 入門

on

  • 7,999 views

2009年12月26日の名古屋SGGAE/J勉強会発表資料。

2009年12月26日の名古屋SGGAE/J勉強会発表資料。
2009年のGoogle App Engine Javaを振り返るという趣旨で、入門用資料を構成したが中途半端に。

Statistics

Views

Total Views
7,999
Views on SlideShare
7,865
Embed Views
134

Actions

Likes
2
Downloads
27
Comments
0

2 Embeds 134

http://d.hatena.ne.jp 99
http://www.slideshare.net 35

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Google App Engine Java 入門 Google App Engine Java 入門 Presentation Transcript

  • Google App Engine 入門 -2009年のGoogle App Engine Javaをふりかえる- tantack@名古屋Scala勉強会
  • 自己紹介 id: tantack(hatena,twitter,etc…) お仕事はJavaPG兼SEもどきの2年生 こんなワードに喰いつきます – Java – Scala – Google App Engine Java – Android – 集合知 – 日本酒
  • 勉強会のご紹介 名古屋Scala勉強会 – 毎月第3金曜日あたりに 『Scalaスケーラブル プログラミング』の 読書会をやっています。 通称コップ本→ 名古屋アジャイル勉強会 – 毎月月末の金曜日に、アジャイルをテーマとし たワークショップ形式の勉強会をやっています。
  • 今年、2009年も色々ありましたが・・・
  • 1年間お疲れ様でした!!
  • だが、休暇モードに 入るのはまだ早い!
  • ・・・ということで、 2009年の締めくくりとして 本日はGAE/Jについて 一緒に勉強していきましょう
  • 今日のお話 ざっくりクラウドサービス Google App Engine Java? 2009年のGoogle App Engine Javaをふりかえる
  • ざっくりクラウドサービス
  • ざっくりクラウドサービス 明確な定義はない! クラウド って? ・・・けれども、 『パソコン中心だったデータの保存や 処理を、インターネット上の サーバ群へと移行する流れ』 のことを、今回の発表ではクラウドと呼ぶ。 WEBアプリ PC・モバイル端末 +データ 利用者は場所・アクセスする端末 を選ばず、インターネット上に浮 かぶ雲のような『どこか』にある サーバ群を利用する。
  • ざっくりクラウドサービス SaaS 開発者側の視点からク ラウドサービスを見た場 PaaS 合、3種類のサービ スに分類される IaaS
  • ざっくりクラウドサービス SaaS Software as a Service (ソフトウェア提供サービス) 提供されるソフトウェアのみを 利用できる。 PaaS Gmail twitter Salesforce.com Evernote IaaS
  • ざっくりクラウドサービス SaaS Infrastructure as a Service (インフラ提供サービス) 仮想マシンやストレージの提供。 PaaS 開発者側でOSからミドルウェア まで選択できる。 Amazon EC2/S3 IaaS
  • ざっくりクラウドサービス Platform as a Service SaaS (プラットフォーム提供サービス) ミドルウェア(実行環境、DB等) 含む提供。開発言語は限定され PaaS る。 Google App Engine Windows Azure Force.com IaaS
  • Google App Engine Java?
  • Google App Engine Java? GAE/Jを使うメリット  無料で試せる  サーバの維持コストはゼロ  アプリケーション開発に専念できる
  • Google App Engine Java? 無料で試せる  一定のリソース使用量(Quota)までなら無料  リソース使用の少ないアプリケーションな ら、完全に無料での運用も可能  利用者が増え、Quota制限を超えた(*1)ときだ け、お金を払えばよい(*2) *1 Quota制限を超えたら、無料利用の場合、アプリケーションは停止する。 *2 自動で課金されるわけではない。 予めいくらまでなら払うか、明示的に指定しておく。
  • Google App Engine Java? サーバの維持コストはゼロ  サーバはどうしよう?OSはどうする?DB は?・・・といった検討が不要  利用者の増加等によって負荷が増えた場合 にも、自動的にスケールするため、サーバ 増設の心配をする必要がない  サーバの保守はGoogleが行っているため、 故障の心配する必要もない(*1) *1 最近は少なくなったと思うが、GAE自体止まることがある。
  • Google App Engine Java? アプリケーション開発に専念できる  必要なものは携帯電話(*1)、EclipseとGoogle Plugin for Eclipseのみ  開発者はアプリケーションを書くだけで、 すぐにサービスが公開できる *1 アカウント登録に携帯電話会社のメールアドレスが必要。 (iPhoneやAndroidだと死亡?)
  • Google App Engine Java? 実行環境の特徴  自動スケーリング  Java APIの制限  データストア  各種サービス
  • Google App Engine Java? 自動スケーリング  アプリケーションに負荷が掛かると、負荷 に応じて自動的にスケーリングし、負荷分 散が行われる  アプリケーション側で意識して負荷対策を とる必要はないが、リソース使用=利用料 金に直結する  リソースの使用をいかに抑えるかが、運用 上は重要になってくる
  • Google App Engine Java? データストア  Datastore APIはGoogleのBigtableを利用し たKey-Valueストア  JDO, JPA, Low-Level APIによりCRUD操作を 行う  JDOはLow-Level APIに比べると、データ量 が増えるほどパフォーマンスが落ちていく  Datastoreに近いLow-Level API、もしくは それをラップしたslim3 Datastoreがオスス メ
  • Google App Engine Java? Java APIの制限  複数のスレッドを作成することができない  ソケット通信は行えない  ファイルへの書き込み禁止  1回のリクエストは30秒以内で完了しないと 例外を投げられる
  • Google App Engine Java? 各種サービス  Cron…指定した時間・間隔で定時処理を行うことが できる  Memchache API…メモリ上にデータをキャッシュし ておく  Task Queue API…タスクをキューに登録し、同時に いくつもの処理を走らせることができる  URLフェッチ API…HTTP,HTTPS通信  Mail API…メールの送受信  Quota API…Quotaの状況を取得する  Blobstore API…50MBまでのデータを扱う
  • 2009年のGoogle App Engine Javaをふりかえる
  • Google App Engine Java SDK 1.2.0 1.2.0 1.2.1 1.2.2 1.2.5 1.2.6 1.2.8 1.3.0 2009年04月07日 SDK 1.2.0リリース Google App Engineに待望のJava版登場! 4日後の4月11日、ひがやすを氏が開発を続けていた フレームワークslim3がGAE/Jに対応。 このバージョンからCronサポートも始まったため、 Bot等に必要な定時処理が可能に。
  • Google App Engine Java SDK 1.2.1 1.2.0 1.2.1 1.2.2 1.2.5 1.2.6 1.2.8 1.3.0 2009年05月13日 SDK 1.2.1リリース 主にバグ修正のアップデート この修正で、JSPの日本語が文字化けしていた問題 は解決!
  • Google App Engine Java SDK 1.2.2 1.2.0 1.2.1 1.2.2 1.2.5 1.2.6 1.2.8 1.3.0 2009年07月13日 SDK 1.2.2リリース 主にバグ修正のアップデート あんまり印象に残ってない・・・。
  • Google App Engine Java SDK 1.2.5 1.2.0 1.2.1 1.2.2 1.2.5 1.2.6 1.2.8 1.3.0 2009年09月03日 SDK 1.2.5リリース Task Queue API for Javaの追加! XMPPのサポート開始 複数のタスクをキューに登録し、バックグラウンド で並行処理ができるように。
  • Google App Engine Java SDK 1.2.6 1.2.0 1.2.1 1.2.2 1.2.5 1.2.6 1.2.8 1.3.0 2009年10月13日 SDK 1.2.6リリース GAEドメインでのメール受信サポート開始 アプリケーションの削除サポート開始 GAE/J単体でメールの送受信が可能に。 あと間違えてデプロイしてしまった、アプリケー ションの削除がようやくできるようになった。
  • Google App Engine Java SDK 1.2.8 1.2.0 1.2.1 1.2.2 1.2.5 1.2.6 1.2.8 1.3.0 2009年12月03日 SDK 1.2.8リリース JAXBのサポート開始 Quota APIのサポート開始 一定量までQuotaを使用したら、アプリケーション を止める等の制御ができるように。
  • Google App Engine Java SDK 1.3.0 1.2.0 1.2.1 1.2.2 1.2.5 1.2.6 1.2.8 1.3.0 2009年12月14日 SDK 1.3.0リリース Blobstore APIの追加 リフレクションの動作最適化 50MBまでの大きなデータを扱えるように。 またGroovyやJRubyといった、リフレクションを多 用する言語は、実行速度が最大10倍になるらしい。
  • 参考資料
  • 参考資料 クラウド大全<サービス詳細から基盤技術まで> – 日経BP社出版局編  クラウドコンピューティング登場の 背景から、Amazon EC2,GAEといった 各クラウドサービスの技術入門、 分散処理技術の紹介・検証まで 手広くカバーされています。  技術者がクラウドコンピューティング全体を俯瞰・把 握するのに良い書籍です。  ただ既に情報の古くなっている部分も多いです。
  • 参考資料 Google App Engine for Java [実践]クラウ ドシステム構築 – (株)グルージェント  GAE/Jにできないこと、『制約』に 焦点を当て、『制約』のなかで GAE/Jを最大限活用するための 技術入門書。  ただ既に情報の古k(略  最新情報はtwitterが最速、次いで個人のブログに詳細 がアップされる、といった感じです。twitterでGAEに ついてつぶやいている方をフォローするのがオススメ です。
  • まとめ
  • まとめ サーバの維持コストはゼロ 開発者はアプリケーション開発に専念 できる GAE/Jの登場から、まだ9ケ月弱 アレコレ模索する、夜明け前の段階 つまり・・・
  • GAE/Jを始めるなら今!
  • ご静聴ありがとう ございました!