Chapitre III
Saloua ZAMMALI
Faculté des Sciences de Tunis
[email protected]
1. Introduction
2. Définition et caractéristiques
3. Mise en œuvre
3.1 Réalisation par migration
3.2 Réalisation en mémoire partagée répartie
3.3 Réalisation par appel léger
3.4 Réalisation par message (RPC)
4. Conclusion
LFI3 S. ZAMMALI 2
Réalisation d’une communication client/serveur:
1. Le client demande un service (envoi d’une requête)
2. Le serveur exécute le service
3. Le serveur retourne une réponse au client
Communication:
Bas niveau: utilisation directe du transport: Socket
Haut niveau: intégration dans un langage de programmation : RPC
LFI3 S. ZAMMALI 3
Appel de procédure à distance (Remote Procedure Call, ou
RPC) : un outil pour construire des applications client-serveur
dans un langage de haut niveau
L’appel et le retour ont lieu sur un site, l’exécution se déroule
sur un site distinct
Transparence de localisation: l’effet de l’appel doit être
identique dans les deux situations (local et distant)
LFI3 S. ZAMMALI 4
Mise en œuvre
Par migration Par appel
Par mémoire léger (LRPC)
partagée
Par messages
LFI3 S. ZAMMALI 5
Principe Avantages Inconvénients
• Le code et les • Très efficace • Univers
données de la pour de d’exécutions
procédure distante nombreux appels homogènes (ex
sont amenés sur le machine
site appelant pour y virtuelle).
être exécutés par un • Performances
appel local habituel. selon le volume
de codes et de
données.
LFI3 S. ZAMMALI 6
Principe Avantages Inconvénients
La procédure est • Efficace en cas • Univers de
installée pour le client de nombreux systèmes
comme pour le appels homogènes
serveur dans la mémoire • Efficace si tout le • Problèmes de
virtuelle partagée code et les partage selon la
répartie données ne sont cohérence de la
pas visités mémoire répartie
LFI3 S. ZAMMALI 7
Principe Avantages Inconvénients
• Processus locaux • Transmission • Uniquement
s'exécutant sur la même d’appel très applicable dans
machine performant une même
• Segment de mémoire machine
partagée entre le
client et le serveur qui
contient une pile pour
les paramètres
d’appel et de réponse
LRPC (Lightweight
RPC)
LFI3 S. ZAMMALI 8
Principe Avantages Inconvénients
• Deux messages (au moins) • Le premier • Peu efficace pour
échangés : requête et
modèle de très nombreux
réponse
o Le premier message implémenté appels
correspondant à la requête • Supporte
est celui de l'appel de l’hétérogénéité
procédure, porteur des
• La plus simple à
paramètres d'appel.
o Le second message réaliser
correspondant à la réponse
est celui du retour de
procédure porteur des
paramètres résultats.
LFI3 S. ZAMMALI 9
Deux modules
la souche, ou talon client (client stub):
o Intercepteur (procédure) coté client qui reçoit l’appel en mode local,
o Le transforme en appel distant,
o Envoie message d’appel de procédure,
o Reçoit le message contenant les résultats après l’exécution,
o Retourne les résultats comme dans un retour local de procédure.
la souche serveur (server stub):
o Intercepteur(procédure) coté serveur qui reçoit le message d’appel,
o Fait réaliser l’exécution sur le site serveur par la procédure serveur,
o Récupère les résultats et retransmet les résultats par message.
LFI3 S. ZAMMALI 10
Le processus appelant, coté client, et la procédure
appelée, coté serveur, conservent la même interface que
dans le cas centralisé.
Les souches client et serveur échangent des messages via
le système de communication.
LFI3 S. ZAMMALI 11
LFI3 S. ZAMMALI 12
1. Le client réalise un appel procédural vers la procédure
souche client
2. La souche client collecte les paramètres, les emballe
(Assemblage) dans le message d’appel
3. La souche client demande à une entité de transport locale la
transmission du message d'appel
4. Le message d’appel est transmis sur un réseau au site
serveur.
5. Le message d’appel est délivré à la souche serveur.
6. La souche serveur désassemble les paramètres
LFI3 S. ZAMMALI 13
7. La souche serveur réalise l’appel effectif de la procédure
serveur.
8. La procédure serveur ayant terminé son exécution transmet
à la souche serveur dans son retour de procédure les
paramètres résultats.
9. La souche serveur collecte les paramètres retour, les
assemble dans un message
10. La procédure souche serveur demande à l ’entité de
transport serveur la transmission du message de réponse.
11. Le message de réponse est transmis sur un réseau au site
client.
LFI3 S. ZAMMALI 14
12. Le message de réponse est délivré à la souche client.
13. La souche client désassemble les paramètres résultats.
14. La souche client transmet les résultats au client en effectuant un
retour habituel de procédure en mode local.
LFI3 S. ZAMMALI 15
Avantages des RPC:
De plus haut niveau: communications par message
Une structure de contrôle bien connue: appel de procédure
Qui s’intègre à l’univers réparti des concepts modernes de génie
logiciel: approche objets, approches composants
LFI3 S. ZAMMALI 16
1. Olivier Glück, Architecture et communications
Client/Serveur -2018
2. «Réseaux», 4ième édition, Andrew Tanenbaum, Pearson
Education, ISBN 2-7440-7001-7
3. «La communication sous Unix», 2ième édition, Jean-Marie
Rifflet, Ediscience international, ISBN 2-84074-106-7
4. «Analyse structurée des réseaux», 2ième édition, J. Kurose
et K. Ross, Pearson Education, ISBN 2-7440-7000-9
LFI3 S. ZAMMALI 17