appengine
TRANSCRIPT
![Page 1: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/1.jpg)
Google App Engine
Sameh Mtibaa
Ben Mzoughia
![Page 2: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/2.jpg)
Sommaire
• Introduction
• Stockage des données
• Sécurité & confidentialité
• Tarification
• Administration
• Conclusion
2
![Page 3: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/3.jpg)
Sommaire
1. • Introduction
2. • Stockage des données
3. • Sécurité & confidentialité
4. • Tarification
5. • Administration
6. • Conclusion
3
![Page 4: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/4.jpg)
DéfinitionLe 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.
41. Introduction
«Google App Engine est une plateforme de conception et d’hébergement d'applications web basée sur les serveurs de Google.
![Page 5: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/5.jpg)
5
Présentation technique
Déploiement d’applications web sur l’infrastructure Google
Support Python, Java 6
Nombreux services techniques
1. Introduction
![Page 6: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/6.jpg)
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
![Page 7: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/7.jpg)
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
![Page 8: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/8.jpg)
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
![Page 9: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/9.jpg)
91. Introduction
![Page 10: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/10.jpg)
Exemple de code java
10
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
![Page 11: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/11.jpg)
Sommaire
1. • Introduction
2. • Stockage des données
3. • Sécurité & confidentialité
4. • Tarification
5. • Administration
6. • Conclusion
112. Stockage des données
![Page 12: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/12.jpg)
12
base de données orientée colonnes
2. Stockage des données
![Page 13: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/13.jpg)
Sommaire
1. • Introduction
2. • Stockage des données
3. • Sécurité & confidentialité
4. • Tarification
5. • Administration
6. • Conclusion
133. Sécurité & confidentialité
![Page 14: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/14.jpg)
14
• Sécurité & confidentialité Identification
3. Sécurité & confidentialité
![Page 15: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/15.jpg)
Confidentialité
15
Votre code est stocké chez
Google est une société
de droit américain
Vos données sont stockées chez Google
3. Sécurité & confidentialité
![Page 16: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/16.jpg)
Sommaire
1. • Introduction
2. • Stockage des données
3. • Sécurité & confidentialité
4. • Tarification
5. • Administration
6. • Conclusion
164. Tarification
![Page 17: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/17.jpg)
Tarification
174. Tarification
![Page 18: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/18.jpg)
Sommaire
1. • Introduction
2. • Stockage des données
3. • Sécurité & confidentialité
4. • Tarification
5. • Administration
6. • Conclusion
185. Administration
![Page 19: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/19.jpg)
19
5. Administration
![Page 20: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/20.jpg)
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.
205. Administration
![Page 21: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/21.jpg)
Sommaire
1. • Introduction
2. • Stockage des données
3. • Sécurité & confidentialité
4. • Tarification
5. • Administration
6. • Conclusion
216. Conclusion
![Page 22: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/22.jpg)
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
226. Conclusion
![Page 23: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/23.jpg)
Netographie
• https://larlet.fr/david/biologeek/archives/20080409-google-app-engine-avantages-et-inconvenients/
• https://code.google.com/apis/console/?pli=1#project:923313012155:billing
• http://www.tutos-android.com/webservice-rest-android-appengine-restlet-objectify
• http://www.youtube.com/watch?v=M7SxNNC429U
Google App Engine 23
![Page 24: AppEngine](https://reader036.vdocuments.mx/reader036/viewer/2022081519/5585750fd8b42a3d2c8b4dea/html5/thumbnails/24.jpg)
24
Merci de votre attention