2007-2008 1
Introduction au
Client/Serveur
2007-2008 2
Plan
 Notion de « Système d’Information »
 Évolutions
 Client/Serveur
 Quelques exemples
 Middleware
 Tendances
2007-2008 3
Notion de
«Système d’Information»
 Système d’Information : ensemble des
informations circulant dans une
organisation, et supportant son activité
 Un sous-ensemble de ces informations est
géré au travers du système informatique;
les informations sont épurées et codifiées :
ce sont des données
 système informatique : ensemble des
moyens matériels et logiciels destinés à la
gestion des données d’une organisation.
2007-2008 4
Évolution (1) :
« mainframe »
 Une seule machine ou plusieurs du même type
reliées en réseau, supportée par un O.S.
propriétaire (MVS/IBM, VMS/DEC,
VME/ICL,…)
 Des terminaux passifs, interface texte
 Services offerts :
 Gestion de fichiers (ISAM), puis des bases de
données (SGBD hiérarchique, puis réseau),
 Gestion des transactions (moniteurs
transactionnels)
 Logiciels applicatifs spécifiques (développés par
l ’équipe informatique en place)
http://www.osdata.com/oses/
http://en.wikipedia.org/wiki/Mainframe_comp
uter
2007-2008 5
Évolution (1)
« mainframe »
 Systèmes centralisés des années
1970
2007-2008 6
Évolution (2)
PC
 PCs des années 80, interface riche
 Chaque utilisateur possède un système
complet à son service, évolution de la
bureautique personnelle
 Logiciels émulateurs de terminaux pour les
relier aux systèmes centraux
 multiplication des applications, et des
fichiers, difficulté de maintenance, risques
2007-2008 7
Évolution (3)
PC serveurs
 La puissance des ordinateurs augmente
 Standardisation des protocoles réseau
 Les Systèmes d’exploitation pour serveurs
évoluent et apportent les mêmes
fonctionnalités que ceux des « mainframe »
 + Avantage des mainframe : robustesse des
systèmes d’exploitation
 + Avantage des PC : souplesse
2007-2008 8
Évolution (4)
Architecture C/S
 Tirer profit de ces nouvelles architectures :
 Combiner les ressources des ordinateurs en
réseau pour optimiser leur utilisation, accroître
leurs performance, faciliter les évolutions
 Répartir l’exécution des applications sur le poste
Client ET sur le poste Serveur
 Les différents types de Client/Serveur = une
question de dosage
2007-2008 9
Client/Serveur
Des systèmes centralisés aux systèmes distribués
Appelant
Appelé
Appelant
Appelé
réseau
Appel de procédure Appel de procédure distante
(Remote Procedure Call, RPC)
2007-2008 10
Client/Serveur
POSTE
CLIENT
POSTE
SERVEUR
Interface
GUI(*)
données
traitements
(*) GUI : Graphic User Interface / Interface graphique utilisateur,
correspond au formulaire (form, frame) visible par l’utilisateur, réalisant
l’interface avec le code de l’application
Morceler une application de manière à répartir son exécution
sur plusieurs machines
2007-2008 11
Client/Serveur
 Définitions
 Clients et Serveurs sont des entités distinctes
fonctionnant de concert sur un réseau pour
accomplir une tâche
 Modèle d’architecture applicative où les
programmes sont répartis entre processus
clients et serveurs communiquant à travers un
système de requêtes/réponses
 Différencier les notions de
 processus client et serveur
 machines client et serveur
2007-2008 12
Client / Serveur
 Client :
 Processus demandant l’exécution d’une
opération à un autre processus par envoi d’un
message contenant le descriptif de l’opération à
exécuter, et attendant la réponse à cette
opération par un message en retour.
 Serveur :
 Processus à l’écoute, accomplissant une
opération sur demande d’un client, et
transmettant la réponse à ce client.
2007-2008 13
Requête / Réponse
 Requête :
 Message transmis par un client à un
serveur, décrivant l’opération à exécuter
pour le compte du client
 Réponse :
 Message transmis par un serveur à un
