Vous êtes sur la page 1sur 3

Université Constantine 2 –Abdelhamid mehri

Faculté des nouvelles technologies &IC


Département de IFA / Master 1 /RSD Matière DARE 2018-2019

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)

- Hub and spoke


- Snowflake
- Bus de Messages

Q 4 : Quelle est l’architecture matérielle des systèmes distribués ? (0.5 pt)


- Tous les systèmes distribués sont de type MIMD

Q 5 : Les Sockets (prises de raccordement) sont : (1 pt)


 une norme de communication. (V/F)
 une couche de protocole. (V/F)
 une interface entre le programme d'application et les protocoles de communication. (V/F)

Q6 : Remplissez le tableau suivant. (2 pts)

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)

- TCP/IP et UDP/IP - TCP : mode connecté - UDP : mode non connecté

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.

Partie 2 (10 points) :

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 :

Les verbes Fonctio Sémantique Avec le code


HTTP n
POST Create La méthode POST est utilisée pour envoyer une 404 (Not Found),
entité vers la ressource indiquée. Cela entraîne 409 (Conflict) if
généralement un changement d'état ou des effets de resource already
bord sur le serveur. exists.
GET Read demande une représentation de la ressource 200 (OK), single
spécifiée. Les requêtes GET doivent uniquement customer. 404 (Not
être utilisées afin de récupérer des données. Found), if ID not
found or invalid.
PUT Update/ demande une représentation de la ressource 200 (OK) or 204 (No
Replace spécifiée. Les requêtes GET doivent uniquement Content). 404 (Not
être utilisées afin de récupérer des données. Found), if ID not
found or invalid.
DELETE Delete La méthode DELETE supprime la ressource
indiquée.
Source : https://developer.mozilla.org/fr/docs/Web/HTTP/Méthode
Nous souhaitons utiliser Java RMI pour implémenter CoAP en mode mono-threadé.
5- Rappelez le principe de fonction du java RMI. (2 pts)

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.

7- Donnez une interface possible CoAPInterface. (1pt)


import java.rmi.*;
import java.util.*;
public interface CoAPInterface extends Remote {
public String get() throws RemoteException;
public String post() throws RemoteException;
public String put() throws RemoteException;
public void delete() throws RemoteException;
}
8- Même question en utilisant le mode multi-threadé. (0.5 pt)
Même réponse.
Nous voulons stocker l’historique de la communication CoAP dans une base de données distribuée.
9- Quels sont les changements qu'on devra apporter à l'interface CoAPInterface que vous avez proposé
(question 7) ? (0.5 pt)
- Aucun changement niveau interface
10- Quel sera le nombre de tiers dans ce cas? (0.5 pt)
- 3tiers

Bon courage

Vous aimerez peut-être aussi