Examen de Juin 2007 page 1 IPST-CNAM Systèmes répartis Cycle C / NFP 214 Jeudi 21 Juin 2007 NFP 214 - Systèmes répartis Sans document Durée : 1 heures 30 minutes Enseignants : LAFORGUE Jacques Session de JUIN NFP 214 (COURS) 1. QCM (33 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) et répondre au hasard est une très mauvaise stratégie. 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 et votre numéro de groupe de TP. Si vous avez changé de groupe de TP en cours d'année, indiquez les correspondances projets/groupe. Vous avez droit à 10% de points négatifs sans pénalité, soit 3,5 points page 1 Examen de Juin 2006 NOM: page 2 PRENOM: NFP 214 - Systèmes répartis GROUPE DE TP : "Un système réparti est un système informatique dans lequel les ressources ne sont pas centralisées". Cette définition d'un système réparti est-elle exacte? 1 OUI 2 NON Q1 La mémoire d'un système réparti est bien adaptée pour obtenir un état global d'un système informatique 1 OUI 2 NON Q2 Les avantages d'un système répartis sont : Q3 1 un système réparti est adapté pour donner une qualité de service identique tant local que distant 2 un système réparti d'une grande entreprise industrielle est plus à même d'être sécurisé qu'un système non réparti. 3 dans un système réparti, il est envisageable de continuer un service même dégradé On oppose habituellement le système réparti au système centralisé. Y a t-il un avantage qu'un système réparti se comporte comme un système centralisé ? 1 OUI 2 NON Q4 Des exemples de modèle réparti sont : 1 Les LAN 2 Les DNS 3 Le Peer to peer Q5 Il est possible de réaliser une communication dans un système réparti en utilisant les moyens suivants : 1 faire un appel à une méthode distante via un protocole de type RPC (Remote Process Distant) 2 envoyer un message via un socket 3 faire un appel à une fonction interne au processus d'exécution Q6 RMI veut dire "Remote Methode Invocation" 1 OUI 2 NON Q7 En Java RMI, un objet distribué est : 1 un objet Java dont la classe d'appartenance hérite de UnicastRemoteObject 2 un objet Java dont la classe d'appartenance implémente l'interface Remote Q8 CORBA est un langage de programmation de définition d'interface entre deux systèmes informatiques répartis sur le réseau 1 OUI 2 NON Q9 CORBA veut dire "Common Object Request Broker Architecture" 1 OUI 2 NON Q 10 page 2 Examen de Juin 2006 page 3 NFP 214 - Systèmes répartis Pour lever une exception Java 1 on doit mettre l'instruction de levé d'exception dans une clause "try catch" 2 on utilise la méthode static Exception.throw 3 on utilise l'instruction prédéfinie 'throw' Q 11 Une exception en Java est une instance d'une classe qui hérite de la classe Exception 1 OUI 2 NON Q 12 Un package Java est : 1 un ensemble de fichier .class tous concaténés dans une librairie qui est un fichier d'archive .ar 2 un fichier d'archive .jar 3 un répertoire contenant des fichiers .class Q 13 L'instruction -classpath dans une commande d'exécution d'une application Java permet de : 1 désigner le répertoire contenant le fichier .class qui définit la méthode main de l'application Java 2 désigner les répertoires contenant les packages de l'application Java 3 désigner des fichiers .jar contenant des packages utilisés par l'application Java Q 14 La sérialisation est un mécanisme Java permettant de : 1 écrire des objets Java dans un fichier ou un socket 2 convertir des objets Java en un flux XML 3 gérer le garbage-collecteur de la machine virtuelle Java Q 15 La classe par défaut d'une interface est : 1 une classe qui implémente par défaut toutes les méthodes de l'interface 2 une classe qui hérite de l'interface 3 une classe qui hérite d'une classe qui implémente toutes les méthodes de l'interface Q 16 Une interface Java permet de : 1 créer une interface homme machine en utilisant les classes prédéfinies du package swing 2 séparer rigoureusement l'interface homme machine de son applicatif 3 créer du code générique Q 17 Soit la déclaration de la classe suivante : public class MonThread extends Thread { public void run() { // traitement du thread } } Q 18 Pour créer le thread et l'exécuter, il faut faire les instructions suivantes: 1 Runnable p = new Runnable (); MonThread q = new Thread(p); q.start(); 2 MonThread p = new MonThread (); p.start(); 3 MonThread p = (MonThread)(new Thread()); p.start() page 3 Examen de Juin 2006 page 4 NFP 214 - Systèmes répartis Dans une architecture CORBA, on appelle une Factory : 1 un composant qui permet de factoriser dynamiquement du code 2 un composant qui permet un mapping dynamique des données de la base de données 3 un composant qui fabrique des objets distribués Q 19 Le client d'une application distribué RMI obtient : 1 un pointeur sur l'objet distant 2 une référence Java sur l'instance de l'objet distant 3 une amorce représentative de l'objet distant Q 20 Un objet passé en paramètre d'une méthode distante est reçu par l'appelant : 1 sous la forme d'un nouvel objet qui est une copie du paramètre 2 sous la forme d'une référence du paramètre Q 21 En Java RMI, les paramètres des méthodes distantes sont des instances de n'importe quelle classe qui implémente l'interface Serializable 1 OUI 2 NON Q 22 En Jacorb (CORBA), les paramètres des méthodes distantes sont des instances de n'importe quelle classe qui implémente l'interface Serializable 1 OUI 2 NON Q 23 En CORBA, il est obligatoire d'enregistrer les servants (objets distribués) dans un annuaire (service de nommage) 1 OUI 2 NON Q 24 En Java RMI, il est obligatoire d'enregistrer les objets distribués dans un adaptateur (service de nommage) 1 OUI 2 NON Q 25 Soit, un IDL qui contient une interface de nom InterfaceDeviseOD. Cette interface génère une classe utilisée pour créer, par héritage, les servants. Le nom de cette classe est : 1 InterfaceDeviseODOperations 2 InterfaceDeviseODPOA 3 InterfaceDeviseODHolder Q 26 Un servant peut être activé soit au lancement du POA soit à la demande. Quand un servant est activé auprès du POA son IOR est stocké dans l’Active Object Map: 1 OUI 2 NON Q 27 Un POA (Programm Object Adaptator) est un programme prédéfini d'un ORB ou un "adaptateur" permettant d'enregistrer les noms des servant 1 OUI 2 NON Q 28 La référence d'un objet CORBA contient l'IOR du servant associé 1 OUI 2 NON Q 29 page 4 Examen de Juin 2006 page 5 NFP 214 - Systèmes répartis La référence d'un objet CORBA ne peut pas être passé en paramètre d'une méthode distante 1 OUI 2 NON Q 30 Dans une architecture CORBA, un même servant ne peut pas être utilisé en même temps par deux clients différents dont l'un est écrit en Java et l'autre écrit en C++ 1 OUI 2 NON Q 31 La référence d'un objet CORBA permet d'obtenir l'interface du servant et d'invoquer ses méthodes distantes 1 OUI 2 NON Q 32 L'architecture distribuée suivante est correcte. Le sens de la flèche correspond à l'appel d'une méthode distante (exemple: OD2-> OD3 : OD2 appelle une méthode distante de OD3). La machine A a un adaptateur dans lequel OD1 et OD2 se sont enregistrés. La machine B a un adaptateur dans le quel OD3 et OD4 se sont enregistrés. Q 33 MACHINE A OD1 OD1 MACHINE B OD2 OD2 OD1 OD3 Adaptateur A 1 2 3 OD2 OD4 Adaptateur B Le nom de l'objet OD1 doit être différent de celui de OD3 Le nom de l'objet OD1 doit être différent de celui de OD2 Si l'adaptateur A est en panne, je peux enregistrer OD1 et OD2 dans l'adaptateur B. page 5 Examen de Juin 2006 page 6 NFP 214 - Systèmes répartis 2. Questions libres (12 points) Chaque question est notée sur 2 points soit un total de 12 points. Quel est le rôle d'un POA dans l'architecture CORBA ? Q1 Donner une définition générale d'un objet distribué (en RMI) ou servant (en CORBA) Q2 Commentez le schéma suivant : Q3 Quel est le rôle du service CORBA "Naming Services"? Q4 A quoi sert un Factory dans une architecture CORBA? Q5 Quelles sont les différences entre Java RMI et Java CORBA ? Q6 Vous répondez à ces questions sur une copie vierge en mettant bien le numéro de la question. page 6