WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Analyse d'intégration des technologies web services dans un système distribué pour l'authentification et le suivi permanent des étudiants.


par Daniel Kavale
Université Révérend Kim - Licence en Conception des systèmes d'information et Gestion des Bases des données 2020
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

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.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"La première panacée d'une nation mal gouvernée est l'inflation monétaire, la seconde, c'est la guerre. Tous deux apportent une prospérité temporaire, tous deux apportent une ruine permanente. Mais tous deux sont le refuge des opportunistes politiques et économiques"   Hemingway