Google App Engine 



         Sameh Mtibaa
         Ben Mzoughia
Sommaire
• Introduction
• Stockage des données
• Sécurité & confidentialité
• Tarification
• Administration
• Conclusion




                                2
Sommaire
•   • Introduction
•   • Stockage des données
•   • Sécurité & confidentialité
•   • Tarification
•   • Administration
•   • Conclusion




                                   3
Définition
Le cloud computing est un concept majeur
   faisant référence à l'utilisation de la mémoire
   et des capacités de calcul des ordinateurs et
   des serveurs répartis dans le monde entier
   et liés par un réseau.




   «Google App Engine est une plateforme
     de conception et d’hébergement d'
     applications web basée sur les
     serveurs de Google.



                       1. Introduction           4
Présentation technique

Déploiement d’applications web sur
l’infrastructure Google

Support Python, Java 6

Nombreux services techniques




                               1. Introduction   5
Limitations

   Pas de Thread

   Pas d’accès aux fichiers

   Timeout de 30 s

   Supporte un sous-ensemble des classes Java

   Quotas d’utilisations




                                          1. Introduction   6
Services supplémentaires
   MemCache : Un Cache en mémoire au-dessus de la base de donnée

   URL Fetch : permet de faire des requêtes HTTP/HTTPS sur un autre
    serveur.

   Email : permet d’envoyer et de recevoir des emails.

   Google Accounts : permet d’utiliser les comptes Google pour des
    identifications au sein d’une application.

   XMPP : Protocole messagerie instantanée, Permet d’envoyer et
    recevoir des messages au format XMPP (utilisé dans Google Talk)

   Image Manipulation: permet de manipuler des images (rotation..)

   CRON: Il est possible de planifier des tâches à exécuter de manière
    récurrente pour, par exemple, envoyer une newsletter chaque mois.

   TaskQueue : permet de mettre des tâches de fond en file d’attente.
                                              1. Introduction             7
Librairies et API
•       Support d’un sous-ensemble du JDK
•       Support de quelques API (JSP, JPA, …)
•       Nombre de librairies ne fonctionnent pas
•       (Hibernate, Apache POI, …)




    Google Web Toolkit
    •    Sortie simultanée GWT 1.6 et GAE/J
    •    Alternatives : Flex, JSF, Silverlight, …
    •    Difficulté d’intégration avec DataStore




                                                    1. Introduction   8
1. Introduction   9
Exemple de code java


Exemple de code pour une servlet helloworld :

