150 likes | 377 Views
Google App Engine and Java. Application: Clustering Internet search results for a person. Faculty of Mathematics, University of Belgrade. Google App Engine. Web application hosting service Designed for real-time dynamic apps Many simultaneous users Scalable Paying resources monthly
E N D
Google App Engine and Java Application: Clustering Internet search results for a person Faculty of Mathematics, University of Belgrade Aleksandar Kartelj kartelj@matf.bg.ac.rs
Google App Engine • Web application hosting service • Designed for real-time dynamic apps • Many simultaneous users • Scalable • Paying resources monthly • Free account (5 million page views a month) Aleksandar Kartelj kartelj@matf.bg.ac.rs
Sandboxing • App can only read its own files • App cannot manipulate environment variables • App cannot access network facilities • Distributing request non-deterministically • Consequence: run multiple apps on the same server, or one app on multiple servers safely Aleksandar Kartelj kartelj@matf.bg.ac.rs
Architecture overview Aleksandar Kartelj kartelj@matf.bg.ac.rs
Features • The static file servers • The Datastore • Not join-query database • Most resembling to object database • Entities and properties • Entity has 1..* properties • Not to be confused with rows in RDBMS Aleksandar Kartelj kartelj@matf.bg.ac.rs
Features • Queries and indexes • Index in made for every simple query • Query performance affected only by the size of the result set • Transactions • Optimistic concurrency control • Entity groups (entities updated in one trans.) • Services: memcache, URL fetch , Mail, … Aleksandar Kartelj kartelj@matf.bg.ac.rs
App Engine’s request handling Aleksandar Kartelj kartelj@matf.bg.ac.rs
Building applications Aleksandar Kartelj kartelj@matf.bg.ac.rs
App engine dashboard Aleksandar Kartelj kartelj@matf.bg.ac.rs
App engine dashboard Aleksandar Kartelj kartelj@matf.bg.ac.rs
Clustering search results Aleksandar Kartelj kartelj@matf.bg.ac.rs
Clustering search results Aleksandar Kartelj kartelj@matf.bg.ac.rs
EC2 vs GAE vs Azure Aleksandar Kartelj kartelj@matf.bg.ac.rs
EC2 vs GAE vs Azure Aleksandar Kartelj kartelj@matf.bg.ac.rs
Thank you. Aleksandar Kartelj Faculty of Mathematics, University of Belgrade kartelj@matf.bg.ac.rs www.matf.bg.ac.rs/~kartelj