Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité régulier
    Homme Profil pro Ramuntxo
    Inscrit en
    avril 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Nom : Homme Ramuntxo

    Informations forums :
    Inscription : avril 2007
    Messages : 7
    Points : 5
    Points
    5

    Par défaut Préparation Examen CORBA

    Bonjour à tous,

    Nous avons eu un questionnaire pour nous préparer à notre examen de CORBA, et nous sollicitons votre aide : Voici les questions sur lesquels nous bloquons, nous proposons des réponses, tout commentaire constructif est le bienvenue :

    Un objet CORBA peut-il avoir 2 IOR distinctes? Si oui ou non Pourquoi?

    Pour quelle(s) raison(s) l’utilisation du type Any n’est-il pas possible en invocation dynamique?

    Que se passe-t-il si un POA fils possède les politiques NON_RETAIN et USE_ACTIVE_OBJECT_MAP_ONLY?
    Réponse proposée :
    C'est contradictoire d'utiliser USE_ACTIVE_OBJECT_MAP_ONLY, quand en effet le NON_RETAIN veut dire que l'association n'est pas mémorisée dans l'Active Object Map (AOM).

    Les informations suivantes RepositoryID, IP+n°port, POA suffisent-elles à localiser un objet CORBA ? Pourquoi?
    Réponse proposée :
    Il manque l’object ID, un ior et composé de 3 choses :
    - interface OMG IDL = repository ID
    - l’adresse de transport = ip + port
    - et l’object key : ID de l’objet et nom du POA

  2. #2
    Membre éclairé
    Homme Profil pro Julien Enoch
    Architecte technique
    Inscrit en
    septembre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Nom : Homme Julien Enoch
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2006
    Messages : 219
    Points : 308
    Points
    308

    Par défaut

    Bonjour,

    Un objet CORBA peut-il avoir 2 IOR distinctes? Si oui ou non Pourquoi?
    Oui, car une IOR peut être multi-profils. Et chacun de ces profiles peut être utilisé de manière indépendante, et donc être converti en un IOR unique.
    Exemple d'utilisation: un ORB tourne sur une machine qui a plusieurs adresses IP, on peut imaginer 3 IORs distincts pour le même objet CORBA:
    • une IOR avec 2 profils (1 pour chaque adresse IP)
    • une IOR avec 1 profil pour la 1ère adresse IP
    • une IOR avec 1 profil pour la 2ème adresse IP




    Pour quelle(s) raison(s) l’utilisation du type Any n’est-il pas possible en invocation dynamique?
    Est-ce une question piège ?? Je ne vois pas pourquoi l'utilisation du type Any ne serai pas possible en DII.
    Imaginons l'interface suivante en IDL:
    Code :
    1
    2
    3
    4
    interface Test {
       void print_if_you_can(in any a);
    };
    Je pense que la requête DII suivante marche (en Java):
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    org.omg.CORBA.ORB orb = // ... init ORB
    org.omg.CORBA.Object test = // ... obtenir un objet CORBA Test
    org.omg.CORBA.Request r = o._request("print_if_you_can");
    org.omg.CORBA.Any arg = orb.create_any();
    arg.insert_string("Hello World!");
    r.add_in_arg().insert_any(arg);
    r.set_return_type(orb.get_primitive_tc(org.omg.CORBA.TCKind.tk_void));
    r.invoke();


    Que se passe-t-il si un POA fils possède les politiques NON_RETAIN et USE_ACTIVE_OBJECT_MAP_ONLY?
    Réponse proposée :
    C'est contradictoire d'utiliser USE_ACTIVE_OBJECT_MAP_ONLY, quand en effet le NON_RETAIN veut dire que l'association n'est pas mémorisée dans l'Active Object Map (AOM).
    Exact. La création d'un POA avec ces 2 politiques échoue avec une exception InvalidPolicy.



    Les informations suivantes RepositoryID, IP+n°port, POA suffisent-elles à localiser un objet CORBA ? Pourquoi?
    Réponse proposée :
    Il manque l’object ID
    Exact. Mais juste une remarque: l'object key ne contient pas forcément l'identifiant du POA (même si c'est souvent le cas). L'ORB peut avoir d'autre moyens de trouver le POA (voir la note dans CORBA 2.6 §11.6.7)

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •