CorrectionExamen1ereSessionNFP214 2008-2009
CorrectionExamen1ereSessionNFP214 2008-2009
CorrectionExamen1ereSessionNFP214 2008-2009
page 1
IPST-CNAM
Systmes rpartis
NFP 214
Jeudi 12 Fvrier 2009
Sans document
Dure : 2 heures
Enseignants : LAFORGUE Jacques
les questions 2 propositions: dans ce cas une seule des 2 propositions est bonne.
+1 pour la rponse bonne
1 pour la rponse 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 ambigut.
N'oubliez pas d'inscrire en en-tte du QCM, votre nom et prnom.
Vous avez droit 10% de points ngatifs sans pnalit.
page 1
NOM:
page 2
PRENOM:
Un Middleware est :
1
un framework de dveloppement de solution client/serveur
2
un intermdiaire de communication entre un client et un serveur
3
un ensemble de composants logiciels assurant les interfaces de communication des donnes et
l'appel aux traitements
Q1
Dans une architecture serveur/client non rpartie, le rle d'un serveur est de centraliser l'information
1
OUI
2
NON
Q2
X
X
X
1
2
OUI
NON
Q4
Q5
X
X
Q6
Un objet distribu est une donne informatique qui est change entre un client et son serveur
1
OUI
2
NON
Q7
page 2
page 3
RMI (Remote Mthod Invocation) est un standard de communication entre des composants Java
1
OUI
2
NON
Q8
X
Q9
Un Factory est
1
une usine de fabrication d'objets distribus
2
une usine de fabrication de liens de persistance entre les objets et leurs reprsentations en base
de donnes
3
une usine de fabrication de servant (CORBA)
Q 10
X
Un objet distribu est toujours nomm et enregistr dans un annuaire (ou adaptateur).
1
OUI
2
NON
Q 11
Soit, un IDL qui contient une interface de nom InterfaceDeviseOD. Cette interface gnre, en Java, une Q 12
classe utilise par hritage pour crer les servants. Le nom de cette classe est :
1
InterfaceDeviseODOperations
2
InterfaceDeviseODPOA
X
3
InterfaceDeviseODHolder
Soit, un IDL qui contient une interface de nom InterfaceDeviseOD. Cet IDL gnre, en Java, une
interface utilise pour implmenter les mthodes distantes. Le nom de cette interface est :
1
InterfaceDeviseODOperations
2
InterfaceDeviseODPOA
3
InterfaceDeviseODHolder
Q 13
Les systmes rpartis sont tout naturellement des systmes hautement scuriss aux intrusions
extrieures.
1
OUI
2
NON
Q 14
L'indpendance de la situation gographique d'un objet distribu passe par la mise en place d'un "chef
d'orchestre" qui mmorise les paramtres de connexion de cet objet distribu.
1
OUI
2
NON
Q 15
La tolrance aux pannes d'un servant dans une architecture rpartie passe, notamment, par
1
la mise en place du doublement du rseau
2
la mise en place de l'indpendance gographique du servant pour les utilisateurs
3
la mise en place de liens de rplication des ressources critiques du servant sur un autre servant
page 3
Q 16
X
X
page 4
Q 17
Cette reprsentation UML est celle de l'atelier 16 dans le cas d'une solution RMI. Elle dcrit la
dpendance des classes et des interfaces entre un client IHM et un serveur RMI.
Le rle de la classe IhmXXXRmiImp est essentiel car :
1
Elle encapsule l'applicatif permettant ainsi l'IHM d'utiliser les mthodes de l'applicatif
2
Elle implmente l'interface AppXXXInt permettant ainsi l'IHM d'utiliser les mthodes de
l'applicatif comme si elles taient distantes via une communication RMI
3
Elle utilise l'interface AppXXXODInt qui communique avec le serveur via l'amorce du bus
RMI.
Les rles d'un ORB sont notamment :
1
de ne pas rendre transparente la localisation des objets distribus
2
de faciliter le passage des paramtres dans les appels de mthodes distantes
3
de permettre l'change de rfrence d'objet distant (ou proxy)
X
X
Q 18
X
X
Q 19
X
X
Un proxy de connexion (ou rfrence d'un objet distribu) est un pointeur sur un objet distribu
1
OUI
2
NON
Q 20
Un proxy de connexion (ou rfrence d'un objet distribu) est un pointeur sur l'amorce (ou stub)
1
OUI
2
NON
Q 21
X
Deux clients peuvent utiliser en mme temps une mthode distante d'un objet distribu
1
OUI
2
NON
Q 22
X
On peut interdire que deux clients puisent utiliser en mme temps une mthode distante d'un objet
distribu
1
OUI
2
NON
Q 23
page 4
page 5
En CORBA, l'IOR est cr par le client, la premire fois, lors de sa connexion au serveur
1
OUI
2
NON
Q 24
Q 25
X
En RMI, le client dcide de la manire de communiquer avec le serveur (choix de la connexion socket) Q 26
1
OUI
2
NON
X
En RMI, le Socket Factory est gr par la classe UnicastRemoteObject
1
OUI
2
NON
Q 27
X
Q 28
bin
d
n
bi
bi
nd
X
X
Une communication de l'appel d'une mthode distante, entre un client et un objet distribu RMI se fait : Q 29
1
directement entre le client et l'objet distribu
2
entre le client er l'objet distribu en utilisant un stub et un skeleton mais sans passer par
X
l'adaptateur
3
entre le client er l'objet distribu en passant par l'adaptateur
En CORBA, le POA est le composant qui permet d'enregistrer un servant dans le service de nommage
1
OUI
2
NON
En CORBA, le service de nommage est cr sur chaque machine du rseau
1
OUI
2
NON
Cette instruction :
POA poa = POAHelper.narrow( orb.resolve_initial_references( "RootPOA" ));
consiste rcuprer une interface de connexion avec le POA par dfaut d'un bus CORBA
1
OUI
2
NON
page 5
Q 30
X
Q 31
X
Q 32
Client
Souche
page 6
Contrat IDL
BUS CORBA
Fournisseur
Q 33
Squelette
X
X
Q 34
X
Q 35
Q 36
X
X
On peut passer en paramtre d'une mthode distante, un objet distribu afin que le client puisse
l'utiliser pour ensuite utiliser les mthodes distantes de cet objet distribu
1
OUI
2
NON
Q 37
Q 38
X
X
Le Domain Name System (DNS) n'est pas un systme rparti mais un systme plat de l'ensemble des
adresses des domaines et centralis sur un serveur unique appele DNSS (Domain Name System
Server)
1
OUI
2
NON
Q 39
Une architecture 3-Tiers est une architecture 3 Couches (ou Niveaux) constitu des couches de
Prsentation, de Traitement et d'Accs aux donnes
1
OUI
2
NON
Q 40
En CORBA, sur l'appel d'une mthode distante, il est possible de faire passer en paramtre un objet
contenant du code.
1
OUI
2
NON
Q 41
page 6
page 7
Q 42
X
X
Pour utiliser un OD sur Internet, il vaut mieux les intgrer dans une architecture 4-Tiers (exemple :
Internet Explorer / Tomcat / EJB RMI / BD)
1
OUI
2
NON
Q 43
Q 44
X
Pour mette en place une redondance chaude d'un nud d'un systme rparti RMI, il faut :
1
Une fois que les clients ont rcupr (lookup) la connexion au nud, enregistrer le nud
redondant sous le mme nom.
En cas de perte de connexion, les clients doivent refaire le lookup sur le mme nom.
Un lien de rplication doit tre tabli entre le nud matre et le nud esclave
2
Ds la cration du nud maitre, il faut l'enregistrer dans l'adaptateur et le re-enregistrer afin
que l'adaptateur en garde une copie et maintienne le lien de rplication entre le nud matre et
le nud esclave
Q 45
X
Q 46
X
Q 47
Q 48
Dans le protocole RMI la communication entre deux objets distribus se fait en utilisant la technologie
des sockets
1
OUI
2
NON
Q 49
Un objet pass en paramtre d'une mthode distante est reu par l'appelant :
1
sous la forme d'un nouvel objet qui est une copie du paramtre
2
sous la forme d'une rfrence dun objet distant
Q 50
X
Pour pouvoir faire communiquer un composant Java et un composant C++ sur un bus CORBA
1
on doit excuter les deux composants sur deux machines diffrentes
2
on doit crer un socket de communication entre les deux composants
3
on doit dfinir un IDL
Q 51
X
X
En JAVA, la persistance des objets en base de donnes se fait en utilisant la rflexivit du langage
1
OUI
Q 52
X
page 7
page 8
NON
Les IOR sont des chanes de caractre uniques sur un rseau donn permettant de crer une rfrence
CORBA
1
OUI
2
NON
Q 53
Q 54
Une mthode distante d'un objet distribu RMI peut tre static
1
OUI
2
NON
Q 55
La srialisation est le seul moyen pour passer des paramtres dans les appels des mthodes distantes
d'un objet distribu
1
OUI
2
NON
Q 56
Q 57
X
X
L'IDL est un langage informatique permettant de dcrire le contrat d'change (donnes et traitements)
entre les clients et leur serveur
1
OUI
2
NON
Q 58
Un client qui appelle une mthode distantes synchronise, interdit tout autre client d'utiliser l'objet
distribu tant qu'il n'a pas fini d'excuter la mthode
1
OUI
2
NON
Q 59
Un adaptateur ou service de nommage utilise un port de la machine sur lequel il se met en attente de
demande de connexion des clients de lobjet distribu qui s'y est enregistr.
1
OUI
2
NON
Q 60
page 8
X
X
page 9
Q2
1/Les ORB btis sur le modle d'objet distribu tel que RMI ou CORBA, sont mal adapts Internet car ils
impliquent l'utilisation de nombreux ports de la machine (autant que de serveur ou POA, autant que
d'adaptateur sur le rseau) et permettent plusieurs points d'entre sur l'application rpartie sur le rseau.
Or l'utilisation de internet implique une normalisation d'un port unique utilis par les serveurs HTTP, seul point
d'accs un site serveur. Les pare-feux tablis sur les serveurs empchent l'usage de ces nombreux ports.
2/ La solution consiste convertir toutes les requtes d'appel des mthodes distantes d'OD, en des requtes
HTTP. Le serveur HTTP aiguille ces requtes sur les composants rpartis du rseau dont il est le seul
connatre les ports et les adresses IP des servers rpartis.
Le schma suivant correspond ce type d'architecture.
page 9
page 10
Q3
Ce schma est la description statique UML des classes et interfaces mise en uvre pour la conception d'un
client avec son serveur RMI compos dun objet distribu.
Indiquez le rle de chacune de ces classes et/ou interfaces Java. (Prcisez bien quand c'est une classe ou une
Interface).
ImmXXXClient : classe du programme principal du client qui est une IHM.
IhmXXX : classe de cration et d'affichage de l'IHM
AppXXXInt : Interface des mthodes de l'applicatif que l'IHM peut utiliser
IhmXXXRmiImp : classe d'implmentation de l'interface AppXXXInt dont les mthodes ralisent les appels
aux mthodes distantes de l'OD
AppXXXODInt : Interface RMI des mthodes distantes de l'OD
AppXXXServeur : classe du programme principal du serveur
AppXXXOD : classe de cration de l'OD qui encapsule l'applicatif et qui hrite de UnicastRemoteObjet et qui
implmente l'interface AppXXXODInt
AppXXX : classe de cration de l'applicatif
(Tourner la page)
page 10
page 11
Q4
Des avantages de l'utilisation de la norme CORBA :
interoprabilit des composants crits en diffrents langages (Java, C++, ...)
existe en de nombreux middleware du march, certains gratuits et performants
contient de nombreux service (nommages, persistance, vnements, transactions, ...) facilitant la mise
en uvre de systmes d'information
service de nommage unique sur le rseau
utilisation facilit des factorys
facilit de la transmission des informations d'accs aux servants via l'usage des IOR
Q5
Ce schma est la description de l'architecture dynamique de la mise en oeuvre de la communication d'un client
avec un Objet Distribu.
host A
host B
NomOD
5
call
Stub
Serveur socket
Port 9101
7
6
Skelton
OD : NomOD
Skelton
localisation (lookup)
Enregistrement (bind)
Port 9100
ADAPTATEUR
(Fin du sujet)
page 11