Auto-évaluation J2EE Enterprise Java Beans

Document Sample
Auto-évaluation J2EE Enterprise Java Beans Powered By Docstoc
					Auto-évaluation J2EE Enterprise Java
                          Beans 2.x




                           Document: f1065Test.fm

                                        14/12/2009




                         ABIS Training & Consulting
                                      P.O. Box 220
                                    B-3000 Leuven
                                           Belgium




      TRAINING & CONSULTING
INTRODUCTION AUTO-ÉVALUATION J2EE
ENTERPRISE JAVA BEANS 2.X
            Afin d’avoir une indication raisonnable des prérequis du cours J2EE: développer des
            applications enterprise avec EJB 2.x, la questionnaire suivante serait utile pour vérifier
            votre connaissance personnelle des différents sujets, traités dans le cours.
            Cette évaluation comporte 20 questions à choix multiples. Pour la plupart des questions,
            seulement une réponse correcte est possible. Il sera indiqué clairement si plusieurs
            réponses correctes sont possibles. Cochez les solutions qui vous semblent bonnes, et
            comparez vos réponses avec les solutions (la réponse n’est bonne que si toutes les
            réponses correctes sont sélectionnées).
            Il n’y a pas de question piège (du moins pas volontairement), cependant, lisez attentive-
            ment les questions et les propositions.
            Ce test prendra à peu près 15 minutes.
            Vous trouverez les réponses correctes à la fin de ce document.

    Note:
            Les questions sont basées sur la spécification J2EE 1.4.




14/12/2009             Auto-évaluation J2EE Enterprise Java Beans 2.x                               2
QUESTIONS AUTO-ÉVALUATION J2EE
ENTERPRISE JAVA BEANS 2.X
1.   Dans une architecture J2EE, les applications

 O (a)    doivent être construites à l’aide d’un IDE Java

 O (b)    ne peuvent être exécutées sur différentes machines que si ces machines tournent le
          même système d’exploitation

 O (c)    sont typiquement basées sur des servlets, des JSPs et des “Enterprise Java Beans”

 O (d)    n’ont pas besoin d’un environnement “runtime”

2.   Que ne définit PAS l’architecture “EJB specification”?

 O (a)    les composants transactionnels

 O (b)    la sécurité et le cryptage du côté client

 O (c)    les composants objet distribués

 O (d)    les composants du côté serveur

3.   Quel serveur s’occupe de l’exécution des composants EJB?

 O (a)    Un serveur Web

 O (b)    Un container EJB

 O (c)    Un serveur d’applications

 O (d)    Un serveur de bases de données

4.   Quel type de “enterprise bean” est utilisé pour conserver les informations sur le déroulement
     d’une application (application processing state)?

 O (a)    javax.ejb.EnterpriseBean

 O (b)    javax.ejb.SessionBean

 O (c)    javax.ejb.MessageBean

 O (d)    javax.ejb.EntityBean




14/12/2009            Auto-évaluation J2EE Enterprise Java Beans 2.x                             3
5.   Quelles interfaces doivent être implémentées grâce aux “Message driven beans”? (3 bonnes
     réponses)

 [_] [a]   javax.ejb.MessageDrivenBean

 [_] [b]   java.io.Serializable

 [_] [c]   javax.enterprise.deploy.model.J2eeApplicationObject

 [_] [d]   javax.jms.MessageListener

 [_] [e]   javax.ejb.EJBException

6.   Quelle est la véritable description d’un “EJB handle”?

 O (a)     Un “EJB handle” est utilisé afin de traiter les exceptions lors de l’utilisation des objets EJB

 O (b)     Un “EJB handle” est utilisé pour conserver une référence vers un EJB spécifique

 O (c)     Un “EJB handle” est une partie de l’interface Home

 O (d)     Un “EJB handle” est utilisé pour des références locales à l’intérieur d’un EJB container

7.   Quel élément ne doit-il pas être spécifié par le développeur si celui-ci déclare une “EJB local
     reference”?

 O (a)     JNDI “binding” pour l’interface “LocalHome”

 O (b)     l’interface “LocalHome”

 O (c)     l’interface Home

 O (d)     ejb-ref-type

