archi-client-serveur.pdf
-
Upload
abdessamie-korichi -
Category
Documents
-
view
5 -
download
0
Transcript of archi-client-serveur.pdf
-
Le modle client-serveur
Olivier Aubert
1/24
-
Sources
http://www.info.uqam.ca/~obaid/INF4481/A01/Plan.htm
2/24
http://www.info.uqam.ca/~obaid/INF4481/A01/Plan.htm
-
Historique
I architecture centraliseI terminaux passifs (un seul OS, systmes propritaires)I traitements au niveau du serveur
3/24
-
Architecture rpartie
I rseaux, ordinateurs plus puissants, OS ouvertsI interfaces et API standard (RFC)I traitement effectu en partie sur les clients
Applications
Windows
Applications
Mac
Applications
UNIX
Rseau dentreprise
OS
RponseRequte
BD
Rgles
Serveur
Clients
4/24
-
Le modle
I Client : processus demandant lexcution dune opration un autre processus par envoi de message contenant ledescriptif de lopration excuter et attendant la rponse decette opration par un message en retour.
I Serveur : processus accomplissant une opration surdemande dun client, et lui transmettant le rsultat.
I Requte : message transmis par un client un serveurdcrivant lopration excuter pour le compte du client.
I Rponse : message transmis par un serveur un client suite lexcution dune opration, contenant le rsultat delopration.
5/24
-
Types darchitecture client-serveur
Le modle :
Processusclient
Systme
Hardware
Processussystme
Systme
Hardware
Client Serveur
Application
Un client, un serveur :ServeurClient
Un client, plusieurs serveurs :
ServeurClient Serveur
Plusieurs clients, un serveur :Client
Esclave
MatreClient
Esclave
6/24
-
C/S orient client ou serveur
I Client lourd stocke les donnes et les applications localement. Le
serveur stocke les fichiers mis jour Le client effectue une bonne partie du traitement Le serveur est plus allg
I Serveur lourd On effectue plus de traitements sur le serveur :
transactions, groupware, etc Dploiement plus ais
I Client lger Client fonctionnalit minimale (terminaux X, priphrique
rseau (Network Appliance), ordinateur rseau (networkcomputer))
Beaucoup de charge sur le serveur et le rseau
7/24
-
Dialogue client-serveur
Primitives de service :I SendRequest()I ReceiveResponse()I ReceiveRequest()I SendResponse()
Requte
Rponse
Session
Transport
Rseau
Session
Transport
Client
Serveur
SendRequest()
ReceiveResponse()
SendResponse()
ReceiveRequest()
8/24
-
Messages client-serveur
I Trois grands types de message : REQ, REP et ACKI Autres types possibles : AYA (Are You Alive), BUSY
(ordinateur temporairement occup), ERR (Erreur), etc.
9/24
-
change de messages
I Dans un environnement htrogne, on doit effectuer uneprsentation adquate des donnes.
I Traduction des donnes (XDR (Sun), ASN.1 (CCITT), etc)I Assemblage des paramtres mis et des rsultats
(marshalling)I Dsassemblage des paramtres reus et des rsultats
(unmarshalling)
Prsentation
Session
Transport
Prsentation
Session
TraductionAssemblage
TraductionDsassemblage
10/24
-
Modes de dialogue
I Mode synchrone nutilise pas de file dattente les messages sont mis aussitt mode bloquant (ex. RPC)
I Mode asynchrone utilise une file dattente mode non bloquant favorise le multitche (ex. FIFO, email)
11/24
-
Oprations bloquantes
Le processus se bloque jusqu ce que lopration se termine.
read() Lecture
Copie dansle tampon
Appel
Retour
Client
Serveur
12/24
-
Oprations non bloquantes
Par vnements
Copie dansle tampon
Appel
Retour
Client
Serveur
WOULDBLOCK
Appel
WOULDBLOCK
Attente desdonnes
Appel
read()
Par signaux
Copie dansle tampon
Activer SIGIO
Retour
Client
Serveur
RetourAttente desdonnes
Appel
signal()
Signal SIGIO
handler()
read()
13/24
-
Conception dune application c/s
Dans une application client-serveur, il faut dcider delemplacement des composantes de :I prsentation : interfaces textuelles ou graphiques,
interactions, entre des donnes, validation, etc.I logique dapplication : traitements associs lapplicationI accs aux donnes : stockage et accs aux donnes (base
de donnes, serveur web, etc)
14/24
-
Modle client-serveur deux niveaux
Modle de Gartner pour les systmes deux niveaux (2-tiers) :
Prsentation
Logique
Donnes
Donnes
Prsentation
Logique
Donnes
Prsentation
Logique
Donnes
Logique
Prsentation
Logique
Donnes
Prsentation
Logique
Donnes
Prsentation
Client
Serveur
BDrparties
Donnesdistantes
Transactionsrparties
Prsentationsdistantes
Prsentationsrparties
Classe 1 Classe 2 Classe 3 Classe 4 Classe 5
15/24
-
Client-serveur trois niveaux
Modle de Gartner pour les systmes trois niveaux (3-tiers) :
Prsentation
Logique
Donnes
Prsentation
Logique
PrsentationPrsentation
Logique
Donnes
LogiqueLogiqueLogique
Logique
DonnesDonnes
Logique
DonnesDonnes
Client
Serveurde milieu
Serveur
16/24
-
Le middleware
I Traduction officielle : intersticielI Assure les connexions entre les serveurs de donnes et les
outils de dveloppement sur les postes clientI Ensemble de services logiciels construits au dessus dun
protocole de transport afin de permettre lchange derequtes et des rponses associes entre client et serveur demanire transparente.
I Les services du middleware sont un ensemble de logicielsrpartis qui existe entre lapplication, lOS et les servicesrseaux sur un nud du rseau.
17/24
-
Types de middleware
I Gnral Protocoles de communication, rpertoires rpartis, services
dauthentification, service de temps, RPC, etc Services rpartis de type NOS (Networked OS) : services
de fichiers, services dimpression.I Spcifique
de BD : ODBC, IDAPI, EDA/SQL, etc de groupware : MAPI, Lotus Notes dobjets : CORBA, COM/DCOM, .NET
18/24
-
Composantes du middleware
I Les canaux Services de communications entre composants et
applications : RPC (synchrone), ORB (synchrone), MOM(Message Oriented Middleware) (asynchrone)
Services de support de communication : SSL, annuaires(LDAP)
I Les plate-formes Serveurs dapplications qui sexcutent du ct serveur Offrent les canaux de communication Assurent la rpartition, lquilibrage de charge, lintgrit
des transactions, etc Exemple : architecture web-tier
19/24
-
Place du middleware
Processus client
Middleware client
Services;locaux
Servicesreseau
OS et hardware
Processus serveur
Middleware serveur
Services;locaux
Servicesreseau
OS et hardware
Protocole Requete
Reponse
Protocole reseau
Exemples :I Les services primitifs (mulateurs de terminaux, transfert de
fichier, mail, etc)I Services de bases (RPC, etc)I Services intgrs (DCE, OS rpartis)I Objets distribus (CORBA, COM/DCOM, etc)I World Wide Web
20/24
-
Services du middleware
Middleware de service specifique
Gestion repartie
OS Reseau
Transport
Reseau, Liaison, Physique
SQL/API, TxRPC, Mail, ORB/COM
CMIP, SNMP
Repertoire, RPC, NFS, Securite
TCP/IP, IPX/SPX, NetBIOS, SNA
21/24
-
Fonctions dun middleware
I procdure dtablissement de connexionI excution des requtesI rcupration des rsultatsI procdure de fermeture de connexionI initiation des processus sur diffrents sitesI services de rpertoire (nommage)I accs aux donnes distanceI gestion des accs concurrentsI scurit et intgritI monitoringI terminaison des processusI mise en cache des rsultatsI mise en cache des requtes
22/24
-
Le modle RPC
RPC : Remote Procedure Call
Application
Assemblage Desassemblage
Procedure
Assemblage Desassemblage
SendRequest()ReceiveResponse() SendResponse()ReceiveRequest()
Client ServeurRPC
Appelprocedure
Retourprocedure
Retourprocedure
Executionprocedure
Souche client Souche serveur
23/24
-
Transparence
I Transparence des rseaux : support de plusieurs types derseaux (WAN, LAN, etc) et de protocoles (TCP/IP, SNA, etc)
I Transparence aux serveurs : support de plusieurs types deserveur (SGBD (Oracle, Sybase, SQL Server, etc))
I Transparence des donnes : traductions des formats dedonnes (XDR, ASN.1, etc)
I Transparence de la localisation : utilisation dun service derpertoire
24/24
SourcesHistoriqueArchitecture rpartieLe modleTypes d'architecture client-serveurC/S orient client ou serveurDialogue client-serveurMessages client-serveurchange de messagesModes de dialogueOprations bloquantesOprations non bloquantesConception d'une application c/sModle client-serveur deux niveauxClient-serveur trois niveauxLe middlewareTypes de middlewareComposantes du middlewarePlace du middlewareServices du middlewareFonctions d'un middlewareLe modle RPCTransparence