1. QCM (60 points) - par Jacques LAFORGUE

publicité
Examen 2ième session 2008-2009
page 1
IPST-CNAM
Systèmes répartis
NFP 214
Jeudi 12 Février 2009
NFP 214 - Systèmes répartis
Sans document
Durée : 2 heures
Enseignants : LAFORGUE Jacques
1ère Session NFP 214
(COURS)
1. QCM (60 points)
Mode d'emploi :
Ce sujet est un QCM dont les questions sont de 3 natures :
•
les questions à 2 propositions: dans ce cas une seule des 2 propositions est bonne.
+1 pour la réponse bonne
–1 pour la réponse fausse
•
les questions à 3 propositions dont 1 seule proposition est bonne
+ 1 pour la réponse bonne
–½ pour chaque réponse fausse
•
les questions à 3 propositions dont 1 seule proposition est fausse
+ ½ pour chaque réponse bonne
–1 pour la réponse fausse
Il s'agit de faire une croix dans les cases de droite en face des propositions.
On peut remarquer que cocher toutes les propositions d'une question revient à ne rien cocher
du tout (égal à 0).
Si vous devez raturer une croix, faites-le correctement afin qu'il n'y ait aucune ambiguïté.
N'oubliez pas d'inscrire en en-tête du QCM, votre nom et prénom.
Vous avez droit à 10% de points négatifs sans pénalité.
page 1
Examen 2ième session 2008-2009
NOM:
page 2
NFP 214 - Systèmes répartis
PRENOM:
Un Middleware est :
1
un bus logiciel de communication
2
une architecture physique de définition d’un réseau informatique
3
constitué au moins d’une API qui prend notamment en charge les connexions réseaux avec les
serveurs
1.
Exemples de Middleware :
1
SOA (Services Oriented Architectur)
2
RMI (Remote Method Invocation)
3
OS Windows
2.
Le schéma ci-dessous est une représentation d'une architecture client / serveur utilisant un middleware:
3.
1
2
3
Ce type d’architecture montre un accès direct par le client à la base de données afin d’optimiser
les accès
Ce type d’architecture nécessite que les clients soient sur le même réseau (VLAN) que les
serveurs
Ce type d’architecture permet de répartir les serveurs sur le réseau afin de favoriser
l’indépendance des composants de l’application
Une architecture réseau distribuée est :
1
une architecture dans laquelle toutes les ressources sont centralisées dans un "chef d'orchestre"
(élément central indispensable)
2
une architecture dans laquelle les ressources sont réparties sur le réseau
4.
Une architecture réseau distribuée est la mise à disposition d'un ensemble de ressources et services
connectés via un réseau pour tous les usagers qui possèdent un droit d'accès en un point quelconque
1
OUI
2
NON
5.
page 2
Examen 2ième session 2008-2009
page 3
NFP 214 - Systèmes répartis
Les avantages d’un système réparti sont (entre autre) :
1
La centralisation des services informatiques sur une machine serveur dimensionnée en
conséquence utilisés par les clients de manière distante
2
La sécurité des accès
3
La robustesse aux pannes
6.
Les avantages d’un système réparti sont notamment :
1
de continuer un service globalement même dégradé
2
performance de la bande passante du réseau
3
adaptabilité à une forte croissance des besoins informatiques d'une entreprise
7.
En RMI (Remote Method Invocation) de Java, les requêtes des appels des méthodes distantes
échangées entre un client et un objet distribué passent par l'adaptateur dans lequel s'est enregistré
l'objet distribué.
1
OUI
2
NON
8.
CORBA (Common Object Request Broker Architecture) est
1
un Framework Java et C++ de développement de solution informatique orientée serveur/client
2
une norme de Middleware dédié à la communication de données à travers un réseau
3
une API exclusivement Java permettant la communication de données à travers un réseau
9.
La communication logique entre les clients et le serveur
1
permet l'échange d'informations logiques (au sens de la compréhension mutuelle des échanges)
2
d'abstraire au maximum les mécanismes d'échange des informations
10.
Dans un ORB (RMI, CORBA), un Factory est un objet distribué (ou servant) qui permet de créer
d'autres objets distribués sur un serveur, à partir d'un client distant
1
OUI
2
NON
11.
Un objet distribué doit toujours être nommé (nom enregistré dans le service de nommage)
1
OUI
2
NON
12.
Un objet distribué est un objet dont ses attributs son répartis sur le réseau
1
OUI
2
NON
13.
Sur une même machine, dans deux JVM différentes, on peut créer deux objets distribués qui acceptent
les requêtes sur un même numéro de port
1
OUI
2
NON
14.
Sur une même machine, dans une même JVM, on peut créer deux objets distribués qui acceptent les
requêtes sur un même numéro de port
1
OUI
2
NON
15.
Sur deux machines distinctes, les objets distribués peuvent accepter les requêtes sur le même port
1
OUI
2
NON
16.
page 3
Examen 2ième session 2008-2009
page 4
NFP 214 - Systèmes répartis
L’architecture type suivante est une architecture Web-service :
1
2
3
17.
Dans ce type d’architecture, les clients ont accès au bus logiciel des serveurs
Dans ce type d’architecture le « serveur d’application » a accès au bus logiciel des serveurs
Dans ce type d’architecture, RMI de Java peut être une solution pour implémenter le bus
logiciel
L'indépendance de la situation géographique d'un objet distribué passe par la mise en place d'un "chef
d'orchestre" qui mémorise les paramètres de connexion de cet objet distribué.
1
Dans un ORB on appelle ce chef d'orchestre : un Factory
2
En RMI, on appelle ce chef d'orchestre : l'adaptateur ( ou RmiRegistry)
3
En CORBA, on appelle ce chef d'orchestre : le Naming Services
18.
La tolérance aux pannes d'un servant dans une architecture répartie passe, notamment, par
1
la mise en place du doublement du réseau
2
la mise en place de l'indépendance géographique du servant pour les utilisateurs
3
la mise en place de liens de réplication des ressources critiques du servant sur un autre servant
19.
page 4
Examen 2ième session 2008-2009
page 5
NFP 214 - Systèmes répartis
20.
Cette représentation UML est celle de l'atelier 16 dans le cas d'une solution RMI. Elle décrit la
dépendance des classes et des interfaces entre un client IHM et un serveur RMI.
1
La communication réseau se fait entre AppXXX et IhmXXX via l'interface AppXXXInt
2
La communication réseau se fait entre IhmXX et IhmXXXRmiImp via l'interface
AppXXXODInt
3
La communication réseau se fait entre AppXXXOD et IhmXXXRmiImp via l'interface
AppXXXODInt
Les rôles d'un ORB sont notamment :
1
de rendre transparente la localisation des objets distribués
2
de faciliter le passage des paramètres dans les appels de méthodes distantes
3
de développer plus facilement les interfaces graphiques des IHM utilisées dans une architecture
client-serveur
21.
Pour utiliser les méthodes distantes d'un objet distribué :
1
on demande à un factory le proxy de connexion de l'objet distribué
2
on demande à un adaptateur le proxy de connexion de l'objet distribué
3
on demande à un IDL le proxy de connexion de l'objet distribué
22.
Pour faire connaître ses méthodes distantes aux clients, un objet distribué leurs envoie les méthodes
sous forme d'autant d'objets sérialisés appelées les signatures AMD (Accès aux Méthodes Distantes)
1
OUI
2
NON
23.
Un proxy de connexion (ou référence d'un objet distribué) est un pointeur sur un objet distribué
1
OUI
2
NON
24.
Deux clients peuvent utiliser en même temps une méthode distante d'un objet distribué
1
OUI
2
NON
25.
On peut interdire que deux clients puisent utiliser en même temps une méthode distante d'un objet
distribué
1
OUI
2
NON
26.
page 5
Examen 2ième session 2008-2009
page 6
NFP 214 - Systèmes répartis
Pour créer un objet distribué, on réalise les étapes suivantes :
1/ créer un objet quelconque du langage (Java, C++, ...) : classe + instanciation
2/ envoyer cet objet à un client via la communication de sérialisation
3/ le client reçoit cet objet et utilise les méthodes de l'objet
1
OUI
2
NON
27.
Architecture générale d'un Objet Dstribué :
28.
1
2
3
Les objets distribués OD1, OD2, et OD3 sont créés par le factory SOCKET FACTORY
Le SOCKET FACTORY distribue les requêtes vers les objets distribués OD1, OD2, et OD3
Les requêtes échangées entre les clients et le socket factory correspondent à des appels de
méthodes distantes.
Pour pouvoir communiquer avec un objet distribué, le client établit une communication socket entre le
serveur de socket de l'objet distribué et lui-même
1
OUI
2
NON
29.
En RMI, le Socket Factory est géré par la classe UnicastRemoteObject
1
OUI
2
NON
30.
page 6
Examen 2ième session 2008-2009
page 7
NFP 214 - Systèmes répartis
31.
bin
n
bi
d
bi
nd
d
Ce schéma représente le fonctionnement des "Sockets factorys" des classes UnicastRemoteObject
utilisées dans des programmes Java RMI. Comme le montre le schéma, 4 objets distribués sont en
cours d'exécution.
1
Dans la JVM1 du schéma, on pourrait créer un nouvel objet distribué RMI sur le port 9102
2
Les ports des Sockets Factorys sont ici imposés par le développeur
3
Dans la JVM2 du schéma, on pourrait créer un nouvel objet distribué RMI sur le port 9102
Une communication de l'appel d'une méthode distante, entre un client et un objet distribué RMI se fait
toujours en passant par l'adaptateur:
1
OUI
2
NON
32.
En CORBA, le service de nommage est créé sur chaque machine du réseau
1
OUI
2
NON
33.
Client
Souche
Contrat IDL
BUS CORBA
Fournisseur
Squelette
En CORBA, le contrat IDL d'un bus CORBA :
1
est un programme IDL contenant la description des interfaces qui précisent les méthodes
distantes du Fournisseur, utilisées par le Client
2
est un programme d'interface entre le Client et le Fournisseur, enregistré dans le service de
nommage
3
est l'ensemble de classes Java, C++, ... générées par les pré-compilateurs Idl vers Java, Idl vers
C++, ....qui contiennent notamment la souche et le squelette
page 7
34.
Examen 2ième session 2008-2009
page 8
NFP 214 - Systèmes répartis
En Java RMI, l’instruction lookup retourne un objet (appelé "stub" ou proxy) qui implémente les
méthodes de l'interface de l'objet distribué
1
OUI
2
NON
35.
En Java RMI, l’instruction lookup réalise les étapes suivantes :
1/ connexion à l'adaptateur
2/ récupération du stub de connexion à l'objet distribué
1
OUI
2
NON
36.
En Java RMI, l’instruction bind :
1
permet de créer physiquement (au sens du langage) un objet distribué
2
alloue un nouveau port ou utilise le port existant pour l'objet distribué via la classe
UnicastRemoteObject
3
enregistrer l'objet distribué dans un adaptateur
37.
En Java RMI, l’instruction bind accepte 4 paramètres : l'adresse IP de l'adaptateur, le port de
l'adaptateur, le nom de l'objet distribué et un objet dont la classe d'appartenance hérite de
UnicastRemoteObject
1
OUI
2
NON
38.
On peut passer en paramètre d'une méthode distante, un objet distribué afin que le client puisse le
recevoir et l'utiliser pour appeler les méthodes de cet objet distribué
1
OUI
2
NON
39.
Le Domain Name System (DNS) n'est pas un système réparti mais un système à plat de l'ensemble des
adresses des domaines et centralisé sur un serveur unique appelée DNSS (Domain Name System
Server)
1
OUI
2
NON
40.
En CORBA avec Java, dans l'appel d'une méthode distante, il est possible de faire passer en paramètre
n'importe quel objet Java
1
OUI
2
NON
41.
Au sujet de l’utilisation d’un objet distribué (OD) sur Internet :
1
Il est impossible qu’un OD puisse être utilisé par des clients connectés sur Internet.
2
Pour utiliser un OD sur Internet, il vaut mieux sécuriser les ports gérés par l’OD et l’adaptateur
3
Rien n’interdit qu’un OD puisse être utilisé par des clients connectés sur Internet.
42.
Pour utiliser un OD sur Internet, il vaut mieux les intégrer dans une architecture 4-Tiers (exemple :
Internet Explorer / Tomcat / EJB RMI / BD)
1
OUI
2
NON
43.
En RMI, pour mette en place une redondance d'un objet distribué, on peut :
1
En cas de panne d'une machine, déplacer l'objet distribué sur une autre machine.
A la charge du client de se connecter sur la machine redondante en cas de défaut de connexion
2
Enregistrer deux fois l'objet distribué dans l'adaptateur
44.
page 8
Examen 2ième session 2008-2009
page 9
NFP 214 - Systèmes répartis
En CORBA, pour mette en place une redondance d'un objet distribué il suffit de le recréer sur une autre
machine et le réenregistré dans le service de nommage.
1
OUI
2
NON
45.
En RMI, le code suivant est un exemple valide de création d'un objet distribué :
Naming.rebind("rmi://localhost:9999/HELLO", new HelloOD("Pierre","DUPONT"));
1
OUI
2
NON
46.
Dans le protocole RMI la communication entre deux objets distribués se fait en utilisant la technologie
des sockets :
1
Le client reçoit de l'adaptateur un RMIClientSockeFactory lui permettant de se connecter à
l'objet distribué
2
L'objet distribué utilise un RMIServerSocketFactory lui permettant d'attendre et traiter les
requêtes du client
3
Le client crée un ServerSocket et le serveur ouvre un socket sur ce serveur de socket pour
traiter les requêtes.
47.
Un objet passé en paramètre d'une méthode distante est reçu par l'appelant :
1
sous la forme d'une référence d’un objet distant
2
sous la forme d'un nouvel objet qui est une copie du paramètre
48.
En architecture réparti, un programme "client" qui utilise un objet distribué ne peut pas créer d'objet
distribué et devenir un serveur à son tour
1
OUI
2
NON
49.
La persistance consiste à maintenir un lien distant entre un objet et une copie en temps réel ailleurs sur
le réseau
1
OUI
2
NON
50.
page 9
Examen 2ième session 2008-2009
page 10
NFP 214 - Systèmes répartis
La réplication consiste à maintenir une copie d'un objet en temps réel en base de données
1
OUI
2
NON
51.
Un client qui appelle une méthode distante synchronisée, interdit à tout autre client d'utiliser l'objet
distribué tant qu'il n'a pas fini d'exécuter la méthode
1
OUI
2
NON
52.
Les attributs d'un objet distribué doivent être sérialisables
1
OUI
2
NON
53.
Les attributs d'une méthode distante d'un objet distribué doivent être sérialisables
1
OUI
2
NON
54.
Une méthode distante d'un objet distribué RMI doit appartenir à une interface
1
OUI
2
NON
55.
La sérialisation est utilisée, notamment, pour :
1
structurer les données de l'interface IDL qui définie les données échangées entre le client et le
serveur
2
faire la sauvegarde de données sur disque
3
transporter les données entre un client et un serveur
56.
En CORBA, l'IDL est un langage informatique permettant de décrire le contrat d'échange (données et
traitements) entre les clients et leur serveur
1
OUI
2
NON
57.
En RMI de Java, l'IDL est un fichier contenant du code Java qui décrit la signature de toutes les
méthodes distantes d'un objet distribué.
1
OUI
2
NON
58.
Un adaptateur ou service de nommage utilise un port de la machine sur lequel il se met en attente des
demandes de connexion des clients des objets distribués qui s'y sont enregistrés.
1
OUI
2
NON
59.
Un adaptateur ou service de nommage est utilisé par les objets distribués pour envoyer des messages
aux clients
1
OUI
2
NON
60.
page 10
Examen 2ième session 2008-2009
page 11
NFP 214 - Systèmes répartis
2. Questions libres (20 points)
Chaque question est notée sur 4 points.
Vous répondez à ces questions sur une copie vierge en mettant bien le numéro de la question, sans oublier votre
nom et prénom.
Q1
Décrire les différentes étapes de développement qu'il est nécessaire de faire pour créer un objet distribué, en
RMI de Java, utilisable par un client quelconque.
Q2
Ce schéma représente les différentes étapes de l'exécution du fonctionnement d'un objet distribué utilisé par un
client.
Indiquez ce que chaque lettre signifie.
Les mettre dans l'ordre temporel de l'exécution.
(Tourner la page)
page 11
Examen 2ième session 2008-2009
page 12
NFP 214 - Systèmes répartis
Q3
Ce schéma est la description statique UML des classes et interfaces mise en œuvre pour la conception d'un
client avec son serveur RMI composé d’un objet distribué.
Indiquez le rôle de chacune de ces classes et/ou interfaces Java. (Précisez bien quand c'est une classe ou une
Interface).
(Tourner la page)
page 12
Examen 2ième session 2008-2009
page 13
NFP 214 - Systèmes répartis
Q4
Citez des avantages de l'utilisation des objets distribués dans une architecture serveur/client..
Q5
page 13
d
(Fin du sujet)
bin
Commentez ce schéma.
nd
bi
nd
bi
bi
nd
Téléchargement
Study collections