4.2. LE MODELE ORIENTE
CLIENT-SERVEUR
4.2.1. Concepts de base sur
le client-serveur
ú Un client est un processus (programme) qui demande
des services au serveur en lui envoyant des requêtes.
ú Un serveur est un processus qui rend des services aux
processus clients en exécutant leurs requêtes.
4.2.2. Paquetages
nécessaires
ú java.net : paquetage nécessaire pour les
fonctionnalités réseaux : il nous fournira les classes Socket qui
permet à un client de se connecter à un serveur et
ServerSocket qui permet au serveur de se lancer
ú java.io : paquetage important pour la création
des flux E/S
ú Il nous fournira les classes BufferedReader
pour créer un flux d'entrée et PrintWriter pour
créer un flux de sortie.
ú java.sql: paquetage important pour la création
la connexion aux BD et leur manipulation à l'aide des requêtes
sql. Il nous fournit les classes
ú java.awt ou java.swing: paquetages importants pour la
création des interfaces graphiques utilisateurs
ú java.awt.event: paquetage important pour les
événements avec les GUI
4.2.3. Structure d'un
client
ú Un client commence par se connecter au serveur. Il
doit donc préciser l'adresse IP ou le nom de la machine ainsi que le
numéro du port dans lequel officie le serveur:
new Socket(« IP du serveur »,
port);
ú Création des flux d'entrée :
New BufferedReader(new
InputStreamReader(Socket.getInputStream()));
ú Création des flux de sortie :
new PrintWriter(Socket.getOutputStream(),
true);
ú Formulation de la requete
String requete = « .... »;
ú Envoi de la requête au serveur par un flux de
sortie
PrintWriter.println(requete);
ú Formulation de la requête
String requete = « .... »;
ú Envoi de la requête au serveur par un flux de
sortie
PrintWriter.println(requete);
4.2.4. Structure d'un serveur
ú Le serveur commence par se lancer sur un port
précis;
new ServerSocket(port);
ú Se met à l'attente (écoute) des
connexions clientes
Socket = Serveur.accept();
ú Confie la connexion cliente reçue à un
service
new Service(socket du client).start();
4.2.5. Structure d'un
service
ú Le service reçoit la connexion cliente lui
confiée par le serveur
ú Crée les flux de communication avec le
client
ú Lit la requête à travers un flux
d'entrée
ú Traite la requête du client
ú Envoie le résultat à travers un flux de
sortie au client.
4.2.5. JDBC
ú Java DataBase Connectivity
ú Création de l'interface JDBC-ODBC :
Class.forName(« sun.jdbc.odbc.JdbcOdbcDriver»);
ú Connexion à une source de donnée
Connection=
DriverManager.getConnection(« jdbc:odbc:source de
donnée »,
« user », « password »);
ú Création d'un objet de la classe Statement
pour l'exécution des requêtes sql
Statement= Connection.createStatement();
ú Exécution d'une requête
d'écriture
int nbEnreg =
Statement.executeUpdate(« requête sql »);
ú Exécution d'une requête
d'interrogation
ResultSet =
Statement.executeQuery(« requête sql »);
|