package helloworld;
import java.io.IOException;
import javax.servlet.http.*;
    public class HelloServlet extends HttpServlet {
          public void doGet(HttpServletRequest (HttpServletResponse
    resp) throws IOException {
         resp.setContentType("text/plain");
         resp.getWriter().println("Hello ");
}}




                                                1. Introduction       10
Sommaire
•   • Introduction
•   • Stockage des données
•   • Sécurité & confidentialité
•   • Tarification
•   • Administration
•   • Conclusion




                               2. Stockage des données   11
 base de données 
                orientée colonnes




2. Stockage des données             12
Sommaire
•   • Introduction
•   • Stockage des données
•   • Sécurité & confidentialité
•   • Tarification
•   • Administration
•   • Conclusion




                             3. Sécurité & confidentialité   13
• Sécurité & confidentialité
 Identification




                 3. Sécurité & confidentialité   14
Confidentialité
                   Vos données sont
                 stockées chez Google




Votre code est                              Google est
 stocké chez                                une société
   Google                                     de droit
                                             américain

                        3. Sécurité & confidentialité     15
Sommaire
•   • Introduction
•   • Stockage des données
•   • Sécurité & confidentialité
•   • Tarification
•   • Administration
•   • Conclusion




                                   4. Tarification   16
Tarification




               4. Tarification   17
Sommaire
•   • Introduction
•   • Stockage des données
•   • Sécurité & confidentialité
•   • Tarification
•   • Administration
•   • Conclusion




                                   5. Administration   18





    5. Administration   19
Console d’administration
•   DashBoard : Graphique et états sur l’utilisations des
    ressources
•   Logs: Equivaut un peu à system.out ce sont les logs de
    votre application
•   Datastore Viewer : Pour voir le contenu de votre base de
    données
•   Application Settings : Paramétrage de votre application
•   Permissions : Pour gérer les permissions sur votre
    application
•   Version : Pour gérer les différentes versions de votre
    application.


                                     5. Administration         20
Sommaire
•   • Introduction
•   • Stockage des données
•   • Sécurité & confidentialité
•   • Tarification
•   • Administration
•   • Conclusion




                                   6. Conclusion   21
Conclusion
•   Des limites opérationnelles
•   Pas de serveur de secours
•   Pas de backup des données (en cours…)
•   Le langage PHP n'est pas directement supporté.
    Mais on peut cependant l'utiliser par le biais de
    Quercus, qui porte PHP sur Java.

•   Les Webservices REST sous Android avec App
    Engine, Restlet et Objectify
•   https://appengine.google.com/
•   https://developers.google.com/appengine/?hl=fr


                                         6. Conclusion   22
Netographie
•   https://larlet.fr/david/biologeek/archives/20080409-google-app-
•   https://code.google.com/apis/console/?pli=1#project:92331301
•
    http://www.tutos-android.com/webservice-rest-android-appeng
•   http://www.youtube.com/watch?v=M7SxNNC429U




                                                    Google App Engine   23
Merci de votre attention




                           24

AppEngine

  • 1.
    Google App Engine  Sameh Mtibaa Ben Mzoughia
  • 2.
    Sommaire • Introduction • Stockagedes données • Sécurité & confidentialité • Tarification • Administration • Conclusion 2
  • 3.
    Sommaire • • Introduction • • Stockage des données • • Sécurité & confidentialité • • Tarification • • Administration • • Conclusion 3
  • 4.
    Définition Le cloud computingest un concept majeur faisant référence à l'utilisation de la mémoire et des capacités de calcul des ordinateurs et des serveurs répartis dans le monde entier et liés par un réseau. «Google App Engine est une plateforme de conception et d’hébergement d' applications web basée sur les serveurs de Google. 1. Introduction 4
  • 5.
    Présentation technique Déploiement d’applicationsweb sur l’infrastructure Google Support Python, Java 6 Nombreux services techniques 1. Introduction 5
  • 6.
    Limitations  Pas de Thread  Pas d’accès aux fichiers  Timeout de 30 s  Supporte un sous-ensemble des classes Java  Quotas d’utilisations 1. Introduction 6
  • 7.
    Services supplémentaires  MemCache : Un Cache en mémoire au-dessus de la base de donnée  URL Fetch : permet de faire des requêtes HTTP/HTTPS sur un autre serveur.  Email : permet d’envoyer et de recevoir des emails.  Google Accounts : permet d’utiliser les comptes Google pour des identifications au sein d’une application.  XMPP : Protocole messagerie instantanée, Permet d’envoyer et recevoir des messages au format XMPP (utilisé dans Google Talk)  Image Manipulation: permet de manipuler des images (rotation..)  CRON: Il est possible de planifier des tâches à exécuter de manière récurrente pour, par exemple, envoyer une newsletter chaque mois.  TaskQueue : permet de mettre des tâches de fond en file d’attente. 1. Introduction 7
  • 8.
    Librairies et API • Support d’un sous-ensemble du JDK • Support de quelques API (JSP, JPA, …) • Nombre de librairies ne fonctionnent pas • (Hibernate, Apache POI, …) Google Web Toolkit • Sortie simultanée GWT 1.6 et GAE/J • Alternatives : Flex, JSF, Silverlight, … • Difficulté d’intégration avec DataStore 1. Introduction 8
  • 9.
  • 10.
    Exemple de codejava Exemple de code pour une servlet helloworld : package helloworld; import java.io.IOException; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest (HttpServletResponse resp) throws IOException { resp.setContentType("text/plain"); resp.getWriter().println("Hello "); }} 1. Introduction 10
  • 11.
    Sommaire • • Introduction • • Stockage des données • • Sécurité & confidentialité • • Tarification • • Administration • • Conclusion 2. Stockage des données 11
  • 12.
     base de données  orientée colonnes 2. Stockage des données 12
  • 13.
    Sommaire • • Introduction • • Stockage des données • • Sécurité & confidentialité • • Tarification • • Administration • • Conclusion 3. Sécurité & confidentialité 13
  • 14.
    • Sécurité &confidentialité Identification 3. Sécurité & confidentialité 14
  • 15.
    Confidentialité Vos données sont stockées chez Google Votre code est Google est stocké chez une société Google de droit américain 3. Sécurité & confidentialité 15
  • 16.
    Sommaire • • Introduction • • Stockage des données • • Sécurité & confidentialité • • Tarification • • Administration • • Conclusion 4. Tarification 16
  • 17.
    Tarification 4. Tarification 17
  • 18.
    Sommaire • • Introduction • • Stockage des données • • Sécurité & confidentialité • • Tarification • • Administration • • Conclusion 5. Administration 18
  • 19.
    5. Administration 19
  • 20.
    Console d’administration • DashBoard : Graphique et états sur l’utilisations des ressources • Logs: Equivaut un peu à system.out ce sont les logs de votre application • Datastore Viewer : Pour voir le contenu de votre base de données • Application Settings : Paramétrage de votre application • Permissions : Pour gérer les permissions sur votre application • Version : Pour gérer les différentes versions de votre application. 5. Administration 20
  • 21.
    Sommaire • • Introduction • • Stockage des données • • Sécurité & confidentialité • • Tarification • • Administration • • Conclusion 6. Conclusion 21
  • 22.
    Conclusion • Des limites opérationnelles • Pas de serveur de secours • Pas de backup des données (en cours…) • Le langage PHP n'est pas directement supporté. Mais on peut cependant l'utiliser par le biais de Quercus, qui porte PHP sur Java. • Les Webservices REST sous Android avec App Engine, Restlet et Objectify • https://appengine.google.com/ • https://developers.google.com/appengine/?hl=fr 6. Conclusion 22
  • 23.
    Netographie • https://larlet.fr/david/biologeek/archives/20080409-google-app- • https://code.google.com/apis/console/?pli=1#project:92331301 • http://www.tutos-android.com/webservice-rest-android-appeng • http://www.youtube.com/watch?v=M7SxNNC429U Google App Engine 23
  • 24.
    Merci de votreattention 24

Notes de l'éditeur

  • #7 Les applications ne peuvent pas lancer de Threads, La création de sockets n’est pas autorisée Les écritures de fichiers ne sont pas autorisées, Les processus tournant depuis plus de 30 secondes sont arrêtés,
  • #13 ,  BigTable , est un  système de gestion de base de données   compressées , développé en interne par Google.  Le langage de requêtes associé à BigTable est GQL (Google Query Langage).