Arrivés à ce point du tutoriel, nous savons créer une application Web implémentant la persistance des données. Toutefois, le modèle de cette application était simple et composé d'une unique classe et les fonctionnalités implémentées étaient relativement restreintes. Maintenant que nous connaissons les concepts du développement Web avec la plateforme JEE et de l'architecture d'un projet Web, nous allons mettre en pratique nos nouvelles connaissances en réalisant l'étude de cas proposée dans tous les tutoriels Java : le projet PGE. Présentation du projet PGE est un projet de gestion d'évènements qui constitue l'occasion de réaliser une application client-serveur complète, gérant la persistance des données et utilisant une interface graphique riche. Il doit permettre de créer des évènements, d'y inviter un certain nombre de personnes et de constituer une liste de courses associée à un évènement. Dans le tutoriel JEE, nous allons réaliser la partie serveur de cette application au cours des prochains chapitres. La partie cliente pourra être réalisée à l'aide de pages JSP gérées par des Servlets comme nous avions commencé à le faire pour le projet PGE JEE V1 dans les chapitres précédents. Vous pourrez également développer une interface riche à l'aide d'adobe Flex : c'est l'objet d'un autre tutoriel Mistra. Le modèle de données de l'application est le suivant :
Les fonctionnalités à implémenter dans notre projet sont les suivantes : Enregistrer un nouvel utilisateur dans la base de données ; Connecter un utilisateur à partir de son identifiant et de son mot de passe ; Enregistrer un nouvel évènement dans la base de données : cet évènement possède obligatoirement un utilisateur (celui connecté à l'application) ; Récupérer depuis la base de données tous les évènements d'un utilisateur (celui connecté à l'application) ;
Récupérer depuis la base de données toutes les informations relatives à un évènement ; Modifier un évènement existant dans la base de données ou l'un de ses attributs (adresse, invités ou liste de courses) ; Supprimer un évènement existant dans la base de données ou l'un de ses attributs (adresse, invités ou liste de courses). Importer le modèle et la couche de persistance Import du projet PGE JPA Le modèle et la couche de persistance ont déjà été implémentés en tant qu'exercice dans le tutoriel Hibernate. Nous allons donc réutiliser le résultat de cet exercice en l'important dans le workspace Eclipse. Pour plus d'explications sur ce projet, reportez-vous au tutoriel Hibernate. Pour commencer, téléchargez l'archive PGE JPA et décompressez-la dans le répertoire de votre workspace. Dans Eclipse, cliquez dans le menu File / Import... et choisissez le type Existing Projects into Workspace dans le dossier General :
Cliquez sur Next et sélectionnez alors le répertoire dans lequel vous avez enregistré le dossier PGE JPA : dans notre exemple, cela correspond à C:/Mistra/workspace/PGE JPA :
Vérifiez que le projet trouvé (PGE JPA) est bien coché dans la liste, de même que l'option Copy projects into workspace. Cliquez alors sur Finish ; le projet est désormais ajouté au workspace, comme l'illustre l'explorateur de projets :
Adapation du projet à PGE JEE V2 Le projet que nous venons d'importer a été réalisé dans le tutoriel Hibernate pour fonctionner en tant qu'application seule. Il possède donc une classe Main que nous n'utiliserons pas, ainsi qu'un fichier de configuration hibernate.cfg.xml propre à l'exercice réalisé à l'origine. Nous allons donc modifier ce fichier de configuration pour qu'il s'adapte au projet PGE JEE V2. Vous trouverez ce fichier de configuration à la racine du dossier /src. Il contient des informations relatives à la connexion à la base de données ainsi que les entités à mapper. La seule ligne
que nous devons modifier concerne l'url de connexion à la base de données. Afin de rester cohérent, le projet PGE JPA V2 doit utiliser la base de données pge_jpa_v2 et le projet PGE JEE V2 la base pge_jee_v2. Nous allons donc modifier cette ligne : jdbc:mysql://localhost/pge_jpa_v2 pour qu'elle devienne : jdbc:mysql://localhost/pge_jee_v2 Rappelons-nous également qu'hibernate sait créer les tables mais ne sait pas créer la base. Il nous faut donc créer la base pge_jee_v2 à l'aide de PhpMyAdmin. Lier l'application Web au projet JPA Créons maintenant le projet qui correspondra à notre application Web : PGE JEE V2. Comme cela a déjà été fait dans les chapitres précédents, créez un nouveau Web Dynamic Project et nommez-le PGE JEE V2. N'oubliez pas de sélectionner votre serveur local Tomcat en tant que Target Runtime et cliquez sur Finish :
Pensez également à ajouter le projet au serveur local : Nous allons maintenant faire en sorte que le projet PGE JEE V2 ait accès aux fichiers source de PGE JPA. De cette manière, nous pourrons accéder au modèle depuis PGE JEE V2 comme si celui-ci était explicitement dans un package du projet. Pour ce faire, avec un clic droit sur le nom du projet PGE JEE V2, choisissez Build Path puis Configure Build Path. Cliquez sur l'onglet Projects pour obtenir la fenêtre suivante :
Cliquez alors sur Add puis sélectionnez le projet PGE JPA :
Cliquez enfin sur OK. Les deux projets sont maintenant liés et nous pouvons commencer à développer. Comme pour les projets précédents, nous allons respecter l'architecture en couches vue dans les premiers chapitres. Toutefois, vu la complexité du projet, le pas-à-pas que nous vous proposons ne se fera pas suivant les différentes couches du projet comme nous avons pu le faire dans les chapitres précédents mais par fonctionnalités.
Powered by TCPDF (www.tcpdf.org) Etude de cas : PGE JEE V2 Nous implémenterons et testerons donc les fonctionnalités une à une, afin de s'assurer que la partie serveur de notre application est complète et fonctionnelle. Commençons donc par les deux premières fonctionnalités listées au début de ce chapitre traitant la gestion des utilisateurs.