appengine
TRANSCRIPT
Google App Engine
Sameh Mtibaa
Ben Mzoughia
Sommaire
• Introduction
• Stockage des données
• Sécurité & confidentialité
• Tarification
• Administration
• Conclusion
2
Sommaire
1. • Introduction
2. • Stockage des données
3. • Sécurité & confidentialité
4. • Tarification
5. • Administration
6. • Conclusion
3
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.
5
Présentation technique
Déploiement d’applications web sur l’infrastructure Google
Support Python, Java 6
Nombreux services techniques
1. Introduction
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
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
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
91. Introduction
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
Sommaire
1. • Introduction
2. • Stockage des données
3. • Sécurité & confidentialité
4. • Tarification
5. • Administration
6. • Conclusion
112. Stockage des données
12
base de données orientée colonnes
2. Stockage des données
Sommaire
1. • Introduction
2. • Stockage des données
3. • Sécurité & confidentialité
4. • Tarification
5. • Administration
6. • Conclusion
133. Sécurité & confidentialité
14
• Sécurité & confidentialité Identification
3. Sécurité & confidentialité
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é
Sommaire
1. • Introduction
2. • Stockage des données
3. • Sécurité & confidentialité
4. • Tarification
5. • Administration
6. • Conclusion
164. Tarification
Tarification
174. Tarification
Sommaire
1. • Introduction
2. • Stockage des données
3. • Sécurité & confidentialité
4. • Tarification
5. • Administration
6. • Conclusion
185. Administration
19
5. Administration
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
Sommaire
1. • Introduction
2. • Stockage des données
3. • Sécurité & confidentialité
4. • Tarification
5. • Administration
6. • Conclusion
216. Conclusion
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
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
24
Merci de votre attention