Download - Webtech googleapps
Google App Engine
N. Koprowski, W. Sanchez, K. Thissen, M. Tryniecki, A. Klos
Web Technologies – Prof. Dr. Ulrik Schroeder – WS 2010/111The slides are licensed under a
Creative Commons Attribution 3.0 License
Cloud Computing
Resources and software on demand
Providers offer APIs
Platform as a service
Software as a Service
Infrastructure as a service
Web Technologies2
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 Technologies3
General Features Automatic scaling and load balancing
Malfunction detection & Backup
Managing of cache and databases
SDK for local development and testing
Persistent data storage
Web Technologies4
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 Technologies5
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 Technologies6
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)
Web Technologies7
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
Web Technologies8
Distributed data storage service
SQL-like syntax (no JOINS)
Communication over a provided API
No traditional relational database
Datastore entities are schemaless
Google Datastore
Web Technologies9
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
Web Technologies10
Programming Example Create Google Account Download and install Google Plugin for Eclipse 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
Web Technologies11
Comparison – Amazon Web ServicesAmazon:
• Infrastructure as a Service
• Wide support for languages and databases
• Deployment is more akin to using single servers
Web Technologies12
Google:
• Platform as a Service
• Only supports a limited range of languages, APIs, frameworks
• Simple deployment
Comparison – Amazon Web ServicesAmazon:
• Supports relational databases
• Higher hosting costs
-> Flexible, but higher costs
Web Technologies13
Google:
• No relational database
• Lower hosting costs and a free quota
• Easier to write scalable applications
-> Low costs and easy to use, but limited
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
Web Technologies