TP4 UTILISATION DE GOOGLE APP ENGINE EN JAVA
Table des matières
TP4 Utilisation de Google APP Engine en Java ___________________________________ 1
TP4 Utilisation de Google APP Engine en Java ___________________________________ 2
Qu'est-ce que Google App Engine (document google) ___________________________________________ 2
Mise en place des outils ___________________________________________________________________ 2
Création d'un projet ______________________________________________________________________ 4
Le Répertoire des projets __________________________________________________________________ 4
Mise en place du projet ___________________________________________________________________ 4
La classe Servlet ________________________________________________________________________ 4
Le fichier web.xml ________________________________________________________________________ 5
Le fichier appengine-web.xml _______________________________________________________________ 5
Exécution du projet _______________________________________________________________________ 5
Erreurs avec la configuration par défaut ______________________________________________________ 6
Utilisation du service Users ________________________________________________________ 7
Mise en œuvre du service Users __________________________________________________________ 7
Étapes suivantes... ______________________________________________________________________ 8
Utilisation des JSP ________________________________________________________________ 9
Bonjour, JSP ! __________________________________________________________________________ 9
Formulaire du livre d'or _________________________________________________________________ 10
Étapes suivantes... _____________________________________________________________________ 12
Utilisation du magasin de données avec JDO _________________________________________ 13
Configuration de la plate-forme d'accès DataNucleus ________________________________________ 13
Amélioration des classes JDO ___________________________________________________________ 14
Objets POJO et annotations JDO _________________________________________________________ 14
PersistenceManagerFactory _____________________________________________________________ 16
Création et enregistrement d'objets _______________________________________________________ 16
Requêtes avec JDOQL __________________________________________________________________ 17
Étapes suivantes... _____________________________________________________________________ 20
Utilisation des fichiers statiques ___________________________________________________ 21
Feuille de style simple __________________________________________________________________ 21
Étapes suivantes... _____________________________________________________________________ 21
Transfert de votre application ______________________________________________________ 22
Enregistrement de l'application __________________________________________________________ 22
Transfert de l'application ________________________________________________________________ 22
Architectures réparties et Cloud Computing
Daniel Tschirhart - Architectures réparties et Cloud Computing - Utilisation de Google App Engine en Java V1.2011 2/23
TP4 UTILISATION DE GOOGLE APP ENGINE EN JAVA
QU'EST-CE QUE GOOGLE APP ENGINE (DOCUMENT GOOGLE)
Google App Engine vous permet d'exécuter vos applications Web sur l'infrastructure Google. Faciles à développer et à
gérer, les applications App Engine, grâce à leur caractère évolutif, s'adaptent à vos besoins en termes de trafic et de
stockage des données. App Engine vous dispense du recours à tout serveur : il vous suffit de transférer votre application
et le tour est joué ! Vos utilisateurs peuvent s'en servir sans plus attendre.
Vous pouvez diffuser votre application à partir de votre propre nom de domaine (tel que http://www.example.com/) en
utilisant Google Apps. Vous pouvez également choisir d'utiliser un nom gratuit sur le domaine appspot.com. Vous
pouvez partager votre application avec le reste du monde, ou en limiter l'accès aux membres de votre entreprise.
Google App Engine prend en charge les applications écrites en plusieurs langages de programmation. Avec
l'environnement d'exécution Java d'App Engine, vous pouvez développer votre application en utilisant les technologies
Java standard, notamment la machine virtuelle Java, les servlets Java et le langage de programmation Java (ou tout
autre langage faisant appel à un interpréteur ou à un compilateur compatibles avec la machine virtuelle Java, tel que
JavaScript ou Ruby). App Engine est également doté d'un environnement d'exécution Python dédié, qui inclut un
interpréteur Python rapide ainsi que la bibliothèque standard de Python. Les environnements d'exécution Java et Python
sont conçus de manière à garantir l'exécution rapide et sécurisée de votre application, sans interférence des autres
applications du système.
Avec App Engine, vous payez uniquement ce que vous consommez. Il n'existe ni frais initiaux, ni frais récurrents. Les
ressources utilisées par votre application, telles que l'espace de stockage et la bande passante, sont mesurées en
gigaoctets et facturées à des tarifs compétitifs. Vous avez le contrôle sur les quantités maximales de ressources
consommées, afin de ne jamais dépasser votre budget.
Vous n'avez rien à payer pour utiliser App Engine. Toutes les applications peuvent utiliser jusqu'à 500 Mo d'espace de
stockage, et assez de temps processeur et de bande passante pour une diffusion efficace, équivalente à une consultation
mensuelle de 5 millions de pages, et ce totalement gratuitement. Lorsque vous activez la fonction de facturation pour
votre application, les niveaux de gratuité des ressources sont élevés, et vous payez uniquement ce que vous consommez
au-delà de ces limites.
MISE EN PLACE DES OUTILS
On utilisera le système exploitation Windows 7 virtualisé pour le développement des applications.
Les pré-requis nécessaires dans la machine de développement sont les suivant :
Présence du JDK java (téléchargeable l’adresse suivante :
http://www.oracle.com/technetwork/java/javase/downloads/index.html . Choisir un JDK SE 6 Update 29 (ne pas
prendre le JDK 7). Installer le JDK avec les options par défaut.
L’application Eclipse Indigo SR1 (téléchargeable l’adresse suivante : http://www.eclipse.org/downloads/
Prendre la version 32 bits pour Java EE developers. Décompacter Eclipse à la racine du disque dur virtuel (c ou d).
Vous pouvez franciser Eclipse en installant le greffon partir du menu aide/Install/ New Software) :
http://download.eclipse.org/technology/babel/update-site/R0.9.0/indigo.
Lors du lancement d’eclipse proposer le répertoire de travail GoogleAppEngine
Dans Eclipse installer le plugin APP ENGINE de Google : voir
http://code.google.com/intl/fr-FR/eclipse/docs/install-eclipse-3.7.html
Ne pas installer les outils pour Android (le plugin d’Android n’est pas installé)
Architectures réparties et Cloud Computing
Daniel Tschirhart - Architectures réparties et Cloud Computing - Utilisation de Google App Engine en Java V1.2011 3/23
Documentation App Engine : http://code.google.com/intl/fr-FR/appengine/
Documentation App Engine pour java : http://code.google.com/intl/fr-FR/appengine/docs/java
Pour la partie du TP exécutée en local utiliser le navigateur Microsoft IE.
Architectures réparties et Cloud Computing
Daniel Tschirhart - Architectures réparties et Cloud Computing - Utilisation de Google App Engine en Java V1.2011 4/23
CREATION D'UN PROJET
Les applications Java App Engine utilisent le standard Java Servlet pour interagir avec l'environnement du serveur
web. Une application comporte des classes compilées, des fichiers JAR, des fichiers statiques et des fichiers de
configuration. Ces fichiers sont disposés dans une structure de répertoire en utilisant la norme WAR norme pour les
applications web Java. On peut utiliser n'importe quel processus de développement pour développer des servlets web et
de produire un répertoire WAR. L’environnement developpement Eclipse avec le plugin Google App Engine facilite
beaucoup la création de ce type d’application.
LE REPERTOIRE DES PROJETS
Pour cet exemple, nous allons utiliser un seul répertoire nommé Guestbook (Livre d'or) pour tous les fichiers du
projet. Un sous-répertoire nommé src contient le code source Java, et un sous-répertoire nommé war contenant
l'application complète au format WAR. Le processus de construction compile les fichiers source Java et met les classes
compilées dans l'emplacement approprié dans war.
Le répertoire du projet complet ressemble à ceci:
Guestbook/ src/
...Java source code...
META-INF/
...other configuration...
war/
...JSPs, images, data files...
WEB-INF/
...app configuration...
lib/
...JARs for libraries...
classes/
...compiled classes...
MISE EN PLACE DU PROJET
Après avoir lancé Windows 7 depuis l’hyperviseur, lancer Eclipse à l’aide du raccourci situé dans
C:\Users\user\Documents\AppEngine.
Créer un nouveau projet en cliquant sur le New Web Application (bouton dans la barre d'outils:
Donner au projet le nom Guestbook et dans un package guestbook. Décochez la case "Using Google Web
Toolkit" et assurez-vous que "User Google App Engine" est cochée.
LA CLASSE SERVLET
Java App Engine utilise l'API Java Servlet pour interagir avec le serveur web. Une servlet HTTP est une classe
d'application qui peut traiter et répondre à des requêtes Web. Cette classe doit hériter soit de la classe
javax.servlet.GenericServlet soit de la classe javax.servlet.http.HttpServlet.
Notre projet commence avec une classe servlet simple qui affiche un message.
Dans le répertoire src du projet, le plugin a crée un fichier nommé GuestbookServlet.java de contenu suivant :
package guestbook;
import java.io.IOException;
import javax.servlet.http.*;
public class GuestbookServlet extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException
{
resp.setContentType("text/plain");
resp.getWriter().println("Hello, world");
}
}
Architectures réparties et Cloud Computing
Daniel Tschirhart - Architectures réparties et Cloud Computing - Utilisation de Google App Engine en Java V1.2011 5/23
LE FICHIER WEB.XML
Lorsque le serveur Web reçoit une requête, il détermine la classe servlet à appeler en utilisant un fichier de configuration
appelé «descripteur de déploiement d'application web ».
Ce fichier est nommé web.xml réside dans le war/WEB-INF/ . WEB-INF / et web.xml font partie de la spécification
des servlets.
Le fichier déclare une servlet nommée Guestbook, et lui associe un chemin d’url /Guestbook.
web.xml donne le chemin à l’intérieur de l’application WAR d’un fichier htlm (ici index.html) qui sera utilisé par le
serveur chaque fois que l'utilisateur récupère une URL qui n'est pas déjà associé à une servlet.
LE FICHIER APPENGINE-WEB.XML
App Engine a besoin d'un fichier de configuration supplémentaires pour trouver la façon de déployer et d'exécuter
l'application. Ce fichier est nommé appengine-web.xml réside dans WEB-INF/ à côté de web.xml. Il inclut un
identificateur (l'ID de application), le numéro de version de votre application, et des listes de fichiers qui doivent être
traités comme des fichiers statiques (tels que des images et des feuilles de style CSS) et les fichiers de ressources (telles
que les JSP et autres données d'application). Eclipse crée une zone vide, à vous de la remplir plus tard,
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application></application>
<version>1</version>
</appengine-web-app>
appengine-web.xml est spécifique à App Engine et ne fait pas partie de la norme servlet. Les schémas XML décrivant
le format de ce fichier est dans le répertoire du sdk App Engine appengine-java-sdk/docs. Voir Configuration d'une
appli pour plus d'informations sur ce fichier.
EXECUTION DU PROJET
Le SDK App Engine inclut un serveur Web de développement utilisé pour tester votre application. Le serveur simule
l'environnement App Engine et les services correspondants, y compris les restrictions du bac à sable (sandbox), le
stockage des données, et les services.
Pour démarrer le serveur de développement dans le débogueur Eclipse sélectionner le projet Guestbook, puis clic droit et
choisir Déboguer en tant que > Web Application
1 / 23 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !