Webtech googleapps


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Webtech googleapps

  1. 1. Google App Engine N. Koprowski, W. Sanchez, K. Thissen, M. Tryniecki, A. Klos The slides are licensed under a1 Web Technologies – Prof. Dr. Ulrik Schroeder – WS 2010/11 Creative Commons Attribution 3.0 License
  2. 2. Cloud Computing Resources and software on demand Providers offer APIs Platform as a service Software as a Service Infrastructure as a service 2 Web Technologies
  3. 3. Google App Engine – Idea/Concept Developing & hosting web applications Run web applications on Googles Cloud infrastructure Free up to a certain quota of used resources Metered bandwidth/CPU time/storage use 3 Web Technologies
  4. 4. General Features Automatic scaling and load balancing Malfunction detection & Backup Managing of cache and databases SDK for local development and testing Persistent data storage 4 Web Technologies
  5. 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 5 Web Technologies
  6. 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 6 Web Technologies
  7. 7. Programming Restrictions 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) 7 Web Technologies
  8. 8. Java/Python differences in GAE Java:  Big set of advanced libraries available  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 8 Web Technologies
  9. 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 9 Web Technologies
  10. 10. IDEs - Eclipse Plugin available for Eclipse:  Create empty app engine projects  Test applications with local sandbox  Deployment Compatible with Google Web Toolkit As-you-type validation Ant is not needed 10 Web Technologies
  11. 11. Programming Example Creating a new Google Project Testing the Project  Test run on local server Modifying the Project  Working with the Datastore Deploying the Project  Creating the Application ID  Deploying on Appengine 11 Web Technologies
  12. 12. Comparison – Amazon Web ServicesGoogle: Amazon:• Platform as a Service • Infrastructure as a Service• Only supports a limited • Wide support for languages range of languages, APIs, and databases frameworks• Simple deployment • Deployment is more akin to using single servers12 Web Technologies
  13. 13. Comparison – Amazon Web ServicesGoogle: Amazon:• No relational database • Supports relational databases• Lower hosting costs and a free quota • Higher hosting costs• Easier to write scalable applications-> Low costs and easy to use, -> Flexible, but higher costs but limited13 Web Technologies
  14. 14. 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 14 Web Technologies