8.   Quelle méthode est-elle activée par un container pour conserver l’état d’un bean dans le cas
     d’un “stateful session bean”?

 O (a)     ejbCreate()

 O (b)     ejbPassivate()

 O (c)     ejbStore()

 O (d)     ejbSave()

9.   Le EJB SessionContext peut être utilisé pour recevoir des informations à propos des utilisa-
     teurs qui font appel à des “session enterprise beans”. Quelle information n’est PAS disponible?

 O (a)     l’information transactionnelle

 O (b)     l’information sur la sécurité

 O (c)     l’information sur la “data source”

 O (d)     l’information sur le “timer service”




14/12/2009               Auto-évaluation J2EE Enterprise Java Beans 2.x                                 4
10.   Les applications clientes qui accèdent à des EJBs utilisent l’interface “Java Naming and Direc-
      tory Interface” (JNDI). Pour accéder à un “Personne entity bean”, quelles méthodes peut-on
      utiliser?
      (2 bonnes réponses).
      Nous supposons que les instructions suivantes soient utilisées pour définir le contexte initial:

            Properties props = System.getProperties();
            Context ctx = new InitialContext(props);

 [_] [a]    PersonneHome ph = ctx.lookup(“java:comp/env/ejb/Personne”);

 [_] [b]    PersonneLocalHome ph =
            (PersonneLocalHome)ctx.lookup(“java:comp/env/ejb/PersonneLocalHome”);

 [_] [c]   PersonneHome ph = ctx.lookup(“java:comp/env/ejb/PersonneHome”);

 [_] [d]    PersonneHome ph=javax.rmi.PortableRemoteObject.narrow(ctx, PersonneHome.class)

 [_] [e]    PersonneHome ph = (PersonneHome)javax.rmi.PortableRemoteObject.narrow(ctx,
            PersonneHome.class)

11.   Quelles méthodes ne peut-on PAS définir dans l’interface home d’un “session bean”?
      (2 bonnes réponses)

 [_] [a]    méthodes ‘find’

 [_] [b]    plusieurs méthodes create()

 [_] [c]   méthodes du ‘business’

 [_] [d]    méthodes remove()

12.   La persistance des informations Personne et Adresse est implémentée dans une application à
      l’aide des BMP entity beans. Chaque Personne a exactement 1 Adresse. En supposant qu’une
      Personne contient la clé primaire pour une Adresse dans un champ persistant, comment
      devrait-on implémenter les méthodes EJB pour la Personne?
      (2 bonnes réponses)

 [_] [a]    La méthode ejbRemove() de Personne appelle la méthode remove() de Adresse

 [_] [b]    La méthode ejbStore() de Personne appelle la méthode ejbStore() de Adresse

 [_] [c]   La méthode ejbPassivate() de Personne appelle la méthode ejbPassivate() de Adresse

 [_] [d]    La méthode ejbLoad() de Personne appelle la méthode findByPrimaryKey() de
            AdresseHome

 [_] [e]    La méthode ejbLoad() de Personne appelle la méthode ejbLoad() de Adresse

13.   Quelle est une utilisation typique des méthodes ejbSelect()?

 O (a)      Utiliser les méthodes ejbSelect() dans des “session beans” pour déterminer les critères
            de sélection pour une liste

 O (b)      Utiliser les méthodes ejbSelect() dans les méthodes ejbHome afin de renvoyer des




14/12/2009             Auto-évaluation J2EE Enterprise Java Beans 2.x                               5
            “entity beans”

 O (c)      Utiliser des méthodes ejbSelect() afin d’accéder à des champs d’une instance d’un bean

 O (d)      Utiliser des méthodes ejbSelect() pour exécuter des opérations qui ne sont pas spécifi-
            ques à une instance d’un “entity bean”

14.   Avant qu’un “message-driven bean” (MDB) puisse être testé, un serveur d’applications J2EE
      doit être installé sur une machine de test et la “connection factory” ainsi que la “destination”
      doivent être configurées pour le fournisseur JMS.
      Quelle tâche relative à la configuration doit-elle encore être effectuée avant qu’un MDB puisse
      être testé sur le serveur de test?

 O (a)      Le répertoire de la “native library” doit encore être spécifié dans la variable classpath

 O (b)      Un port pour le listener de messages doit encore être défini

 O (c)      Le service du listener de messages doit être activé

 O (d)      Un répertoire dédié à la “message passivation” doit être spécifié

