Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité de passage
    Inscrit en
    février 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : février 2011
    Messages : 5
    Points : 0
    Points
    0

    Par défaut Utiliser JacORB sans POA?

    Bonjour,
    Je suis nouveau au monde CORBA.
    Actuellement, je veux porter une application en JAVA qui utilise le CORBA de Sun, avec l'ancienne version d'adaptateur d'objets le BOA, vers celle de JacORB qui utilise le POA.
    Pour faire une premier tester j'ai lance l'appli sans modifier le code (et sans regenerer les IDL) mais en remplacant seulement les proprietes de ORBClass et ORBSingletonClass par celles de JacORB.... et ca a marche!!!

    Je me demande alors si cela est suffisant pour utiliser JacORB et quel est l'interet d'utiliser le POA (a part le fait que ca soit standardisé) : performance?

    Mon appli peut en fait communiquer avec elle meme (deux instances communiquant via Corba). En faisant le test de com entre les deux, j'ai eu des NO_MEMORY exception et "resource limt reached server side exception" avec JacORB. est ce que cela est du au fait que j'utilise pas le POA ou bien ca n'a rien a avoir (probleme de config plutot) ?

    Merci bcp de votre aide!

  2. #2
    Invité de passage
    Inscrit en
    février 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : février 2011
    Messages : 5
    Points : 0
    Points
    0

    Par défaut

    Je reformule ma question: Est il possible d'utiliser Jacorb 2.3, en specifiant juste le ORBClass et ORBClassSingleton correspondants, avec un code genere par l'idlj de Sun selon l'ancienne version "idlj -odlImplBase", celle qui utilise la BOA? Sachant que JacORB 2.3 utilise la POA comme OA. J'ai fais un test, ca marche mais j'ai quelque problemes lies au transfert de gros jeux de donnees et je ne sais pas si c'est a cause d'une config dans JacORB (laquelle?) ou bien a cause du fait d'utiliser JacORB sur une BOA?
    Merci.

  3. #3
    Membre confirmé
    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 : 274
    Points
    274

    Par défaut

    Bonjour,

    Il est en général fortement conseillé d'utiliser le compilateur IDL fournit avec l'ORB qu'on utilise (JacORB dans ton cas).
    Je suis même étonné que ton appli marche avec JacORB et du code généré par idlj, en ImplBase qui plus est ! (perso, je n'ai jamais essayé)

    Es-tu sûr que c'est bien JacORB qui est utilisé, et pas l'ORB Sun ?
    Lorsque tu actives les traces debug de JacORB (-Djacorb.log.default.verbosity=4), vois-tu des traces de JacORB indiquant qu'il envoie lui-même les requêtes CORBA ?
    Tu verras peut-être par la même occasion des informations intéressantes concernant les exceptions NO_MEMORY.

  4. #4
    Invité de passage
    Inscrit en
    février 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : février 2011
    Messages : 5
    Points : 0
    Points
    0

    Par défaut

    Bonjour,

    Ah oui je suis sur. En effet j'ai les logs JacORB qui s'affichent a l'initialisation avec la version de Jacorb utilisee.
    Pour la generation de l'IDL, je pensais que c'est standardisé et je ne suis pas trop surpris que ca marche. Ce qui me suprend surtout est que le code generé (avec l'option de compile -oldImpl) ne genere pas de POA ou POA_tie (Sun le maintien pour supporter les implementation avec BOA avant standardisation des OA) et portant JacORB utilise (que) les POA et ca marche. Enfin en gros ca marche, mais avec un transfert de grosses donnees ca ne marche qu'avec le Corba de Sun et pas JacORB. Mais la encore cela peut etre due a une config de JacORB et pas le fait d'utiliser des POA ou pas. D'ou ma question est ce qu'on peut utiliser une ORBClass et singleton de JacORB sur du code qui a ete generé par un CORBA base sur le BOA? Et comment l'expliquer? Pour faire le test, c'est simple: pour une application utilisant que des BOA, juste passez les arguments -DORBClass et -DORBSingletonClass qui pointent vers ceux de JacORB.

    Par ailleurs le compilo IDL de JacORB a des bugs (il n'accepte pas un argument d'une methode avec le meme nom que son type meme avec des maj/miniscules differents). C'est pas grave si je commence de nouvelles IDL mais porter des anciennes, c'est plus genant.

    J'ai compare ce que genere les deux JacORB et Sun (version recente CORBA de Sun base aussi sur le POA) et ca se ressemble bcp. cela dit je suis d'accord, c'est assez complique comme ca, et il vaut mieux utiliser le meme IDL que l'ORB, ca enleve au moins une zone de risque.

  5. #5
    Membre confirmé
    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 : 274
    Points
    274

    Par défaut

    Ah oui je suis sur. En effet j'ai les logs JacORB qui s'affichent a l'initialisation avec la version de Jacorb utilisee.
    Le fait que JacORB s'initialise ne signifie forcément pas que c'est lui qui envoie les requêtes CORBA. Le code généré par idlj avec l'option -oldImplBase est peut-être lié en dur à l'ORB de Sun et force son utilisation même si JacORB est initialisé.

    our la génération de l'IDL, je pensais que c'est standardisé et je ne suis pas trop surpris que ca marche. Ce qui me suprend surtout est que le code generé (avec l'option de compile -oldImpl) ne genere pas de POA ou POA_tie (Sun le maintien pour supporter les implementation avec BOA avant standardisation des OA)
    La génération IDL vers Java est bien standardisée dans le cas du POA. Avec le BOA le standard n'était justement pas assez bien défini et provoquait des problèmes de compatibilité.
    L'option -odlImplBase d'idlj fait générer du code pour le BOA et non plus pour le POA. Il est donc normal de ne plus avoir de classe *POA et *POA_tie.

    D'ou ma question est ce qu'on peut utiliser une ORBClass et singleton de JacORB sur du code qui a ete generé par un CORBA base sur le BOA? Et comment l'expliquer?
    Navré, je n'ai pas la réponse. C'est un cas d'utilisation particulier qui sort du cadre normal d'utilisation de JacORB.

    Par ailleurs le compilo IDL de JacORB a des bugs (il n'accepte pas un argument d'une methode avec le meme nom que son type meme avec des maj/miniscules differents). C'est pas grave si je commence de nouvelles IDL mais porter des anciennes, c'est plus genant.
    Ce n'est pas un bug, c'est tout à fait normal !!
    Le langage IDL ne distingue pas les majuscules et les minuscules, car il peut y avoir des langages de mapping qui ne les distingue pas non plus (ex: Fortran, Cobol).
    Au contraire, c'est plutôt un bug d'idlj de distinguer les 2.

  6. #6
    Invité de passage
    Inscrit en
    février 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : février 2011
    Messages : 5
    Points : 0
    Points
    0

    Par défaut

    OK, c'est clair.
    Merci beaucoup.

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
  •