IV.4. implémentation du système
IV.4.1. implémentation de la base des
données ? Script de création de la base des données
:
-- MySQL Workbench Forward Engineering
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
45
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
FOREIGN_KEY_CHECKS=0;
SET
@OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
-- Schema MonMemoire
CREATE SCHEMA IF NOT EXISTS `MonMemoire` DEFAULT CHARACTER SET
utf8 COLLATE utf8_general_ci ;
USE `MonMemoire` ;
-- Table `MonMemoire`.`Etudiant`
DROP TABLE IF EXISTS `MonMemoire`.`Etudiant` ;
CREATE TABLE IF NOT EXISTS `MonMemoire`.`Etudiant` (
`idEtud` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '',
`Matricule` VARCHAR(45) NOT NULL COMMENT '',
`nomEtud` VARCHAR(45) NULL COMMENT '',
`postnomEtud` VARCHAR(45) NULL COMMENT '',
`prenomEtud` VARCHAR(45) NULL COMMENT '',
`sexe` VARCHAR(45) NULL COMMENT '',
`adresse` VARCHAR(45) NULL COMMENT '',
`lieuDeNais` VARCHAR(45) NULL COMMENT '',
`dateNais` VARCHAR(45) NULL COMMENT '',
PRIMARY KEY (`idEtud`, `Matricule`) COMMENT '')
ENGINE = InnoDB;
-- Table `MonMemoire`.`Universite`
DROP TABLE IF EXISTS `MonMemoire`.`Universite` ; CREATE TABLE IF
NOT EXISTS `MonMemoire`.`Universite` ( `idUniversite` INT NOT NULL
AUTO_INCREMENT COMMENT '', `libUniv` VARCHAR(45) NULL COMMENT '', PRIMARY KEY
(`idUniversite`) COMMENT '') ENGINE = InnoDB;
-- Table `MonMemoire`.`Faculte`
DROP TABLE IF EXISTS `MonMemoire`.`Faculte` ;
CREATE TABLE IF NOT EXISTS `MonMemoire`.`Faculte` (
`idFaculté` INT NOT NULL AUTO_INCREMENT COMMENT '',
`ibFac` VARCHAR(45) NULL COMMENT '',
`idUniv` INT NOT NULL COMMENT '',
PRIMARY KEY (`idFaculté`) COMMENT '',
INDEX `fk_Faculté_Universite1_idx` (`idUniv` ASC) COMMENT
'')
46
ENGINE = InnoDB;
-- Table `MonMemoire`.`Departement`
DROP TABLE IF EXISTS `MonMemoire`.`Departement` ; CREATE TABLE
IF NOT EXISTS `MonMemoire`.`Departement` ( `idDepart` INT NOT NULL
AUTO_INCREMENT COMMENT '', `libDepart` VARCHAR(45) NULL COMMENT '',
`idFac` INT NOT NULL COMMENT '',
PRIMARY KEY (`idDepart`) COMMENT '',
INDEX `fk_Departement_Faculté1_idx` (`idFac` ASC) COMMENT
'') ENGINE = InnoDB;
-- Table `MonMemoire`.`Option`
DROP TABLE IF EXISTS `MonMemoire`.`Option` ;
CREATE TABLE IF NOT EXISTS `MonMemoire`.`Option` (
`idOption` INT NOT NULL AUTO_INCREMENT COMMENT '',
`libOpt` VARCHAR(45) NULL COMMENT '',
`idDepart` INT NOT NULL COMMENT '',
PRIMARY KEY (`idOption`) COMMENT '',
INDEX `fk_Option_Departement1_idx` (`idDepart` ASC) COMMENT
'')
ENGINE = InnoDB;
-- Table `MonMemoire`.`Promotion`
DROP TABLE IF EXISTS `MonMemoire`.`Promotion` ;
CREATE TABLE IF NOT EXISTS `MonMemoire`.`Promotion` ( `idPromo`
INT NOT NULL AUTO_INCREMENT COMMENT '', `libPromo` VARCHAR(45) NULL COMMENT
'',
`idOpt` INT NOT NULL COMMENT '',
PRIMARY KEY (`idPromo`) COMMENT '',
INDEX `fk_Promotion_Option1_idx` (`idOpt` ASC) COMMENT '') ENGINE
= InnoDB;
-- Table `MonMemoire`.`Appartenir`
DROP TABLE IF EXISTS `MonMemoire`.`Appartenir` ; CREATE TABLE IF
NOT EXISTS `MonMemoire`.`Appartenir` ( `idAppartenir` INT NOT NULL
AUTO_INCREMENT COMMENT '', `anneeAcad` VARCHAR(45) NOT NULL COMMENT '',
`pourcent` FLOAT NOT NULL COMMENT '', `mension` VARCHAR(45) NOT NULL COMMENT
'', `Session` VARCHAR(45) NULL COMMENT '',
47
`idEtud` INT UNSIGNED NOT NULL COMMENT '',
`Matricule` VARCHAR(45) NOT NULL COMMENT '',
`idPromo` INT NOT NULL COMMENT '',
PRIMARY KEY (`idAppartenir`) COMMENT '',
INDEX `fk_Appartenir_Etudiant_idx` (`idEtud` ASC, `Matricule`
ASC) COMMENT '',
INDEX `fk_Appartenir_Promotion1_idx` (`idPromo` ASC) COMMENT
'')
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
? Présentation du Schéma global de la
base des données
Figure IV.3. Schéma global de la base des
données
IV.4.2. Implémentation des services web
NetBeans prend en charge le développement rapide des
services Web RESTful, ces derniers étant très efficaces lorsqu'il
s'agit d'utiliser les Bases de Données. En plus de construire des
services Web RESTful, NetBeans prend également en charge les tests, le
développement d'applications clientes qui accèdent à des
services Web RESTful, et la génération de code pour invoquer des
services Web (à la fois RESTful et SOAP.)
Voici la liste des fonctionnalités RESTful fournies par
NetBeans:
? La création rapide de services Web RESTful des classes
et des modèles d'entités JPA.
48
? Génération de code rapide
pour appeler des services Web tels que Google Map, Yahoo Nouvelles Recherche,
et utilisation des composants Web services par glisser-déposer à
partir du gestionnaire de services Web dans la fenêtre Services.
? Génération de clients RESTful
Java pour les services enregistrés dans le gestionnaire de services
Web.
? Vue logique pour faciliter la navigation
des classes d'implémentation de services Web RESTful dans votre
projet.
Nous allons commencer par créer une application web
nommée GestionAuthentification et ensuite nous dans l'onglet services de
NetBeans pour ajouter une connexion à notre BD.
Figure IV.4. Création de la connexion à
la base de données
On fait ensuite un clic droit sur DataBase et on
sélectionne New connection (ou Nouvelle connexion). Cette action nous
conduira à l'interface suivante :
Figure IV.5. Choix du pilote de connexion
MySQL
49
On sélectionne comme Driver (pilote) MySQL (Connector/J
driver) et on clique sur le bouton Next.
Figure IV.6. Personnalisation et de connexion MySQL
On entre ensuite le nom de la Base de Données, le nom
d'utilisateur ainsi que le mot de passe s'il y en a un et on clique sur Finish.
Vous pouvez aussi, avant de cliquer sur le bouton Finish, cliquer sur le bouton
Test Connection pour vérifier si les entrées sont exactes.
Figure IV.7. Aperçue de la nouvelle connexion
créée
Nous remarquons donc l'ajout dans NetBeans d'une connexion
vers notre Base de Données monmemoire. On rentre ensuite dans l'onglet
Projects de NetBeans pour ajouter à notre projet une source de
données. Pour ce faire, on se positionne sur le
50
projet et on y effectue un clic droit, on sélectionne
New (Nouveau) > Others (Autres) pour arriver à l'interface suivante
:
Figure IV.8. Création de pool de connexion JDBC pour
GlassFish
Dans Categories on sélectionne GlassFish et dans File
Types on sélectionne JDBC Connection Pool. En cliquant sur
Next nous arrivons à l'étape suivante :
Figure IV.9. Attribution du nom de pool de connexion
En premier, on nomme le pool de connexion et en second on
sélectionne la connexion définie pour la base des données
monmemoire que nous avions préalablement créé dans
NetBeans. On clique ensuite sur Next puis sur Finish dans l'interface qui suit
:
51
Figure IV.10. Fin de la création de notre pool
A ce stade notre pool de connexion cursusPool est
créé et il ne nous reste qu'à l'associer à une
ressource JDBC. Pour la ressource JDBC, on se positionne sur le projet, on
effectue un clic droit et on sélectionne New (Nouveau) > Others
(Autres) pour arriver à l'interface suivante :
Figure IV.11. Configuration de la ressource pour GlassFish
Cette fois ci dans le volet File Type on sélectionne
JDBC Resource. En cliquant sur Next nous avons l'interface
suivante dans laquelle on prendra soin de sélectionner comme pool de
connexion celui que nous avons créé préalablement
(GestAthentPool) et de nommer notre ressource JDBC
(jdbc/GestAuthent) :
52
53
Figure IV.12. Attachement du pool créé à
la ressource
Après avoir cliqué sur Finish, nous pouvons
commencer à créer notre service Web. Pour ajouter le service Web,
on se positionne sur le projet, on effectue un clic droit et on
sélectionne New > Others, mais
cette fois en sélectionnant web services dans
categorie et RESTful Web Services from Database dans
File Types.
Figure IV.13. Création des services web Restful
En cliquant sur Next, on prend soin de
sélectionner notre source de données «java :
app/jdbc/GestAuthent », on se retrouve devant la fenêtre qui va
suivre(figure IV.14.).
Nota : Pour des raisons de sécurité de notre
système et son bon fonctionnement, nous ne pouvons sélectionner
que des tables qui vont constituer l'objet de nos services qui seront
publiés et consommés par les clients.
Figure IV.14. Création des classes entité pour le
WS
On clique sur le bouton Add», puis
sur Next pour nous retrouver sur l'interface suivante :
Figure IV.15. Finalisation de la création du service
web
Sur cette interface, nous pouvons voir nos classes
persistantes créées à partir des tables de notre base des
données. Apres avoir donné un nom à notre package, on
clique sur Next et puis Finish.
54
Figure IV.16. Présentation des services web
créés
Comme nous pouvons le constater sur figure IV.16. , nos
services web Restful viennent d'être s avec succès. Il n'attend
plus qu'à être déployer, ce que nous n'allons pas tarder
à faire, car c'est une étape qui va nous permettre d'effectuer
quelques tests.
|