Vous êtes sur la page 1sur 22

Technologies pour les applications client-serveur

Introduction



Acqurir des connaissances sur les applications en
mode client-serveur dans l'architecture Internet.

Comprendre en detail le fonctionnement des protocoles
reseaux des couches hautes (niveaux session,
presentation, application) avec une orientation marquee
vers les protocoles d'application de l'architecture Internet
(exemples des protocoles DNS, Telnet, SMTP, HTTP,
SNMP ...)
Technologies pour les applications client-serveur
Finalit de lenseignement



Ce cours concerne les applications en mode client serveur
dans l'architecture Internet. Il dtaille les
protocoles des rseaux des couches hautes (niveaux session,
prsentation, application) avec une orientation marque
vers les protocoles d'application (DNS, SMTP... ) et les Web
Services.

1 generalites client/serveur
2 osi couches hautes
3 socket / Points dentres
4 corba / idle / middleware
5 smtp / dns / telnet / ftp
6 web
7 acces bdd a distance
8 supervision snmp
9 authentification
Technologies pour les applications client-serveur
Le Plan


Travaux pratiques faire : Exercices sous virtualisation afin
de vous mettre en situation. Un TP sera probablement
donn faire et not.

Travaux dirigs faire : exercices diversifies. Certains sont
une application directe du cours, dautres sont la pour
mettre en lumiere telle ou telle difficulte.

Technologies pour les applications client-serveur
Travaux



Client-serveur
L'environnement client-serveur dsigne
un mode de communication travers
un rseau entre plusieurs
programmes ou logiciels :
l'un, qualifi de client, envoie des
requtes ; sur lequel est excut le
logiciel client
l'autre ou les autres, qualifis de
serveurs, attendent les requtes,
l'ordinateur sur lequel est excut le
logiciel serveur.




Technologies pour les applications client-serveur
Gnralits


En gnral, les serveurs sont des ordinateurs ddis au logiciel serveur qu'ils
abritent, et dots de capacits suprieures celles des ordinateurs
personnels en termes de puissance de calcul, d'entres-sorties et de
connexions rseau.

Les clients sont souvent des ordinateurs personnels ou des appareils
individuels (tlphone, tablette), mais pas systmatiquement. Un serveur
peut rpondre aux requtes d'un grand nombre de clients.

Technologies pour les applications client-serveur
Gnralits


Il existe une grande varit de logiciels
serveurs et de logiciels clients en fonction
des besoins servir :
un serveur web publie des pages web
demandes par des navigateurs web ;
un serveur de messagerie lectronique
envoie des mails des clients de
messagerie ;
un serveur de fichiers permet de stocker et
consulter des fichiers sur le rseau ; un
serveur de donnes communiquer des
donnes stockes dans une base de
donnes, etc.
Technologies pour les applications client-serveur
Types de serveurs



Serveur itratif
Le serveur ne traite quune demande la fois

Serveur parallle
Le serveur traite plusieurs demandes simultanment



Technologies pour les applications client-serveur
Mode serveurs



Caractristiques d'un processus serveur :
il attend une connexion entrante sur un ou plusieurs
ports rseaux ;
la connexion d'un client sur le port en coute, il ouvre
un socket local au systme d'exploitation;

suite la connexion, le processus serveur communique
avec le client suivant le protocole prvu par la
couche application du modle OSI.
Technologies pour les applications client-serveur
Sockets



Caractristiques d'un processus client :
il tablit la connexion au serveur destination
d'un ou plusieurs ports rseaux ;

lorsque la connexion est accepte par le serveur,
il communique comme le prvoit la couche
applicative du modle OSI.
Technologies pour les applications client-serveur
Osi



Le client et le serveur doivent bien sr utiliser le
mme protocole de communication au niveau de
la couche transport du modle OSI.

Un serveur est gnralement capable de servir
plusieurs clients simultanment.

On parle souvent d'un service pour dsigner la
fonctionnalit offerte par un processus serveur.

On dfinit aussi comme serveur, un ordinateur
spcialis ou une machine virtuelle ayant pour
unique tche l'excution d'un ou plusieurs
processus serveur.
Technologies pour les applications client-serveur
Communications

Architecture mainframe


Avant que n'apparaisse le mode client-serveur, les rseaux
informatiques taient configurs autour d'un ordinateur
central appel mainframe auquel taient connects des
terminaux passifs (cran adjoint dun clavier sans unit
centrale). Tous les utilisateurs sont alors connects sur la
mme unit centrale.

Le mainframe n'affiche que du texte lcran sans graphisme
(pas de bouton, pas de fentre,). Il est spcialis dans la
gestion d'informations de masse auquel il peut appliquer
des instructions simples (addition, soustraction) mais
avec une grande vlocit. Ainsi, plusieurs milliers de
personnes peuvent travailler sur cette unit centrale sans
ralentissement.

