Académique Documents
Professionnel Documents
Culture Documents
P artie1 04points
On vous demande de développer une application répartie permettant d’utiliser les ressources
de plusieurs serveurs a…n d’e¤ectuer des calculs complexes demandés par des clients.
– Citez deux propriétés des applications réparties (sans explication). (1 pt)
Scalabité
Hétérogénéité
Distribution
Transparence
Pas d’état global
Pas d’horloge commune
Ouverture
La concurrence
Le parallelisme
Etc. . . . . .
– Rappelez deux modèles d’architecture des applications réparties. (1 pt)
a. Client serveur.
b. P2P.
c. Proxy.
– Quelle est l’architecture la plus adaptée pour cette application ? (1 pt)
Client-serveur.
Lorsqu’un client demande un calcul, il e¤ectue sa demande auprès d’un serveur WEB qui va
répartir la charge de calcul en fonction du nombre de serveurs dont il dispose. Puis, il récoltera
les résultats de chaque partie du calcul pour fournir au client le résultat …nal. On supposera que
chaque serveur doit s’identi…er auprès du serveur maître (Master) lorsqu’il est lancé.
– Quel est le niveau de cette architecture (en termes de tiers) ? (1 pt)
Client-serveur multi tiers (n-tiére).
P artie2 07points
Nous souhaitons à présent implémenter cette architecture à l’aide du JAVA RMI :
– JAVA RMI est un cas particulier de Middleware, quel est cette particularité ?(1 pt)
JAVA RMI est un middleware , entre deux machine JAVA.
– Expliquez le principe de fonctionnement de JAVA RMI. (2 pts)
Principe de base : Les di¤é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é…nition 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 a¤ectant
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.
– En utilisant le schéma de la partie 1, quel est le nombre nécessaire d’interfaces à implé-
menter pour réaliser cette architecture ? (2 pts)
Le nombre d’interface est de quatre (04).
– A quel niveau sont-elles implémentées ? (0.5 pt)
Au niveau des seveurs (03) et du Master (01).
– Proposez en JAVA une interface possible. (1 pt)
import java.rmi.* ;
import java.util.* ;
public interface serv1Interface extends Remote {
public int fact (int N) throws RemoteException ;
}
– Même question en utilisant le mode multi-threadé. ( 0.5 pt)
Aucun changement.
P artie3 07points
Nous souhaitons en un deuxième temps implémenter cette architecture en utilisant les so-
ckets :
– Quels sont les types de sockets existants ? (1 pt)
TCP/IP et UDP/IP.
– Quelle est la di¤érence principale entre ces types ? (1 pt)
TCP : mode connecté.
UDP : mode non connecté.
Bon courage