SlideShare une entreprise Scribd logo
1  sur  14
Télécharger pour lire hors ligne
Google App Engine

             N. Koprowski, W. Sanchez, K. Thissen, M. Tryniecki,
                                  A. Klos

                                                                          The slides are licensed under a
1   Web Technologies – Prof. Dr. Ulrik Schroeder – WS 2010/11   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



    2                            Web Technologies
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




    3                           Web Technologies
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
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
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
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
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
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
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
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
Comparison – Amazon Web Services
Google:                               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 servers

12                           Web Technologies
Comparison – Amazon Web Services
Google:                                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 limited
13                            Web Technologies
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

Contenu connexe

En vedette

1.MRL INTRODUCTION - INDUSTRIAL SUPPLIES & MRO CAPABILITY
1.MRL INTRODUCTION - INDUSTRIAL SUPPLIES & MRO CAPABILITY1.MRL INTRODUCTION - INDUSTRIAL SUPPLIES & MRO CAPABILITY
1.MRL INTRODUCTION - INDUSTRIAL SUPPLIES & MRO CAPABILITY
metalworth
 
How to arrange a holiday
How to arrange a holidayHow to arrange a holiday
How to arrange a holiday
esracf2
 
Trabajo de konvergencia
Trabajo de konvergenciaTrabajo de konvergencia
Trabajo de konvergencia
akathe
 
How to arrange a holiday
How to arrange a holidayHow to arrange a holiday
How to arrange a holiday
esracf2
 
SUPERVISING IN THE WAREHOUSE - TRAINING - BRIGHT SAMUEL
SUPERVISING IN THE WAREHOUSE - TRAINING -  BRIGHT SAMUELSUPERVISING IN THE WAREHOUSE - TRAINING -  BRIGHT SAMUEL
SUPERVISING IN THE WAREHOUSE - TRAINING - BRIGHT SAMUEL
metalworth
 

En vedette (16)

Pagina web
Pagina webPagina web
Pagina web
 
1.MRL INTRODUCTION - INDUSTRIAL SUPPLIES & MRO CAPABILITY
1.MRL INTRODUCTION - INDUSTRIAL SUPPLIES & MRO CAPABILITY1.MRL INTRODUCTION - INDUSTRIAL SUPPLIES & MRO CAPABILITY
1.MRL INTRODUCTION - INDUSTRIAL SUPPLIES & MRO CAPABILITY
 
213556
213556213556
213556
 
213556
213556213556
213556
 
Pagina web
Pagina webPagina web
Pagina web
 
Assignment 1
Assignment 1Assignment 1
Assignment 1
 
How to arrange a holiday
How to arrange a holidayHow to arrange a holiday
How to arrange a holiday
 
Soal mtk
Soal mtkSoal mtk
Soal mtk
 
Trabajo de konvergencia
Trabajo de konvergenciaTrabajo de konvergencia
Trabajo de konvergencia
 
Webtech googleapps
Webtech googleappsWebtech googleapps
Webtech googleapps
 
213556
213556213556
213556
 
How to arrange a holiday
How to arrange a holidayHow to arrange a holiday
How to arrange a holiday
 
Convert modules from 6.x to 7.x
Convert modules from 6.x to 7.xConvert modules from 6.x to 7.x
Convert modules from 6.x to 7.x
 
Building Successful Local Communities: Insights and Best Practices
Building Successful Local Communities: Insights and Best PracticesBuilding Successful Local Communities: Insights and Best Practices
Building Successful Local Communities: Insights and Best Practices
 
Features: safely deploying your site
Features: safely deploying your siteFeatures: safely deploying your site
Features: safely deploying your site
 
SUPERVISING IN THE WAREHOUSE - TRAINING - BRIGHT SAMUEL
SUPERVISING IN THE WAREHOUSE - TRAINING -  BRIGHT SAMUELSUPERVISING IN THE WAREHOUSE - TRAINING -  BRIGHT SAMUEL
SUPERVISING IN THE WAREHOUSE - TRAINING - BRIGHT SAMUEL
 

Similaire à Webtech googleapps

Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
George Kanellopoulos
 

Similaire à Webtech googleapps (20)

Google app engine
Google app engineGoogle app engine
Google app engine
 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-Service
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaS
 
Google App Engine - Overview #1
Google App Engine - Overview #1Google App Engine - Overview #1
Google App Engine - Overview #1
 
Mobile web development
Mobile web developmentMobile web development
Mobile web development
 
Java Web Programming Using Cloud Platform: Module 10
Java Web Programming Using Cloud Platform: Module 10Java Web Programming Using Cloud Platform: Module 10
Java Web Programming Using Cloud Platform: Module 10
 
Apache Cordova
Apache CordovaApache Cordova
Apache Cordova
 
GDSC Study Jam Session 1
GDSC Study Jam Session 1GDSC Study Jam Session 1
GDSC Study Jam Session 1
 
Apache Cordova 4.x
Apache Cordova 4.xApache Cordova 4.x
Apache Cordova 4.x
 
Cordova: APIs and instruments
Cordova: APIs and instrumentsCordova: APIs and instruments
Cordova: APIs and instruments
 
The life in the Cloud
The life in the CloudThe life in the Cloud
The life in the Cloud
 
Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Google App Engine ppt
Google App Engine  pptGoogle App Engine  ppt
Google App Engine ppt
 
Google app engine
Google app engineGoogle app engine
Google app engine
 
Google app engine
Google app engineGoogle app engine
Google app engine
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Infinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App EngineInfinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App Engine
 
Alex Wade, Digital Library Interoperability
Alex Wade, Digital Library InteroperabilityAlex Wade, Digital Library Interoperability
Alex Wade, Digital Library Interoperability
 
Windows Azure & How to Deploy Wordress
Windows Azure & How to Deploy WordressWindows Azure & How to Deploy Wordress
Windows Azure & How to Deploy Wordress
 

Webtech googleapps

  • 1. Google App Engine N. Koprowski, W. Sanchez, K. Thissen, M. Tryniecki, A. Klos The slides are licensed under a 1 Web Technologies – Prof. Dr. Ulrik Schroeder – WS 2010/11 Creative Commons Attribution 3.0 License
  • 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. 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 3 Web Technologies
  • 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. 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. 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. 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. 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. 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. 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. 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. Comparison – Amazon Web Services Google: 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 servers 12 Web Technologies
  • 13. Comparison – Amazon Web Services Google: 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 limited 13 Web Technologies
  • 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