Vous êtes sur la page 1sur 3

Copyright

Le modle Client/Serveur
Olivier GLCK Universit LYON 1/UFR dInformatique Olivier.Gluck@ens-lyon.fr http://www710.univ-lyon1.fr/~ogluck

Copyright 2007 Olivier Glck; all rights reserved Ce support de cours est soumis aux droits dauteur et nest donc pas dans le domaine public. Sa reproduction est cependant autorise condition de respecter les conditions suivantes :

Si ce document est reproduit pour les besoins personnels du reproducteur, toute forme de reproduction (totale ou partielle) est autorise la condition de citer lauteur. Si ce document est reproduit dans le but dtre distribu des tierces personnes, il devra tre reproduit dans son intgralit sans aucune modification. Cette notice de copyright devra donc tre prsente. De plus, il ne devra pas tre vendu. Cependant, dans le seul cas dun enseignement gratuit, une participation aux frais de reproduction pourra tre demande, mais elle ne pourra tre suprieure au prix du papier et de lencre composant le document. Toute reproduction sortant du cadre prcis ci-dessus est interdite sans accord pralable crit de lauteur.
Licence Informatique UCBL - Initiation Rseaux 2

Olivier Glck

Les applications rseau (1)


Les applications rseau (2)

Applications = la raison d'tre des rseaux infos Profusion d'applications depuis 30 ans grce l'expansion d'Internet

Olivier Glck

annes 1980/1990 : les applications "textuelles" messagerie lectronique, accs des terminaux distants, transfert de fichiers, groupe de discussion (forum, newsgroup), dialogue interactif en ligne (chat), la navigation Web plus rcemment : les applications multimdias : vido la demande (streaming), visioconfrences, radio et tlphonie sur Internet la messagerie instantane (ICQ, MSN Messenger) les applications Peer-to-Peer (MP3, )
Licence Informatique UCBL - Initiation Rseaux

L'application est gnralement rpartie (ou distribue) sur plusieurs systmes Exemples :

L'application Web est constitue de deux logiciels communiquants : le navigateur client qui effectue une requte pour disposer d'un document prsent sur le serveur Web L'application telnet : un terminal virtuel sur le client, un serveur telnet distant qui excute les commandes La visioconfrence : autant de clients que de participants

--> Ncessit de disposer d'un protocole de communication applicatif !


Licence Informatique UCBL - Initiation Rseaux 36

35

Olivier Glck

Terminologie des applications rseau

Protocoles de la couche Applications

Processus :

Le protocole applicatif dfinit :

une entit communicante un programme qui s'excute sur un hte d'extrmit communications entre des processus qui s'excutent sur un mme hte communications rgies par le systme d'exploitation (tubes UNIX, mmoire partage, ) les processus s'changent des messages travers le rseau selon un protocole de la couche applications ncessite une infrastructure de transport sous-jacente
Licence Informatique UCBL - Initiation Rseaux

Communications inter-processus locales :

le format des messages changs entre les processus metteur et rcepteur les types de messages : requte, rponse, l'ordre d'envoi des messages HTTP pour le Web, POP/IMAP/SMTP pour le courrier lectronique, SNMP pour l'administration de rseau, Application Web : un format de documents (HTML), un navigateur Web, un serveur Web qui on demande un document, un protocole (HTTP)
Licence Informatique UCBL - Initiation Rseaux 38

Exemples de protocoles applicatifs :

Communications inter-processus distantes :

Ne pas confondre le protocole et l'application !

Olivier Glck

37

Olivier Glck

Le modle Client / Serveur

Le modle Client / Serveur

Ide : l'application est rpartie sur diffrents sites pour optimiser le traitement, le stockage... Le client

Le client et le serveur ne sont pas identiques, ils forment un systme coopratif

effectue une demande de service auprs du serveur (requte) initie le contact (parle en premier), ouvre la session est la partie de l'application qui offre un service est l'coute des requtes clientes rpond au service demand par le client (rponse)
Licence Informatique UCBL - Initiation Rseaux 39

les parties client et serveur de l'application peuvent s'excuter sur des systmes diffrents une mme machine peut implanter les cts client ET serveur de l'application un serveur peut rpondre plusieurs clients simultanment

Le serveur

Olivier Glck

Olivier Glck

Licence Informatique UCBL - Initiation Rseaux

40

Des clients et des serveurs...


