Architecture Client -Serveur & java RMI
JDBC et SQL
SQL (sigle de Structured Query Language, en français langage de requête structurée) est un langage informatique normalisé servant à effectuer des opérations sur des bases de données relationnelles. La partie langage de manipulation de données de SQL permet de rechercher, d’ajouter, de modifier ou de supprimer des données dans les bases de données relationnelles. Créé en 1974, normalisé depuis 1986, le langage est reconnu par la grande majorité des systèmes de gestion de bases de données relationnelle (abrégé SGBDR) du marché. SQL fait partie de la même famille que les langages SEQUEL (dont il est le descendant), QUEL ou MySQL est un gestionnaire de base de données libre. Il est très utilisé dans les projets libres et dans le milieu industriel.
Requêtes SQL dans JDBC
Les requêtes SQL sont représentées dans JDBC à l’aide des interfaces Statement, PreparedStatement et CallableStatement. Chacune de ces interfaces est spécialisée dans un type particulier de requêtes, Une fois obtenue auprès d’une Connection, une requête peut être exécutée, son résultat prenant la forme d’un ResultSet, dans le cas d’un SELECT. Ce résultat peut alors être vérifié (valeur NULL, ensemble vide, etc.) et parcouru ligne par ligne. Les ordres DELETE, INSERT, UPDATE quant à eux retournent un entier. La méthode executeQuery() exécute une requête et retourne le résultat sous forme d’un ResultSet. Un ResultSet est un ensemble de lignes (chaque ligne représentant un tuple de la relation résultat); chaque ligne comporte le même nombre de colonnes (chaque colonne représentant un attribut de la relation résultat).
EasyPHP et MySQL
EasyPHP permet d’installer MySQL, une base de données, le troisième et inséparable membre du trio Apache/PHP/MySQL. Une base de données est un programme permettant de gérer une grande quantité de données en les organisant sous forme de tables. Vous n’avez alors plus à vous occuper de la manière dont les données sont stockées sur le disque dur, de simples instructions permettent d’ajouter, de supprimer, de mettre à jour et surtout de rechercher des données dans une base de données. On peut de plus accéder très facilement à une base de données MySQL à partir de PHP, ce qui permet de développer des sites web très performants et interactifs (par exemple, le forum de Developpez.com). EasyPHP joint PHPMyAdmin à MySQL, un outil écrit en PHP permettant de gérer vos bases de données MySQL. En utilisant EasyPHP, vous pouvez installer un serveur web complet, qui vous permettra de faire tous vos tests de pages PHP en toute facilité. MySQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Il en reprend la syntaxe mais n’en a pas toute la puissance.
Développement de gestion d’absences
Pour récapituler la réalisation de notre application , nous allons exposer les étapes de déroulement de notre travail. Nous allons commencer par le choix des outils. En effet, les outils qui ont permis le développement de notre application ont été choisis pour des soucis de compatibilités, notamment dus à la récence de certaines technologies. La réalisation du projet s’est déroulée en plusieurs étapes : Nous avons utilisé le modèle relationnel afin de concevoir le schéma de la base de données. Un premier projet de test a été développé afin de tester les connexions à la base de données, le bon déploiement du projet sur le serveur d’applications ainsi que les opérations de base comme l’ajout et la suppression. Nous avons créer une JFrame d’authentification pour nous assurer qu’il y avait une bonne communication entre base de donnée et serveur. Après nous être assurés de la bonne connexion entre eux , nous avons pu continuer le développement du projet .
Un deuxième projet de test a été développé afin de tester la connexion client-serveur sur deux machines pour cela nous avons créé un réseau ad-hoc sécurisé par un mot de passe pour que le client et le serveur soient sur le même réseau (voir annexe), nous avant réussi d’établir une connexion client serveur RMI sur deux machine c’est a base de ce teste nous avons pu poursuivre notre travail. Parmi les services que l’application doit fournir l’affichage des justifications d’absence des étudiants .Aussi il offre le service d’impression cote client et cote serveur. Ainsi que l’envoi d’email d’avertissement au étudiants qui ont exclu ou proche d’être exclu dons un module. De même que notre application permet les opération de base tel que l’ajout, modification et la suppression.
L’authentification pour un système informatique est un processus permettant au système de s’assurer de la légitimité de la demande d’accès faite par une entité (être humain ou un autre système…) afin d’autoriser l’accès de cette entité à des ressources du système (systèmes, réseaux, applications…) conformément au paramétrage du contrôle d’accès . L’authentification permet donc, pour le système, de valider la légitimité de l’accès de l’entité, ensuite le système attribue à cette entité les données d’identité pour cette session (ces attributs sont détenus par le système ou peuvent être fournis par l’entité lors du processus d’authentification). C’est à partir des éléments issus de ces deux processus que l’accès aux ressources du système pourra être paramétré (contrôle d’accès). Pour notre application le serveur et le client doit d’abord s’authentifier par un login et un mot de passe sauvegarder dans la base de donnée pour accéder au menu principal d’application client ou serveur.
Conclusion Générale
Ce projet nous a donné la chance de découvrir les différentes architectures distribuées, en particulier l’architecture de type client/serveur et de se familiariser aussi avec l’outil java et en particulier avec le middleware java RMI. Nous avons appris comment utiliser l’architecture client /serveur avec la méthode Java RMI pour développer notre application de Gestion Des Absences sur un réseau ad hoc. L’utilisateur de notre application qui peut être un enseignant ou un agent dédié aura a sa porté une application facile a utiliser , d’une interface emviviale, il pourra a tous moment sauvegarde le suivi de ses étudiants, de plus avertir les étudiant et de manière automatique des que le nombre d’absence s’augmente. Idéal que notre application soit intégré dans la gestion de scolarité.
|
Table des matières
INTRODUCTION GENERALE
Chapitre 1 Architecture Client -Serveur & java RMI
I.1 Introduction
I.2 Systèmes distribués 4
I.2.1 Définition
I.2.2 Les types d’architecture de système distribués
I.3 Architecture client serveur
I.3.1 Définition
I.3.2 Le serveur
I.3.3 Les clients
I.3.4 Une requête
I.3.5 Réponse
I.3.6 Avantages de l’architecture client/serveur
I.3.7 Inconvénients du modèle client/serveur
I.3.8 Les différentes architectures client/serveur
I.3.9 Les modes d’interaction client/serveur
I.4 Notion de middleware
I.5 Remote Method Invocation (RMI)
I.5.1 Introduction
I.5.2 Définition
I.5.3 L’application RMI
I.5.4 Package RMI
I.5.5 Quelques classes
I.5.6 Architecture RMI
I.5.7 Principe de fonctionnement RMI
I.5.1 Déploiement de RMI
I.6 Conclusion
Chapitre 2 : Analyse & Conception
II.1 Introduction
II.2 Etude de l’existant
II.3 Problématiques
II.4 Spécification des besoins
II.4.1 Besoins fonctionnels
II.4.2 Besoins non fonctionnels
II.5 Conception du système
II.6 Le langage de modalisation UML
II.7 ArgoUML
II.8 Identification des acteurs
II.9 Identification des activités
II.10 Diagramme de cas d’utilisation
II.10.1 Identification des acteurs
II.10.2 Identification des cas d’utilisations
II.11 Spécification des tâches et scenarios du système
II.12 Diagramme de séquence
II.13 Diagramme de classes
II.1 Conclusion
III. Chapitre 03 Implémentation
III.1 Introduction
III.2 Java
III.3 Eclipse
III.4 JDBC (java database connectivity)
III.5 EasyPHP et MySQL
III.6 Présentation de l’application
III.7 Développement de gestion d’absences
III.8 Application gestion des absences
III.9 La sécurité dans notre application
III.10 Conclusion
Conclusion Générale
Bibliographies
Liste des tableaux
Tableau 1 : Spécification des tâches et scenarios du système
Télécharger le rapport complet