client, en réponse à une requête suite à
l’exécution d’une opération contenant les
paramètres de retour de l’opération
2007-2008 14
Plusieurs Client/Serveur
 serveurs de fichiers
 serveurs de base de données
 serveurs de transactions
 serveurs de groupware
 serveurs d’objets
 serveurs Web
2007-2008 15
Dialogue client/serveur
Réponse
Client
Application
Application
« service »
Requête
Serveur
Plusieurs clients émettent des requêtes vers un serveur
Déclenche le
dialogue En attente
d’une requête
En attente
d’une requête
En attente de
la réponse
2007-2008 16
Différents types de C/S
 C/S de présentation
 Rhabillage (« revamping »)
 Mode de rhabillage des interfaces
graphiques pauvres en Windows, Icones,
etc.
 C/S de données
 C/S de procédures
 Systèmes répartis
2007-2008 17
Différents types de C/S
Présentation Données Code Applicatif
client
serveur
Traitement centralisé Traitement coopératif
Données réparties
Ou dupliquées (snapshot)
C/S type
Pb transit réseau
2007-2008 18
Exemple
 C/S à 2 niveaux (applications Windows
traditionnelles)
SQL, E/S fichiers,
HTTP
BD
GUI et
applications
SGBD, gestionnaires
de ressources
middleware
2007-2008 19
Exemple
 C/S à 3 niveaux (applications et accès à
une base de données)
RPC, ORB, MOM,
HTTP
BD
Navigateur,
ActiveX, Applets
SGBD, gestionnaires
de ressources
Accès
aux
données
SQL
middleware middleware
Services
applicatifs
2007-2008 20
Exemple
 Exemple de C/S Web
Protocole HTTP
+ TCP/IP
BD
Navigateur Web
(ex : IE, Mozilla)
SGBD
(ex : Oracle,
MySQL)
SGBD
ODBC,
SQL*NET
middleware
middleware
Serveur Web
(ex : IIS,
Apache)
Doc.
HTML
Script
PHP
2007-2008 21
Exemple
 Exemple du dialogue d’envoi d’un
formulaire
prénom Pierre
<html>
…
<body>
<form method=‘POST’ action=‘traite.php’>
Prénom
<input type=‘text’ name=‘prenom’ />
<input type=‘submit’ name=‘envoyer’ value=‘Envoyer’ />
</form>
…
</body>
</html>
submit
Méthode de transport des données du
formulaire vers le serveur en les masquant
(autre : GET, qu’on retrouve dans les liens
hypertexte avec : …?nom=valeur)
Soumission des données du formulaire au
serveur en utilisant la méthode de
transport précisée et en précisant l’action à
effectuer avec les données du formulaire
(script PHP à exécuter, ici)
2007-2008 22
Exemple
Navigateur
Web
Serveur
Web
SGBD
Submit
requête
Écrire
Exécuter
Variables
d’environnement
Lire
Accéder au message reçu (POST/GET)
Produire du code HTML
réponse
requête
script
traite.php
Réponse (HTML)
BD
HTTP
TCP/IP ODBC
Dialogue C/S Dialogue C/S
2007-2008 23
Hétérogénéité des systèmes
informatiques
 Problème posé :
 permettre qu’une application communique de
manière standard avec une autre à travers les
réseaux
 Ce problème est similaire à celui posés par les
matériels :
 Pour mettre l’accès à un matériel, envoi de
commandes standard traduites en un langage
spécifique pour un matériel donné : c’est le rôle
du driver matériel
 Pour les logiciels,
  logiciel médiateur, middleware
