UNIVERSITÉ ABDELAMLEK ESSADI FACULTE DES SCIENCES ET TECHNIQUES DE TANGER MASTER : « SYSTEMES INFORMATIQUES ET RESEAUX » Mémoire de Projet de Fin de module « PROGRAMMTION J2EE / EJB » Gestion d’un compte bancaire En utilisant les EJB 3.0 Réalisé par : SALAMA Abdelhakim ROUZI Ayoub Encadré par : Mr. Younes Mortaji 2|Page Liste des figures Figure 1 : Architecture et hiérarchie de classes nécessaires ……………………………………… Figure 2 : diagramme de classes et MLDR ………………………………………………………………… Figure 3 : téléchargement de jboss ……………………………………………………………………………. Figure 4 : configuration du serveur jboss ………………………………………………………………….. Figure 5 : Outils jbooss Tools ……………………………………………………………………………………… Figure 6 : Licence et application Jboss ………………………………………………………………………. Figure 7 : Projet EJB création ………………………………………………………………………………. Figure 8 : Configuration de Projet EJB ……………………………………………………………………….. Figure 9 : Publication du service (déploiement) ………………………………………………………… Figure 10 : Démarrage du service ………………………………………………………………………………. Figure 11 : Fichier XML ……………………………………………………………………………………………. Figure 12 : démarrage du soapui ……………………………………………………………………………….. Figure 13 : Création d’un nouveau projet SOAP ……………………………………………….. Figure 14 : Création d’un projet soap ‘ progrès’ ……………………………………………… Figure 15 : Ajout d’un compte …………………………………………………………………………….. Figure 16 : Ajout d’un compte (9000) ………………………………………………………………………… Figure 17 : résultats du test ……………………………………………………………………………………. Figure 18 : Ajout du compte ……………………………………………………………………………….. Figure 19 : Nouveau test de l’application SOAP (4600) …………………………………….. Figure 20 : Affichage test de l’application SOAP (4600) ……………………………………… 3|Page SOMMAIRE INTRODUCTION ................................................................................................................. Introduction architecture application ................................................................... Installation plugin Jboss Tools.............................................................................. Serveur D'applications JBOSS (Widfly) ................................................................. Création projet EJB .............................................................................................. Création couche métier ....................................................................................... Génération tables correspondantes aux entités .................................................. o Comment déployer un Data Source sur JBOSS ............................... Administration Jboss .............................................................. Ajouter driver MySQL sur JBOSS ........................................... Déployer le projet ................................................................................................ Création Session Bean.......................................................................................... Création interface Remote ................................................................................... o Création EJB Session......................................................................... o Type EJB session (@Stateful @stateless @Singleton) o . Importance JNDI …….....…….....…….....…….....…….....…….....…….....……....... o Gestion persistance JPA (EntityManager) …….....…….....…….....……....... Création des clients …….....…….....…….....…….....…….....…….....…….....……......................... o Création Client Java RMI …….....…….....…….....…….....…….....…….....……..... Dépendances projet client …….....…….....…….....…….....…….....…… Ajouter JBOSS proxy …….....…….....…….....…….....…….....…….....….. Propriété InitialContext …….....…….....…….....…….....…….....……...... "jndi.properties" & "jboss-ejb-client.properties" ………………….. Crée client Web Service SOAP …………………………………………………………………………….. o Creation web service : @WebService; @Ejb(injection dépendance) création projet EAR ……………………………………………………………….. déploiement projet ……………………………………………………………….. wsdl web service ……………………………………………………………………. teste web service (client SoapUI) ………………………………………….. o Crée Web Service RestFull …………………………………………………… CONCLUSION ...................................................................................................................... Bibliographie.......................................................................................................................... 4|Page RÉSUMÉ Les nouvelles technologies de l’information et de la communication ont un effet important sur notre vie quotidienne aussi sur plusieurs disciplines professionnelles, notamment celui du commerce qui ne cesse de se développer à l’aide des innovations technologiques. Désormais la personne peut acheter du matériel par exemple à l’aide d’un smartphone, d’une tablette ou d’un PC. Ce produit doit être présenté de façon à combler le besoin des membres (cadres ou employés) d’une agence bancaire Dans le cadre de notre projet, L’objectif de ce projet est de mettre en place une application orientée objet pour gérer ce que rapporte les membres (cadres ou employés) d’une agence bancaire. . 5|Page INTRODUCTION De nos jours le monde est considérablement interconnecté. En effet, l'usage des différents outils de la gestion poursuit sa croissance à travers le monde. Un tel engouement s’explique par l’abolition des distances, la facilité de la vente Et d’achat par tout dans le monde. Cependant, la réalisation d’une application qui gère tous ses taches impliquent la présence de certains critères ainsi qu’une gestion précise en toute sécurité en gardant à l’œil la confiance du client dans le processus depuis le premier jour de contrat jusqu’à sa fin. Dans le cadre de notre projet de fin de module, nous étions invités à créer un programme qui permet de gérer cette banque et qui de réaliser, les tâches Ce rapport est organisé sous forme de trois chapitres : Le premier chapitre présente le contexte général du projet Le deuxième chapitre est consacré au la hiérarchie de classes nécessaires Le troisième chapitre est représentatif de la réalisation 6|Page Chapitre 1 Contexte général du projet 1. Présentation du projet Au cours de cette partie nous allons présenter la problématique, les objectifs du projet et le planning selon lequel il a été réalisé. 2.1. Objectifs du projet 1- Traduire un diagramme de classe en un code 2- Améliorer ces connaissances sur les EJB 3 3- Tester différents types de clients (lourds et légers) 4- Communiquer avec une base de données en utilisant des datasources / JPA 2.2. Travail demandé : 1. Suivre le TP fait en classe (Jusqu’à la page 123) 2. Implémenter des clients : i. Lourd : client java en utilisant le protocole RMI ii. Léger : App web avec une vue, ou un service web SOAP iii. Le travail doit obligatoirement implémenter la partie métier en utilisant les EJB 3 à partir du TP 3. Ce que vous devez respecter lors de la présentation de votre travail : i. Vous allez rédiger un petit rapport qui doit contenir ces informations : ii. Les Framework utilisés tout en spécifiant leurs versions (Type 4. serveur utilisé et sa version, version JDK, IDE, d’autres Framework, …) 5. ii. Expliquer en clair ce que vous avez fait Rapport | 8 MASTER-SIR Chapitre 2 Analyse et conception 2. La hiérarchie de classes nécessaires Cette partie présente le processus de conception de la hiérarchie, le schéma correspond à tout ce qui relève de la description des classes. Figure 1 : Architecture et hiérarchie de classes nécessaires Il définit la forme de cette hiérarchie, ainsi la conception d’un schéma correct est essentielle pour le développement d’une application. AYOUB ROUZI & ABDELHAKIM SALAMA Rapport | 9 MASTER-SIR Voilà le diagramme des classes et MLDR : Figure 2 : diagramme de classes et MLDR AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 10 MASTER-SIR Chapitre 3 Réalisation 4. Réalisation de code 4.1 Outils de travail 4.1.1. E c l i p s e Eclipse is an integrated development environment (IDE) used in computer programming, and is the most widely used Java IDE 4.1.2. Jboss The JBoss AS community project has been renamed to the WildFly community project, which has a new home at wildfly.org. 4.1.3. J 2 e e Java Platform, Enterprise Edition, ou Java EE (anciennement Java 2 Platform, Enterprise Edition, ou J2EE), est une spécification pour la plate-forme Java d'Oracle, destinée aux applications d'entreprise. 4.1.4. P o w e r AMC Un logiciel qui aide à la modélisation des diagrammes par le langage UML et utilise la méthode Merise AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 11 MASTER-SIR 4.2. Réalisation : 1. Installation plugin Jboss Tools : Figure 3 : téléchargement de jboss Help>Eclipse Marketplace Figure 4 : configuration du serveur jboss AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 12 MASTER-SIR Il n’est pas nécessaire d’installer tous les outils fournis par Jboss Tools Désactiver le plugin pour ne sélectionner que les plugins dont on a besoin : Figure 5 : Outils jbooss Tools Activer Uniquement JBossAS Tools Pour installer les outils du serveur d’application Jboss : Figure 6 : Licence et application Jboss Acceptez la licence Une fois l’installation terminée, L’assistant vous demandera de redémarrer Eclipse. AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 13 MASTER-SIR Création d’un projet EJB : Figure 7 : Projet EJB création New > EJB Project. Création d’un projet EJB : Figure 8 : Configuration de Projet EJB Après avoir spécifié le nom du projet. AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 14 MASTER-SIR Cliquez sur le bouton New Runtime, pour associer un serveur à ce projet. Maintenant l’affichage et la description d’exécution de notre code : On déploie le projet dans le serveur : Figure 9 : Publication du service (déploiement) Démarrage du service : AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 15 MASTER-SIR Maintenant on exécute le client java RMI Figure 10 : Démarrage du service A cette partie, on va créer le client web service SOAP Fichier XML : AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 16 MASTER-SIR Figure 11 : Fichier XML Démarrage du SoapUI : Figure 12 : démarrage du soapui Création d’un nouveau projet SOAP : Figure 13 : Création d’un nouveau projet SOAP AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 17 MASTER-SIR Création d’un projet soap ‘ progrès’ : Figure 14 : Création d’un projet soap ‘ progrès’ Test de l’ajout d’un compte : Figure 15 : Ajout d’un compte AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 18 MASTER-SIR Résultat de l’ajout : Figure 16 : Ajout d’un compte (9000) Résultat de l’affichage d’un compte qu’on a spécifié : Figure 17 : affichage d’un nouveau projet SOAP AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 19 MASTER-SIR Résultats : Figure 18 : Résultats d’affichage Affichage des résultats : Figure 19 :affichages des comptes AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 20 MASTER-SIR Le test de retirer : Figure 20 : Test de retirage Le test de versement : Figure 21 : test de versement AYOUB ROUZI & ABDELHAKIM SALAMA MASTER-SIR R a p p o r t | 21 Affichage test de versement : Figure 22 : Affichage test de de versement AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 22 MASTER-SIR Application Client Web : Voilà la fenêtre de la page d’authentification : Figure 23 : affichage d’Authentification Voilà la page de l’application : Figure 24 : Page de l’application Ajouter Figure 25 : Test d’ajout AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 23 MASTER-SIR Verser parce que le compte est vide : Figure 26 : Versement Résultat : Figure 26 : Versement Verser dons le compte autre fois : Figure 27 : Seconde Versement AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 24 MASTER-SIR Résultat de l’affichage : Figure 28 : Résultat de l’affichage Maintenant retirer : Figure 29 : Test de retirage Résultat de retirage : Figure 30 : Résultat de retirage AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 25 MASTER-SIR Test de versement Figure 31 : Test de versement Résultat de versement : Figure 32 : Résultat de versement AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 26 MASTER-SIR Dans cette partie on crée le Web Service RestFull On peut accéder a ce service par le lient : http://localhost:8080/BanqueWeb/comptes Figure 33 : Web service Restfull Et après on spécifier le compte qu’on veut afficher, par exemple : http://localhost:8080/BanqueWeb/comptes/2 Figure 34 : Spécification de compte L’autre solution c’est d’utiliser ( Advanced Rest Client ) : Figure 35 : Advanced rest client AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 27 MASTER-SIR Avec laquelle on peut effectuer les tache qu’on veut, par exemple le versement passe comme cela : Figure 36 : Exemple de versement Résultat : Figure 37 : Affichage des résultats AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 28 MASTER-SIR Au cas au on veut voir les comptes : Figure 38 : Visualiser les comptes On appuie sur send et ça donne : Figure 39 : Résultats de fonctionnement AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 29 MASTER-SIR CONCLUSION : En substance ce projet consistait à crier une application. Nous avons présenté tout au long de ce rapport la démarche que nous avons suivie pour la mise au point. Pour améliorer notre sujet, on peut ajouter d’autres fonctionnalités ainsi que modifier le squelette et l’affichage de notre application en se basant sur les nouvelles technologies. Ce projet a été une bonne occasion pour explorer le monde du travail, pour développer nos connaissances et nos compétences et surtout pour découvrir des nouvelles fonctionnalités de J2ee. AYOUB ROUZI & ABDELHAKIM SALAMA R a p p o r t | 30 MASTER-SIR Bibliographie https://fr.wikipedia.org/wiki/Enterprise_JavaBeans http://cse.final-year-projects.in/c/java-j2ee-projects https://www.jmdoudoux.fr/java/dej/chap-ejb3.htm http://www-igm.univ-mlv.fr/~dr/XPOSE2003/alexandrebole/jboss_1.html https://developer.jboss.org/thread/27617?_sscc=t http://www.commentcamarche.net/contents/548-j2ee-java-2-enterprise-edition https://openclassrooms.com/courses/creez-votre-application-web-avec-java-ee http://forum.hardware.fr/hfr/Programmation/Java/entity-jboss-j2ee-sujet_109376_1.htm https://github.com/Himansu-Nayak/j2ee-jboss-examples AYOUB ROUZI & ABDELHAKIM SALAMA