Académique Documents
Professionnel Documents
Culture Documents
Examen final
Partie1 (10 points) :
On vous demande de développer une application répartie permettant d’utiliser les ressources de plusieurs serveurs
afin d’effectuer des calculs complexes demandés par des clients.
Q1 : Citez trois types de communications des systèmes distribués. (1 pt)
1. Communication par messages
2. Communication par mémoire commune
3. Communication par évènements et notifications
4. Communication de groupe
5. Communication par flux
6. Appel de procédures à distance
7. Invocation de méthodes à distance
Q2 : Comment est assurée la synchronisation dans la communication par message et par mémoire partagée ? (1 pt)
1. Des primitives de connexion et d’acquittement
2. Les mécanismes classiques tels les sémaphores
Q3 : Dans la communication par évènements et notifications (publish/suscribe) la gestion des évènements par le
BROKER peut prendre plusieurs forme, citez deux d’entre elles. (1 pt)
Q7 : Un socket s'utilise comme un fichier avec trois étapes citez les dans l’ordre. (1.5 pt)
1. Création/Définition/Ouverture
2. Communication
3. Fermeture/Libération
Q8 : Quels sont les types de sockets existants et quelle est la différence principale entre ces types ? (0.5 pt)
Q9 : Parmi les axes de recherches couvrant les systèmes distribués l’axe de la Théorie est fondamental, à votre
avis pourquoi ? (1 pt)
- Pour bien comprendre la problématique de la répartition, il est important de pouvoir modéliser le plus
formellement possible sa sémantique. Il s’agit d’élaborer des modèles de calcul traduisant de façon abstraite et
formelle (mathématique) les propriétés d’un calcul réparti. Par exemple : en utilisant algèbre de processus
communicant ou les logiques pour la description des propriétés.
CoAP est un protocole de transfert Web spécialisé basé sur l'architecture REST, répondant aux exigences M2M
(Machine to Machine) dans les environnements soumis à des contraintes.
1- A partir de la ligne de description plus haut, donnez deux caractéristiques de CoAP. (1 pt)
- Une faible charge d'en-tête, faible complexité d'analyse, et un adressage basé sur l'URI (Uniform
Ressources Identifier). La proximité avec HTTP facilite notamment le développement de passerelles
entre le monde des objets CoAP et le Web actuel.
2- Quelles sont les modèles de communication que prend en charge CoAP ? (1 pt)
- Le modèle requête-réponse et prend également en charge l'architecture en publication-souscription
en mode étendu.
3- CoAP est basé sur UDP. Comment gère-t-il la non-fiabilité de l’UDP ? (1 pt)
- Il s’appuie sur une approche à deux couches, 1- Une couche de messagerie CoAP utilisée afin de traiter la
non fiabilité d’UDP ainsi que la nature asynchrone des interactions (4 messages sont définis CON, ACK,
NON, RST) et une couche d’interaction héritée du protocole http.
4- Quelle est l'architecture la plus adaptée aux applications utilisant le protocole CoAP ? 1-tier, 2-tiers, n-tiers ?
Motivez votre réponse en donnant un schéma explicatif. (1 pt)
- 2-tiers
De façons Basique la couche interaction de CoAP hérite du protocole HTTP les Requêtes GET, POST, PUT,
DELETE comme décrits dans le tableau suivant :
1. Principe de base : Les différentes étapes pour créer un objet distant et l'appeler avec RMI sont:
1. Le développement coté serveur se compose de:
La définition d'une interface qui contient les méthodes qui peuvent être appelées à distance.
L'écriture d'une classe qui implémente cette interface.
L'écriture d'une classe qui instancie l'objet et l'enregistre en lui affectant un nom dans le
registre de noms RMI (RMI Registry).
2. Le développement côté client se compose de :
L'obtention d'une référence sur l'objet distant à partir de son nom.
L'appel à la méthode à partir de cette référence.
6- Rappelez les règles que doit respecter une classe qui implémente une interface. (1.5 pt)
(a) Doit implémenter une interface distante (Remote) ;
(b) Doit ´etendre la classe java.rmi.server.UnicastRemoteObject ;
(c) Peut avoir des méthodes locales.
Bon courage