Google App Engine

                 2009.1.12
            Kosuke Matsuda
GAE


• Google          Google
            Web
• Google       Web

•
•
• Google API
•
• Python ( 2.5 )
 • Django,webapp,web.py,Pylons
• Java ( Java5,6 )
 • JRuby
API
• BigTable ( RDBMS, GQL )
• User API ( Google Account )
• URL fetch ( HTTP/HTTPS )
• Mail
• memcache
• Image Manipulation
• cron
• 500MB
•         500

•1         10

• 30
• 1,000
Try GAE
• OS : MacOS X 10.6.2
• Python : Python 2.5.4 ( MacPorts )
• Google App Engine SDK for Python 1.3.0 -
  2009-12-14
App Engine SDK
http://code.google.com/intl/ja/appengine/
downloads.html


                           GAE
1.

2. app.yaml

3. dev_server.py    Web

4. localhost:8080

5. appcfg.py
webapp Framework
(app.yaml)

• application:App Engine
               ID

• version:application’s version
• runtime:python(java)
• handlers:URL
× wsgiref.handlers.CGIHandler().run(application)



http://code.google.com/intl/ja/appengine/docs/python/gettingstarted/
                                                  usingwebapp.html
WSGI


• Web        Web


   Ruby,Rails Rack
GAEO
Google App Engine Oil
GAEO
Google App Engine Oil (GAEO)       App Engine
                         (MVT)
GAEO        Rails   Zend Framework
    GAEO              "convension over configuration
        "                      Web



                    http://doc-ja.gaeo.org/tutorials/introduction
• URL Routing
• generator
• Association
• plugins
generator
$ gaeo Hoge
$ gaeogen model Foo
$ gaeogen controller Bar
$ gaeogen scaffold Buzz new edit ...
   “title=StringProperty(required=True)” ...
• Pros
 •


• Cons
 •   Ruby   !   Python   !?

GAE_20100112