2007-2008 24
Middleware, logiciel
médiateur
(intergiciel, logiciel du milieu)
Client Serveur
L’ensemble des services logiciels permettant l’interaction et
la coordination des actions entre l’application Client et
l’application Serveur (communication inter-processus).
CLIENT SERVEUR
Middleware
ODBC,
SQL*NET,
ORB,
RPC,
MOM,
...
réseau
2007-2008 25
Middleware, logiciel
médiateur
(ou intergiciel)
Processus
Client
Processus
Serveur
CLIENT
réseau
FAP : Format And Protocol
Mise en forme des données transportées en fonction des protocoles réseau
API : Application Program Interface
Interfaces avec les applications clients et applications serveurs
SERVEUR
API : Application Program Interface
Interfaces avec les applications clients et applications serveurs
FAP : Format And Protocol
Mise en forme des données transportées en fonction des protocoles réseau
2007-2008 26
Middleware, logiciel
médiateur
(ou intergiciel)
CLIENT
réseau
SERVEUR
Application
client
Application
serveur
API API
FAP FAP
Protocole
Réseau
Protocole
Réseau
Exemple : TCP/IP
Connexion
Déconnexion
Émission
Réception
Un protocole
2007-2008 27
Tendance actuelle
 Architecture logicielle nTiers :
 Présentation : interface avec l’utilisateur
 Métier : traitements spécifiques liés à l’activité
réalisée
 Données : gestion des données liées à l’activité
 Ces 3 tiers peuvent être implémenté en de
multiples composants logiciels coopérant
répartis sur des processus Clients et Serveurs
(eux-mêmes s’exécutant sur un ou plusieurs
ordinateurs)
2007-2008 28
Retour à la centralisation ?
 Exemple :
 Windows Terminal Server(TSE) ou Citrix
 Certains contextes professionnels ne nécessitent
pas la puissance d’un PC
 Type d’architecture :
 Terminal : PC « diskless » (écran, clavier, une peu de
RAM pour charger un logiciel de communication avec le
serveur)
 Serveur : gère toutes les applications de manière
centralisée (même la bureautique)
  mainframe avec un client riche
2007-2008 29
Exemple TSE
 « La technologie Terminal Server de Microsoft permet
de publier des applications Windows aux utilisateurs
de l’entreprise. Les applications tournent
uniquement sur le serveur ; celui-ci envoie une
image de l’application aux postes clients mais tous
les traitements sont effectués sur le serveur ».
2007-2008 30
Conclusion C/S
 Principe
 Obtenir des services quelque soit l’environnement
et la localisation (réseau) de ses services =
transparence pour l’utilisateur
 Répartition de la tâche à accomplir
 Modèle de développement (année 1990)
 Simplification pour les équipes de développement
 Architectures ouvertes (fidèles aux standard)
 Middleware assure l’intermédiation

