Version PDF
Application composée de deux services communiquant par protocole REST, développé en Java EE.

Ce projet à été développé au cours d’un Projet Personnel Encadré (PPE), l’application est composée de deux services, l’un permettant à l’utilisateur d’intéragir (l’Interface Homme-Machine, IHM), l’autre permettant de traiter les documents XML reçus et de les insérés dans la base de données des utilisateurs du projet (le créateur d’utilisateur). L’application utilise une architecture client-serveur.

Le projet à été réalisé avec deux autres projets annexes, à savoir une application de journalisation et une application d’enregistrement d’utilisateurs, les trois applications sont complémentaires et permettent de répondre au contexte du projet global (Cf. contexte PPE-2016/2017).

La conception en « services » permet d’une part de répartir la charge de traitement sur les serveurs, ainsi séparer l’interface, du traitement lié aux données. D’autre part, cette conception permet d’ajouter une barrière de sécurité, la base de données n’étant pas directement au contact de l’utilisateur, elle l’est au travers du service d’authentification.

Le Client : l’interface Homme-Machine

L’interface permet à l’utilisateur de sélectionner un fichier et de l’envoyer par protocole RESTful au serveur de l’application. L’interface est générée à partir d’un code XHTML généré avec le framework JSF (Java Server Faces). L’interface est donc composée d’un simple formulaire de soumission permettant l’envoi d’un fichier, le bouton de soumission déclenche une méthode JAVA qui déclenche la convertion du fichier XML joint en un flux de données binaires (bytecode) qui est envoyé au serveur d’application.

Lorsque l’envoi du fichier est réalisé, l’interface reste en attente de la réponse du serveur, lorsque ce dernier à effectuer son traitement, il renvoi une réponse positive (true) ou négative (false), l’interface affiche ensuite à l’utilisateur que le traitement est soit réalisé, soit échoué.

Le Serveur : le créateur d’utilisateur

L’application de création d’utilisateurs réalise le traitement des fichiers XML qu’elle reçoit sousforme binaire et qui lui est envoyé depuis l’interface Homme-Machine.

L’application reçoit un flux binaire (bytecode) qu’elle convertit en un fichier XML pour qu’il retrouve sa forme originale, puis l’application analyse chacun des éléments du fichier afin d’en dissocier les éléments en ce référent à un modèle DTD (utilisateur.dtd). Le fichier XML envoyé doit ainsi respecter la forme du fichier DTD dans sa structuration, ainsi, l’application détermine le nom des tables, des champs et les valeurs.

L’application convertit ensuite chacune de ces données en des objets correspondant aux tables persistantes sur la base de données, ses objets sont ensuite rendus persistant à l’aide du framework JPA (Java Persistence API) qui permet la persistance d’objets Java dans les bases de données relationnelles.

Démonstration de l’application

  • Type de projet : Application JAVA/JEE
  • Technologies : JPA, JSF, JAVA EE, Docker, Tomcat, Derby
  • Environnement de développement : Eclipse EE, Git
  • Environnement de déploiement et de test : Serveur Apache TomCat et base de donnée Derby dans des micro-conteneurs Docker
  • Code source : https://github.com/aittiritesoufian/PPE3-CreateurMagasins