Examen - Communication dans les Systèmes Répartis
Partie 1 : Definitions (4 points)
Definissez clairement les termes suivants :
1. Systeme reparti
2. Middleware oriente message (MOM)
3. Appel de procedure distante (RPC)
4. Java Naming and Directory Interface (JNDI)
Correction :
1. Un systeme reparti est un ensemble de machines autonomes reliees par un reseau, cooperant pour
executer des tâches.
2. Un MOM est un intergiciel permettant l'echange asynchrone de messages entre applications distribuees.
3. Le RPC permet a un programme d'executer une procedure situee sur une machine distante comme si elle
etait locale.
4. JNDI est une API Java pour la decouverte et l'acces aux ressources distribuees via des noms logiques.
Partie 2 : QCM / Quiz (3 points)
1. Lequel des elements suivants permet une communication asynchrone ?
a) RMI b) RPC c) MOM d) JDBC
Reponse : c) MOM
2. Que fait un stub dans un systeme RPC ?
a) Realise le lien avec JNDI
b) Cache les details de la communication reseau
c) Gere la base de donnees
Page 1
Examen - Communication dans les Systèmes Répartis
d) Active les threads
Reponse : b) Cache les details de la communication reseau
3. En JMS, le modele Publish/Subscribe repose sur :
a) Une queue
b) Un fichier XML
c) Un topic
d) Une table
Reponse : c) Un topic
Partie 3 : Question de cours (4 points)
Expliquez les differences entre RPC, RMI et JMS en precisant leurs cas d'usage, leurs avantages et leurs
limites.
Correction :
- RPC est procedural, synchrone, adapte aux systemes simples mais peu flexible.
- RMI est oriente objet (Java), permet l'invocation de methodes a distance avec passage d'objets, mais
depend fortement de Java.
- JMS est asynchrone, permet le decouplage via un broker de messages, ideal pour les architectures
distribuees faiblement couplees.
Partie 4 : Étude de cas (5 points)
Une entreprise veut creer une plateforme distribuee où les modules (en Java) echangent des donnees de
facon asynchrone.
Page 2
Examen - Communication dans les Systèmes Répartis
Le systeme doit etre faiblement couple et permettre la diffusion de messages a plusieurs consommateurs.
Chaque module doit retrouver les ressources via un nom logique.
Questions :
1. Quelle technologie recommandez-vous ? Justifiez.
2. Quel modele de communication JMS serait le plus adapte ici ?
3. Comment JNDI intervient-il dans cette architecture ?
Correction :
1. JMS, car il permet une communication asynchrone et faiblement couplee.
2. Le modele Publish/Subscribe avec des topics pour diffuser les messages.
3. JNDI permet aux modules de retrouver dynamiquement les topics/queues configures sur le broker.
Page 3