client_serveur_introductionnnnnnnnnnn.PPT

  • 1.
  • 2.
    2007-2008 2 Plan  Notionde « Système d’Information »  Évolutions  Client/Serveur  Quelques exemples  Middleware  Tendances
  • 3.
    2007-2008 3 Notion de «Systèmed’Information»  Système d’Information : ensemble des informations circulant dans une organisation, et supportant son activité  Un sous-ensemble de ces informations est géré au travers du système informatique; les informations sont épurées et codifiées : ce sont des données  système informatique : ensemble des moyens matériels et logiciels destinés à la gestion des données d’une organisation.
  • 4.
    2007-2008 4 Évolution (1): « mainframe »  Une seule machine ou plusieurs du même type reliées en réseau, supportée par un O.S. propriétaire (MVS/IBM, VMS/DEC, VME/ICL,…)  Des terminaux passifs, interface texte  Services offerts :  Gestion de fichiers (ISAM), puis des bases de données (SGBD hiérarchique, puis réseau),  Gestion des transactions (moniteurs transactionnels)  Logiciels applicatifs spécifiques (développés par l ’équipe informatique en place) http://www.osdata.com/oses/ http://en.wikipedia.org/wiki/Mainframe_comp uter
  • 5.
    2007-2008 5 Évolution (1) «mainframe »  Systèmes centralisés des années 1970
  • 6.
    2007-2008 6 Évolution (2) PC PCs des années 80, interface riche  Chaque utilisateur possède un système complet à son service, évolution de la bureautique personnelle  Logiciels émulateurs de terminaux pour les relier aux systèmes centraux  multiplication des applications, et des fichiers, difficulté de maintenance, risques
  • 7.
    2007-2008 7 Évolution (3) PCserveurs  La puissance des ordinateurs augmente  Standardisation des protocoles réseau  Les Systèmes d’exploitation pour serveurs évoluent et apportent les mêmes fonctionnalités que ceux des « mainframe »  + Avantage des mainframe : robustesse des systèmes d’exploitation  + Avantage des PC : souplesse
  • 8.
    2007-2008 8 Évolution (4) ArchitectureC/S  Tirer profit de ces nouvelles architectures :  Combiner les ressources des ordinateurs en réseau pour optimiser leur utilisation, accroître leurs performance, faciliter les évolutions  Répartir l’exécution des applications sur le poste Client ET sur le poste Serveur  Les différents types de Client/Serveur = une question de dosage
  • 9.
    2007-2008 9 Client/Serveur Des systèmescentralisés aux systèmes distribués Appelant Appelé Appelant Appelé réseau Appel de procédure Appel de procédure distante (Remote Procedure Call, RPC)
  • 10.
    2007-2008 10 Client/Serveur POSTE CLIENT POSTE SERVEUR Interface GUI(*) données traitements (*) GUI: Graphic User Interface / Interface graphique utilisateur, correspond au formulaire (form, frame) visible par l’utilisateur, réalisant l’interface avec le code de l’application Morceler une application de manière à répartir son exécution sur plusieurs machines
  • 11.
    2007-2008 11 Client/Serveur  Définitions Clients et Serveurs sont des entités distinctes fonctionnant de concert sur un réseau pour accomplir une tâche  Modèle d’architecture applicative où les programmes sont répartis entre processus clients et serveurs communiquant à travers un système de requêtes/réponses  Différencier les notions de  processus client et serveur  machines client et serveur
  • 12.
    2007-2008 12 Client /Serveur  Client :  Processus demandant l’exécution d’une opération à un autre processus par envoi d’un message contenant le descriptif de l’opération à exécuter, et attendant la réponse à cette opération par un message en retour.  Serveur :  Processus à l’écoute, accomplissant une opération sur demande d’un client, et transmettant la réponse à ce client.
  • 13.
    2007-2008 13 Requête /Réponse  Requête :  Message transmis par un client à un serveur, décrivant l’opération à exécuter pour le compte du client  Réponse :  Message transmis par un serveur à un client, en réponse à une requête suite à l’exécution d’une opération contenant les paramètres de retour de l’opération
  • 14.
    2007-2008 14 Plusieurs Client/Serveur serveurs de fichiers  serveurs de base de données  serveurs de transactions  serveurs de groupware  serveurs d’objets  serveurs Web
  • 15.
    2007-2008 15 Dialogue client/serveur Réponse Client Application Application «service » Requête Serveur Plusieurs clients émettent des requêtes vers un serveur Déclenche le dialogue En attente d’une requête En attente d’une requête En attente de la réponse
  • 16.
    2007-2008 16 Différents typesde C/S  C/S de présentation  Rhabillage (« revamping »)  Mode de rhabillage des interfaces graphiques pauvres en Windows, Icones, etc.  C/S de données  C/S de procédures  Systèmes répartis
  • 17.
    2007-2008 17 Différents typesde C/S Présentation Données Code Applicatif client serveur Traitement centralisé Traitement coopératif Données réparties Ou dupliquées (snapshot) C/S type Pb transit réseau
  • 18.
    2007-2008 18 Exemple  C/Sà 2 niveaux (applications Windows traditionnelles) SQL, E/S fichiers, HTTP BD GUI et applications SGBD, gestionnaires de ressources middleware
  • 19.
    2007-2008 19 Exemple  C/Sà 3 niveaux (applications et accès à une base de données) RPC, ORB, MOM, HTTP BD Navigateur, ActiveX, Applets SGBD, gestionnaires de ressources Accès aux données SQL middleware middleware Services applicatifs
  • 20.
    2007-2008 20 Exemple  Exemplede C/S Web Protocole HTTP + TCP/IP BD Navigateur Web (ex : IE, Mozilla) SGBD (ex : Oracle, MySQL) SGBD ODBC, SQL*NET middleware middleware Serveur Web (ex : IIS, Apache) Doc. HTML Script PHP
  • 21.
    2007-2008 21 Exemple  Exempledu dialogue d’envoi d’un formulaire prénom Pierre <html> … <body> <form method=‘POST’ action=‘traite.php’> Prénom <input type=‘text’ name=‘prenom’ /> <input type=‘submit’ name=‘envoyer’ value=‘Envoyer’ /> </form> … </body> </html> submit Méthode de transport des données du formulaire vers le serveur en les masquant (autre : GET, qu’on retrouve dans les liens hypertexte avec : …?nom=valeur) Soumission des données du formulaire au serveur en utilisant la méthode de transport précisée et en précisant l’action à effectuer avec les données du formulaire (script PHP à exécuter, ici)
  • 22.
    2007-2008 22 Exemple Navigateur Web Serveur Web SGBD Submit requête Écrire Exécuter Variables d’environnement Lire Accéder aumessage reçu (POST/GET) Produire du code HTML réponse requête script traite.php Réponse (HTML) BD HTTP TCP/IP ODBC Dialogue C/S Dialogue C/S
  • 23.
    2007-2008 23 Hétérogénéité dessystèmes informatiques  Problème posé :  permettre qu’une application communique de manière standard avec une autre à travers les réseaux  Ce problème est similaire à celui posés par les matériels :  Pour mettre l’accès à un matériel, envoi de commandes standard traduites en un langage spécifique pour un matériel donné : c’est le rôle du driver matériel  Pour les logiciels,   logiciel médiateur, middleware
  • 24.
    2007-2008 24 Middleware, logiciel médiateur (intergiciel,logiciel du milieu) Client Serveur L’ensemble des services logiciels permettant l’interaction et la coordination des actions entre l’application Client et l’application Serveur (communication inter-processus). CLIENT SERVEUR Middleware ODBC, SQL*NET, ORB, RPC, MOM, ... réseau
  • 25.
    2007-2008 25 Middleware, logiciel médiateur (ouintergiciel) Processus Client Processus Serveur CLIENT réseau FAP : Format And Protocol Mise en forme des données transportées en fonction des protocoles réseau API : Application Program Interface Interfaces avec les applications clients et applications serveurs SERVEUR API : Application Program Interface Interfaces avec les applications clients et applications serveurs FAP : Format And Protocol Mise en forme des données transportées en fonction des protocoles réseau
  • 26.
    2007-2008 26 Middleware, logiciel médiateur (ouintergiciel) CLIENT réseau SERVEUR Application client Application serveur API API FAP FAP Protocole Réseau Protocole Réseau Exemple : TCP/IP Connexion Déconnexion Émission Réception Un protocole
  • 27.
    2007-2008 27 Tendance actuelle Architecture logicielle nTiers :  Présentation : interface avec l’utilisateur  Métier : traitements spécifiques liés à l’activité réalisée  Données : gestion des données liées à l’activité  Ces 3 tiers peuvent être implémenté en de multiples composants logiciels coopérant répartis sur des processus Clients et Serveurs (eux-mêmes s’exécutant sur un ou plusieurs ordinateurs)
  • 28.
    2007-2008 28 Retour àla centralisation ?  Exemple :  Windows Terminal Server(TSE) ou Citrix  Certains contextes professionnels ne nécessitent pas la puissance d’un PC  Type d’architecture :  Terminal : PC « diskless » (écran, clavier, une peu de RAM pour charger un logiciel de communication avec le serveur)  Serveur : gère toutes les applications de manière centralisée (même la bureautique)   mainframe avec un client riche
  • 29.
    2007-2008 29 Exemple TSE « La technologie Terminal Server de Microsoft permet de publier des applications Windows aux utilisateurs de l’entreprise. Les applications tournent uniquement sur le serveur ; celui-ci envoie une image de l’application aux postes clients mais tous les traitements sont effectués sur le serveur ».
  • 30.
    2007-2008 30 Conclusion C/S Principe  Obtenir des services quelque soit l’environnement et la localisation (réseau) de ses services = transparence pour l’utilisateur  Répartition de la tâche à accomplir  Modèle de développement (année 1990)  Simplification pour les équipes de développement  Architectures ouvertes (fidèles aux standard)  Middleware assure l’intermédiation