前回インストールした、Google App Engine SDK for javaを使って、コマンドラインでデプロイしてみる。
参考サイトの例に応用をきかせて、今回は SDKとは別ディレクトリに存在する Eclipseのワークスペース上のWARディレクトリを、デプロイします。
※開発機はWindows XPです。
cd %GAE_HOME%
bin\appcfg.cmd update “c:\Documents and Settings\myname\workspace\myapp\war” –sdk_root=”c:\Documents and Settings\myname\workspace\myapp”
Email: と聞かれるので、GAEアカウントのメールアドレスを入力。
Password for xxxx@gmail.com: と聞かれるので、GAEアカウントのパスワードを入力。
・・・う~ん、ちょっとめんどくさい。
このへんは最終的には Antタスクでやるつもり。
バッチ化して開発者(WEBデザイナ含む)に配布出来ないかな、と思ってはみたものの、やはり使いやすさ・説明のし易さ共にeclipseに軍配があがりますね。
参考サイト
アプリケーションのアップロード – Google Code
前に書いたEclipseによる開発環境構築以外に、コマンドラインでやる方法もある。
Google App Engine SDK for Java のインストール
-
ダウンロード – Google Code から、Google App Engine SDK for Java をダウンロードする。
-
ダウンロードしたSDKを、任意のフォルダに解凍する。※ここでは、c:\opt\java に解凍した。
-
コマンドラインで使うときの為に、環境変数を登録しておくと便利。
-
SET PATH=%PATH%;c:\opt\java\appengine-java-sdk-1.2.6\bin
-
SET GAE_HOME=c:\opt\java\appengine-java-sdk-1.2.6
-
コマンドプロンプトを開き、サンプルアプリケーションを起動してみる
-
cd %GAE_HOME%
-
bin\dev_appserver.cmd demos\guestbook\war
参考サイト
Java SDK のインストール – Google Code
脳内で、月間PVが300万PV位のソーシャルメディアを、Google App Engine for Java にのせてみる。
■ストレージ容量
無償は1GBまで。
コンテンツ、画像、DBでだいたい50GB位と仮定。
$0.005 x 50GB x 30日 = $7.5 / 月
■ネットワーク帯域
無償は、上り、下り それぞれ 10GB /日まで。
下りの 1日当たりのデータ転送量は、仮に4GB/日と仮定すると・・・
要らんやん。
上りはもっと少ないから、当然無償だな。
■CPU時間
無償は 6.5時間 / 日 まで。
以降、 $0.10 / 時間
これは読めないなぁ。
色々遊んでみて、感覚を掴むしかないか。
とりあえず、20時間として、
13.5時間 * $0.1 * 30 = $40.5
■メール送受信数
2000件 / 日 までは無料。
週3回、32000通のメルマガを発行したとして、
30000 * $0.0001 * 3 * 4 = $36 / 月
これが一番高くつきそうやん。
それでも4000円以下だから、メールサーバのホスティングとか管理とか考えたら安いモノだけど、
大量のメール送信を伴うアプリケーションは、別途ホスティング等を考えた方がいいかもしれない。
■合計
・ストレージ $7.5
・ネットワーク帯域 Free
・CPU時間 $40.5
・メール送受信 $36
計 $84.0
Amazon Web Services (EC2) で、同じ条件で脳内試算したときは、$185.1 だったから、半額以下になる。
しかもGAEの場合は、サービス立ち上がり当初 ~ 一定規模までは、無償な訳だから、圧倒的にコストメリットが高い。
GAEって素敵。
GAE/JでOpenIDのRPを実装したい。
個人で作るWEBサービスなら兎も角、法人の場合とかはGAE上にメールアドレスとかの個人情報をぶっこみたく無い、なんてニーズは当然あると思う (実際にわたしがそうです) んです。
前から何となく疑問に思っていました。
Google App Engine (Java) で OpenIDを動かすにはどーすれば?
openid4javaはソケットを使用するけど、GAEのJREサンドボックス上では使えない。故に動かない。
Java で OpenID を扱う情報って少なくないですか? – イトウ アスカ blog
少ないですね。ひっしで集めてます。
Tsukuyomi OpenID – このプロジェクトについての様な先人もおられます。
Implement OpenID consumer in App Engine (Java) – Google App Engine | Google グループ
こんなのがあるらしい。(2010-03-10 下に追記あり)
dyuproject – Project Hosting on Google Code
java REST framework servlet-based (Java REST Annotations impl), openid 2.0 relying party, oauth 1.0a consumer and service provider, json-ioc
こんなのも。
App Engine Recipe – Accept Google, AOL, Yahoo, MySpace, Facebook, and OpenID Logins
RPX (http://rpxnow.com/) is a free service which authenticates users via OpenID and other protocols for your website. It speaks the individual protocol APIs, and exposes a simple restful interface for you to access both authentication and profile data from Identity Providers like Google, AOL, Yahoo, Facebook, and MySpace. RPX also provides you with a popup and iframe based widget that you may add to your site to help your users choose their authentication provider.
RPX( http://rpxnow.com/ )は、 OpenIDを、あなたのウェブサイトの他のプロトコルを介して、ユーザー認証の無料サービスです。
個々のプロトコルのAPIを話し、あなたのための両方の認証およびアイデンティティプロバイダーGoogleは、 AOLやヤフー、 Facebookのようにからのプロファイルデータにアクセスするためのシンプルな安らかなインターフェイスを公開し、 MySpaceの。 RPXもポップアップとインラインフレームベースのウィジェットとは、お客様のサイトにユーザーが選択するための認証プロバイダを追加することができます提供しています。
良いもの。悪いもの。: Google App Engineを利用してmixiアプリを作成する
Implement OpenID consumer in App Engine (Java) – Google App Engine | Google グループ
誰もなんも返事できないみたい。
追記 2010-03-10
Google様で 「OpenID GAE」で検索すると、いつの間にか当サイトが1位になっちゃっています。そんだけマイナーな組み合わせなのか・・・
追記 2010-03-18
先述の
dyuprojectで、OpenID RPを実際にGAE/Jで動かされた方がおられるようです。
Google App Engine for JavaでOpenIDを試してみた。 – 後ろ回しゲロ
サンプルコードまで公開してくださっています。
わたしもdyuprojectを使って挑戦してみました。
あわせてご覧ください