JRuby-Rack
Framework R JRuby
a
c
App k
Servlet container
JVM
Java Runtime Environment
Google AppEngine/Java
What?
Google AppEngine/Java
App stack
App hosting
Development environment
Great API system
A bunch of services
for free ...
GAE/J – App stack
Automatic scaling
Write your App only
Everything else happens on APIs
External APIs with URL Fetch
GAE/J – App hosting
10 app / google user
Admin interface
Cron
Quota is OK
Logging
GAE/J – App hosting
GAE/J – App hosting
GAE/J – App hosting
GAE/J – Dev environment
App server
Deployment
App versions
Multiple developer accounts
Good examples
SDK
Plugins (Eclipse IDE)
GAE/J – APIs / Services
Memcache
Datastore
Mail
Image
Google account
URL Fetch
GAE/J - Datastore
Schemaless
Object oriented
Key / Value
Universal
< Entity ( Story (1) ) >
Experiences
Slow warmup (JRuby + AppEngine)
Nice performance after App cache
CPU intensive operations
Almost unusable Dev tools
Rare libs for GAE/J APIs
No migration (bulk loader is 404!)
Experiences
JRuby-AppEngine (low level wrapper
for almost all APIs)
Bumble (minimal lib for the
Datastore)
Datamapper (with JRuby-AppEngine)
Warbler (for deployment)
JRuby-AppEngine
post '/story/add' do
@story = Datastore::Entity.new('Story')
@story['title'] = params[:title]
@story['slug'] = params[:slug]
@story['body'] = Datastore::Text.new( params[:body] )
Datastore.put(@story)
redirect '/stories'
end
Bumble
class Person
include Bumble
ds :given_name, :sur_name, :email
has_many :blogs, Blog, :owner_id
end
class Blog
include Bumble
ds :name, :owner_id, :created_at
belongs_to :owner, Person
has_many :posts, :Post, :blog_id, :iorder => :created_at
end
class Post
include Bumble
ds :title, :content, :created_at, :blog_id
belongs_to :blog, Blog
end
1 comments
Comments 1 - 1 of 1 previous next Post a comment