15.   Une application automatisant les inscriptions aux cours exige la définition d’une référence à
      une ressource JDBC pour une base de données DB2 dans un descripteur de déploiement.
      Supposons que le nom de la référence de la ressource soit “inscription”, quelle sera alors la
      définition JNDI adéquate?

 O (a)      java:comp/env/jdbc/db2/inscription

 O (b)      java:comp/env/jdbc/inscription

 O (c)      java:comp/env/inscription

 O (d)      java:jdbc/env/db2/inscription

16.   Les champs CMP avec EJB 2.x sont définis à l’aide

 O (a)      de champs statiques dans l’“entity bean”

 O (b)      d’un schéma de persistance abstraite

 O (c)      de définitions en EJB Query Language dans le descripteur de déploiement

 O (d)      de l’attribut persistence-type dans le descripteur de déploiement

17.   Pour utiliser les champs des “Container Managed Relations” (CMR) dans les CMP “entity
      beans”, un développeur doit

 O (a)      déclarer les champs du membre CMR et ajouter des définitions ‘ejb-relationship’ dans le
            descripteur de déploiement

 O (b)      implémenter les méthodes get/set pour les champs CMR et ajouter des définitions ‘ejb-
            relationship’ dans le descripteur de déploiement

 O (c)      implémenter les méthodes ejbLoad() et ejbStore() et ajouter des définitions ‘ejb-rela-
            tionship’ dans le descripteur de déploiement

 O (d)      déclarer les méthodes get/set abstraites pour les champs CMR et ajouter des définitions
            ‘ejb-relationship’ dans le descripteur de déploiement


14/12/2009             Auto-évaluation J2EE Enterprise Java Beans 2.x                                   6
18.   Le “EJB Query Language” est utilisé

 O (a)     pour compléter le standard SQL96 avec des options supplémentaires pour les relations
           complexes

 O (b)     à la place de la méthode findByPrimaryKey(), pour définir des critères de sélection alter-
           natifs

 O (c)     pour spécifier une implémentation concrète pour les méthodes “find” et “select” des
           “CMP entity beans”

 O (d)     pour pouvoir utiliser les types de données définis par les utilisateurs ou les procédures
           stockées dans une base de données

19.   Les transactions générées par le container sont définies par des “trans-atributes” dans le des-
      cripteur de déploiement. Si un “session bean” détermine une transaction et appelle un “Entity
      bean” quelle est la meilleure configuration transactionnelle pour cet “Entity bean”?

 O (a)     Supports

 O (b)     Never

 O (c)     Required

 O (d)     RequiresNew

20.   Quelles tâches doivent-elles être lancées pour déployer une “packaged enterprise application”
      (EAR file) sur un serveur d’applications? (2 bonnes réponses)

 [_] [a]   Spécifier le “context root” pour chaque application web

 [_] [b]   Générer des “access beans” pour tous les “enterprise beans”

 [_] [c]   Définir des noms alias pour les attributs des “entity beans”

 [_] [d]   Faire correspondre les attributs de “Entity beans” avec les tables de la base de données
           relationnelles




14/12/2009             Auto-évaluation J2EE Enterprise Java Beans 2.x                              7
EVALUATION.
         Ici sont les réponses correctes:
         1.   c
         2.   b
         3.   b
         4.   b
         5.   abd
         6.   b
         7.   c
         8.   c
         9.   c
         10. b e
         11. a c
         12. a d
         13. d
         14. b
         15. b
         16. b
         17. d
         18. c
         19. c
         20. a d
         Comptez 1 point par bonne réponse. Pour les questions avec plusieurs bonnes répon-
         ses, comptez 1 point seulement si vous avez coché toutes les bonnes alternatives.
         Si votre score atteint 80% ou plus, il ne vous est pas nécessaire de suivre le cours J2EE:
         développer des applications enterprise avec EJB 2.x.
         Si votre score est entre 50% et 80%, le cours J2EE: développer des applications enter-
         prise avec EJB 2.x vous permettra de compléter vos connaissances.
         Si votre score est inférieur à 50%, il vous est vivement conseillé de suivre ce cours.




14/12/2009          Auto-évaluation J2EE Enterprise Java Beans 2.x                                8