1. Google App Engine N. Koprowski, W. Sanchez, K. Thissen, M. Tryniecki, A. Klos The slides are licensed under aCreative Commons Attribution 3.0 License Web Technologies – Prof. Dr. Ulrik Schroeder – WS 2010/11 1
2. Cloud Computing Resources and software on demand Providers offer APIs Platform as a service Software as a Service Infrastructure as a service Web Technologies 2
3. Google App Engine – Idea/Concept Developing & hosting web applications Run web applications on Google's Cloud infrastructure Free up to a certain quota of used resources Metered bandwidth/CPU time/storage use Web Technologies 3
4. General Features Automatic scaling and load balancing Malfunction detection & Backup Managing of cache and databases SDK forlocaldevelopmentandtesting Persistent data storage Web Technologies 4
5. Programming Features Supports Java and Python APIs for additional features Sandbox environment Each environment provides standard protocols and common technologies, but there are restrictions Web Technologies 5
6. General Restrictions Datastore: Limitation of inequality filters Answer a request in 30 seconds No saving of environment between requests Filesystem: read-only access Code execution only via HTTP request SSL/HTTPS: only via *.appspot.com domains Web Technologies 6
7. ProgrammingRestrictions Typical restrictions of a sandbox Java: only subset of classes from standard JRE Java applications cannot create new threads Python modules: only pure Python (no C) Web Technologies 7
8. Java/Python differences in GAE Java: Big set of advancedlibrariesavailable Datastore: Standard method is to use JDO or JPA Flexibility: The possibility of running JVM bytecode made by different languages Python: Lacks third-party libraries Specific API for Google Datastore More support and extensive knowledge base available Web Technologies 8
9. Google Datastore Distributed data storage service SQL-like syntax (no JOINS) Communication over a provided API No traditional relational database Datastore entities are schemaless Web Technologies 9
10. IDEs - Eclipse PluginavailableforEclipse: Create emptyappengineprojects Test applicationswithlocalsandbox Deployment Compatiblewith Google Web Toolkit As-you-type validation Antis not needed Web Technologies 10
11. ProgrammingExample Create Google Account Download and install Google PluginforEclipse Creating a new Google Project Testingthe Project Test run on localserver Modifyingthe Project Working withthe Datastore Deployingthe Project Creating theApplication ID Deploying on Appengine Web Technologies 11
20. Literature http://code.google.com/appengine/ is the Google App Engine official website Google provides extensive articles, tutorials, videos and documentation both for Python and Java with and without the use of the Eclipse IDE which can be found on http://code.google.com/appengine/articles/ http://code.google.com/appengine/docs/ http://code.google.com/appengine/community.html http://www.youtube.com/user/GoogleDevelopers Web Technologies 14