Aujourd'hui, les anciens terminaux passifs ont t remplacs
par des mulations logicielles installes sur les PC.
Pour pallier le manque de graphisme, diffrentes solutions
existent dont l'intgration du mainframe dans une
architecture 2, 3 ou N niveaux en laissant d'autres la
fourniture d'une interface homme-machine.
Technologies pour les applications client-serveur


Avantages :
Gestion des donnes et des traitements centralise.
Maintenance matriel minime.
Grande vlocit sur des grands volumes de donnes et de traitements.

Inconvnients :
interface homme-machine minimaliste.
Utilisation de langages de programmation anciens.
Calcul scientifique complexe impossible.

Technologies pour les applications client-serveur
Interaction homme-machine


Le rseau est dit pair pair (peer-to-peer en
anglais, ou P2P), lorsque chaque
ordinateur connect au rseau est
susceptible de jouer tour tour le rle de
client et celui de serveur.
Technologies pour les applications client-serveur
Architecture peer-to-peer


Architecture 2 niveaux
Ce type d'architecture (2-tier en anglais) caractrise les
environnements client-serveur o le poste client demande
une ressource au serveur qui la fournit partir de ses
propres ressources.
Technologies pour les applications client-serveur
Architecture 3 niveaux



Dans cette architecture (3-tier en anglais), aussi nomme trois
tiers en franais, un niveau supplmentaire est ajout :
Un client (l'ordinateur demandeur de ressources) quip d'une
interface utilisateur (gnralement un navigateur web)
charge de la prsentation. Un serveur d'application (appel
middleware) qui fournit la ressource, mais en faisant appel
un autre serveur.

Un serveur de donnes qui fournit au serveur d'application les
donnes requises pour rpondre au client.
Technologies pour les applications client-serveur


Client lger
Le poste client accde une
application situe sur un
ordinateur dit serveur via
une interface et un navigateur
Web. L'application fonctionne
entirement sur le serveur, le
poste client reoit la rponse
toute faite la demande
(requte) qu'il a formule.
Technologies pour les applications client-serveur


Client lourd













Le poste client doit comporter un systme
d'exploitation capable d'excuter en local
une partie des traitements. Le traitement
de la rponse la requte du client
utilisateur va mettre en uvre un travail
combin entre l'ordinateur serveur et le
poste client.
Technologies pour les applications client-serveur


Avantages de l'architecture client-serveur





Toutes les donnes sont centralises sur un seul serveur, ce qui simplifie les
contrles de scurit, l'administration, la mise jour des donnes et des
logiciels.

Les technologies supportant l'architecture client-serveur sont plus matures que les
autres.

La complexit du traitement et la puissance de calculs sont la charge
du ou des serveurs, les utilisateurs utilisant simplement un client lger sur un
ordinateur terminal qui peut tre simplifi au maximum.

Recherche d'information : les serveurs tant centraliss, cette architecture est
particulirement adapte et vloce pour retrouver et comparer de vaste quantit
d'informations (moteur de recherche sur le Web), ce qui semble tre rdhibitoire
pour le P2P beaucoup plus lent, l'image de Freenet.
Technologies pour les applications client-serveur

Inconvnients de l'architecture client-serveur







Si trop de clients veulent communiquer avec le serveur au
mme moment, ce dernier risque de ne pas supporter la
charge (alors que les rseaux pair--pair fonctionnent
mieux en ajoutant de nouveaux participants).

Si le serveur n'est plus disponible, plus aucun des clients ne
fonctionne (le rseau pair--pair continue fonctionner,
mme si plusieurs participants quittent le rseau).
Les cots de mise en place et de maintenance peuvent tre
levs.
En aucun cas les clients ne peuvent communiquer entre eux,
entrainant une asymtrie de l'information au profit des
serveurs.
Technologies pour les applications client-serveur


Exemples






La consultation de pages sur un site web fonctionne sur
une architecture client-serveur. Un internaute connect
au rseau via son ordinateur et un navigateur web est le
client, le serveur est constitu par le ou les ordinateurs
contenant les applications qui dlivrent les pages
demandes. Dans ce cas, c'est le protocole de
communication HTTP ou XML socket qui est utilis.

Les courriels sont envoys et reus par des clients et grs
par un serveur de messagerie. Les protocoles utiliss
sont le SMTP, et le POP ou l'IMAP.

L'organisation en client lger - faon terminal-serveur- a
donn naissance des projets innovants comme par
exemple le projet LTSP ou la technologie NX.
Technologies pour les applications client-serveur


Merci pour votre attention, avez vous des questions ?
Technologies pour les applications client-serveur

Vous aimerez peut-être aussi