Plusieurs clients, un serveur : Un client, un serveur : Client Requte/Rponse Serveur Esclave Esclave Le serveur traite plusieurs requtes simultanes Un client, plusieurs serveurs : Client Serveur Serveur Client Matre Client

Le modle Client / Serveur


Application C/S
Processus client Systme (OS) Matriel Protocole applicatif Rsea u Processus serveur Systme (OS) Matriel L'application est rpartie sur le client et le serveur qui dialoguent selon un protocole applicatif spcifique

Le Web
Navigateur L'exemple du Web Windows Modem ADSL Internet HTTP Serveur Apache Linux Ethernet
42

Le serveur contact peut faire appel un service sur un autre serveur (ex. SGBD)
Olivier Glck Licence Informatique UCBL - Initiation Rseaux 41 Olivier Glck

Licence Informatique UCBL - Initiation Rseaux

Le modle Client / Serveur


Applications Transport Rseau Liaison Physique

Exemple d'application client/serveur

Client A
modem Systme autonome

Le client lit une ligne partir de l'entre standard (clavier) et l'envoie au serveur Le serveur lit la ligne reue et la convertit en majuscules Le serveur renvoie la ligne au client Le client lit la ligne reue et l'affiche sur la sortie standard (cran)

Applications Transport Rseau Liaison Physique

Partie cliente de l'application


Applications Transport Rseau Liaison Physique
Olivier Glck

requte

rponse

Client B

Serveur
Licence Informatique UCBL - Initiation Rseaux

Partie serveur de l'application

43

Olivier Glck

Licence Informatique UCBL - Initiation Rseaux

44

Interface de programmation rseau

Interface de programmation rseau

Il faut une interface entre l'application rseau et la couche transport

le transport n'est qu'un tuyau (TCP ou UDP dans Internet) l'API (Application Programming Interface) n'est que le moyen d'y accder (interface de programmation) les sockets apparus dans UNIX BSD 4.2 devenus le standard de fait les RPC : Remote Procedure Call - appel de procdures distantes
Licence Informatique UCBL - Initiation Rseaux

Du ressort du dveloppeur de l'application

Application C/S
Processus client socket Protocole applicatif Processus serveur socket TCP/IP Internet Matriel
Interface d'accs au transport

Les principales APIs de l'Internet

Du ressort du systme d'exploitation

TCP/IP Matriel

Une socket : interface locale l'hte, cre par l'application, contrle par l'OS Porte de communication entre le processus client et le processus serveur
46 Olivier Glck Licence Informatique UCBL - Initiation Rseaux 47

Olivier Glck

Application C/S - rcapitulatif

Conception d'une application C/S

Une application Client/Serveur, c'est

une partie cliente qui excute des requtes vers un serveur une partie serveur qui traite les requtes clientes et y rpond un protocole applicatif qui dfinit les changes entre un client et un serveur un accs via une API (interface de programmation) la couche de transport des messages

Comment dcouper une application informatique en clients et serveurs ? Une application informatique est reprsente selon un modle en trois couches :

Bien souvent les parties cliente et serveur ne sont pas crites par les mmes programmeurs (Navigateur Netscape/Serveur apache) --> rle important des RFCs qui spcifient le protocole !
Licence Informatique UCBL - Initiation Rseaux 48

la couche prsentation (interface Homme/Machine) : gestion de laffichage la couche traitements (ou logique) qui assure la fonctionnalit intrinsque de lapplication (algorithme) la couche donnes qui assure la gestion des donnes de l'application (stockage et accs)

Olivier Glck

Olivier Glck

Licence Informatique UCBL - Initiation Rseaux

52

Conception d'une application C/S

Conception d'une application C/S

Exemples de dcoupage Client/Serveur :

le module de gestion des donnes peut tre hberg par un serveur distant (SGBD, serveur web) le module de gestion de laffichage peut galement tre gr par un serveur distant (un terminal X par exemple)
Prsentation Logique Applets, JavaScript, Donnes Logique

Autres exemples
Serveur de fichiers
Prsentation Logique Logique Donnes

BD distribue
Prsentation Logique Donnes

mulation de terminaux
Prsentation

telnetd
Donnes

Le web
Logique Donnes PHP, CGI, Servlets,

X Window

Prsentation

Donnes

Prsentation

Olivier Glck

Licence Informatique UCBL - Initiation Rseaux

53

Olivier Glck

Licence Informatique UCBL - Initiation Rseaux

54