ALSI Architecture Client/Serveur STS2 Le middleware Le 26/05/17 page 1/4 1. COMPETENCES A ATTEINDRE A LA FIN DU TP Comprendre l’intérêt d’un middleware en vérifiant l’indépendance Client/serveur. Mettre en œuvre un C/S de données 2. LE CONTEXTE On travaille sur la base de données FFMC : Fédération Française de Moto Cross qui contient 3 tables : ligue, club et licencié. Les IHM seront réalisés en Php Les données vont être implantées successivement sur les serveurs de BD MySQL puis ORACLE. On veut montrer la facilité de mise à jour des clients si on utilise un middleware : ODBC. 3. ETAPES DU TP Implanter la base de données FFMC sous MySQL Client php pour la BD MySQL Client php pour la BD MySQL Implanter la base de données FFMC sous ORACLE. Client Php pour la BD ORACLE Créer une base de données sous MySQL Exécuter les scripts de création des tables Exécuter les scripts de création des données Ecrire un programme de lecture de la table Licencie Paramètrer une DSN système pour MySQL Réécrire le programme avec Odbc Créer une base de données sous Oracle Exécuter les scripts de création des tables Exécuter les scripts de création des données Installer la connexion Client Oracle/Serveur Oracle avec Oracle Net Paramètrer une DSN système pour Oracle Vérifier le programme client 4. IMPLANTER LA BASE DE DONNEES FFMC SOUS MYSQL On travaille à partir de l’interface texte de MySQL. Créer une base de données Exécuter le script de création des tables : Vérifier la création des tables Exécuter le script de création des données : Vérifier la création des lignes CREATE DATABASE BDFFMC ; USE BDFFMC ; SOURCE Mysql\CreBdFfmc.sql ; SHOW TABLES ; SOURCE Mysql\InsertBDFFMC.sql ; SELECT * FROM LICENCIE ; 5. CLIENT PHP POUR LA BD MYSQL Ecrire un programme de lecture de la table Licencie. Vous pourrez vous inspirer du programme en annexe. D:\841049430.doc ALSI Architecture Client/Serveur STS2 Le middleware Le 26/05/17 page 2/4 Architecture obtenue : Navigateur Apache MySQL Serveur Client SGDB Ce programme n’est utilisable qu’avec un seul serveur de données MySQL. Solution pour que ce programme client soit indépendant du serveur de données : un MIDDLEWARE : ODBC Architecture à obtenir : Navigateur Apache Client DsnBdFFMC MySQL Serveur Middleware ODBC 6. PARAMETRER UNE DSN SYSTEME POUR MYSQL : DSNBDFFMC D:\841049430.doc SGDB ALSI Architecture Client/Serveur STS2 Le middleware Le 26/05/17 page 3/4 7. RENDRE LE PROGRAMME CLIENT PLUS EVOLUTIF Réécrire le programme de lecture avec les fonctions de la bibliothèque ODBC. Tester. On souhaite porter la base de données sur un serveur Oracle. Que faut-il faire ? 8. IMPLANTER LA BASE DE DONNEES FFMC SOUS ORACLE On travaille à partir de SQLPlus. Créer un utilisateur Exécuter le script de création des tables : Vérifier la création des tables Exécuter le script de création des données : Vérifier la création des lignes CREATE USER AdminFFMC …; Connect AdminFFMC… START oracle\CreBdFfmc.sql ; SELECT TABLE_NAME FROM TABS ; START oracle\InsertBDFFMC.sql ; SELECT * FROM LICENCIE ; 9. ADMINISTRER LA BD SOUS ORACLE 9.1. Installer la connexion Client Oracle/Serveur Oracle avec Oracle Net Pour que le client puisse se connecter au Serveur Oracle, il faut paramétrer le middleware propriétaire d’Oracle : Oracle Net. Lancer l’interface graphique Assistant Configuration Oracle Net Saisir un nom de connexion (équivalent au DSN) et paramétrer la connexion : protocole de transport et serveur cible. (couches du modèle OSI voisines du middleware) D:\841049430.doc ALSI Architecture Client/Serveur STS2 Le middleware Le 26/05/17 page 4/4 Architecture intermédiaire à obtenir : ORACLE Serveur CnxORACLE SQLPLus SQLPlus Client Middleware propriétaire Oracle Net SGBD 9.2. Tester la base directement avec le serveur Oracle A partir de SQLPLus, tester l’accès à la table LICENCIE par un SELECT * FROM licencie ;. 9.3. Reparamètrer la DSN ODBC pour Oracle au lieu de MySQL Architecture à obtenir : DsnBdFFMC Apache Client Middleware ODBC CnxOracle Middleware Oracle Net 9.4. Tester les IHM à partir du client Idem à MySQL 10. UN CLIENT ACCESS Je souhaite utiliser des interfaces programmés sur ACCESS. Que dois-je faire ? 11. SE CONNECTER A UNE AUTRE BD ORACLE En principe, chaque BD ne dispose que des données de son club. Que faut-il faire pour se connecter aux données de la BD de votre voisin ? 12. LA SESSION Vous pouvez redéfinir la session en fixant user et password lors de la définition de la DSN. Quelle est la méthode la plus sécurisée ? D:\841049430.doc ORACLE Serveur SGDB