Précédent   Forum du club des développeurs et IT Pro > Autres langages > Autres langages > CORBA
CORBA Forum d'entraide et de discussion sur le développement distribué avec CORBA & les ORB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 14/02/2011, 11h51   #1
riri_dev
Invité de passage
 
Inscription : 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!
riri_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 13h45   #2
riri_dev
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
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.
riri_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 15h31   #3
CorbAddict
Membre éclairé
 
Homme Julien Enoch
Architecte technique
Inscription : septembre 2006
Messages : 219
Détails du profil
Informations personnelles :
Nom : Homme Julien Enoch
Âge : 37
Localisation : France

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

Informations forums :
Inscription : septembre 2006
Messages : 219
Points : 308
Points : 308
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.
CorbAddict est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 11h19   #4
riri_dev
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
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.
riri_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 12h32   #5
CorbAddict
Membre éclairé
 
Homme Julien Enoch
Architecte technique
Inscription : septembre 2006
Messages : 219
Détails du profil
Informations personnelles :
Nom : Homme Julien Enoch
Âge : 37
Localisation : France

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

Informations forums :
Inscription : septembre 2006
Messages : 219
Points : 308
Points : 308
Citation:
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é.

Citation:
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.

Citation:
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.

Citation:
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.
CorbAddict est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 15h16   #6
riri_dev
Invité de passage
 
Inscription : février 2011
Messages : 5
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 5
Points : 0
Points : 0
OK, c'est clair.
Merci beaucoup.
riri_dev est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h20.


 
 
 
 
Partenaires

Hébergement Web