Professional Documents
Culture Documents
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
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
35
Olivier Glck
Processus :
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
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
Olivier Glck
37
Olivier Glck
Ide : l'application est rpartie sur diffrents sites pour optimiser le traitement, le stockage... Le client
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
40
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
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)
requte
rponse
Client B
Serveur
Licence Informatique UCBL - Initiation Rseaux
43
Olivier Glck
44
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
Application C/S
Processus client socket Protocole applicatif Processus serveur socket TCP/IP Internet Matriel
Interface d'accs au transport
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
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
52
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
53
Olivier Glck
54