Architecture client serveur

Disponible uniquement sur Etudier
  • Pages : 5 (1072 mots )
  • Téléchargement(s) : 0
  • Publié le : 25 juillet 2013
Lire le document complet
Aperçu du document
Le modèle client-serveur
Olivier Aubert

1/24

Sources
http://www.info.uqam.ca/~obaid/INF4481/A01/Plan.htm
 

2/24

Historique
architecture centralisée terminaux passifs (un seul OS, systèmes propriétaires) traitements au niveau du serveur

3/24

Architecture répartie
réseaux, ordinateurs plus puissants, OS ouverts interfaces et API standard (RFC) traitement effectué en partiesur les clients
Serveur OS Requête Réponse BD

Règles

Réseau d’entreprise

Windows Applications

Mac Applications Clients

UNIX Applications

4/24

Le modèle
Client : processus demandant l’exécution d’une opération à un autre processus par envoi de message contenant le descriptif de l’opération à exécuter et attendant la réponse de cette opération par un message en retour.Serveur : processus accomplissant une opération sur demande d’un client, et lui transmettant le résultat. 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 suite à l’exécution d’une opération, contenant le résultat de l’opération.

5/24

Types d’architecture client-serveur
Lemodèle :
Application Processus Processus système client Système Hardware Client Système Hardware Serveur

Un client, plusieurs serveurs :
Client Serveur Serveur

Plusieurs clients, un serveur :
Client Maître Client

Un client, un serveur :
Client Serveur Esclave Esclave

6/24

C/S orienté client ou serveur
Client lourd • stocke les données et les applications localement. Le serveurstocke les fichiers mis à jour • Le client effectue une bonne partie du traitement • Le serveur est plus allégé Serveur lourd • On effectue plus de traitements sur le serveur : transactions, groupware, etc • Déploiement plus aisé Client léger • Client à fonctionnalité minimale (terminaux X, périphérique réseau (Network Appliance), ordinateur réseau (network computer)) • Beaucoup de charge sur le serveuret le réseau

7/24

Dialogue client-serveur
Primitives de service : SendRequest() ReceiveResponse() ReceiveRequest() SendResponse()
Serveur

Client Requête Réponse SendRequest() SendResponse() ReceiveRequest()

ReceiveResponse()

Session Transport Réseau

Session Transport

8/24

Messages client-serveur
Trois grands types de message : REQ, REP et ACK Autres types possibles :AYA (Are You Alive), BUSY (ordinateur temporairement occupé), ERR (Erreur), etc.

9/24

Échange de messages
Dans un environnement hétérogène, on doit effectuer une présentation adéquate des données. Traduction des données (XDR (Sun), ASN.1 (CCITT), etc) Assemblage des paramètres émis et des résultats (marshalling) Désassemblage des paramètres reçus et des résultats (unmarshalling)Traduction Assemblage Présentation Session Transport

Traduction Désassemblage Présentation Session

10/24

Modes de dialogue
Mode synchrone • n’utilise pas de file d’attente • les messages sont émis aussitôt • mode bloquant (ex. RPC) Mode asynchrone • utilise une file d’attente • mode non bloquant • favorise le multitâche (ex. FIFO, email)

11/24

Opérations bloquantes
Le processus se bloquejusqu’à ce que l’opération se termine.
read() Appel Lecture

Copie dans le tampon Retour

Serveur

Client

12/24

Opérations non bloquantes
Par événements
read() Appel WOULDBLOCK Appel WOULDBLOCK Appel Retour
Signal SIGIO signal() Activer SIGIO Retour Attente des données

Par signaux

Attente des données

Copie dans le tampon Serveur

handler() read() Appel Retour Copie dansle tampon

Serveur

Client
Client

13/24

Conception d’une application c/s
Dans une application client-serveur, il faut décider de l’emplacement des composantes de : présentation : interfaces textuelles ou graphiques, interactions, entrée des données, validation, etc. logique d’application : traitements associés à l’application accès aux données : stockage et accès aux données (base...
tracking img