IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

CORBA Discussion :

PB mise en exploitation


Sujet :

CORBA

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 11
    Points : 1
    Points
    1
    Par défaut PB mise en exploitation
    Bonjour,

    J'ai un problème avec une mise en exploitation d'une application qui fonctionne très bien sur un réseau local.
    L'application est développée en Builder C++ 5.0 et on utilise Visibroker 4.5
    Pour la mise en exploitation il y a un petit problème supplémentaire que je ne sais pas résoudre.
    Il y a un routeur (WIN2000) avec 2 adresses : 1 public, 1 privée.
    Ensuite il y a deux autres machines :
    1 entièrement privée (WIN2000) sur laquelle doit se trouver le serveur corba car il accède à une base Oracle privée
    1 entièrement public sur laquelle se trouve le serveur web de la société
    Pour faire simple je n'ai installer que Visibroker sur le routeur
    Mais même dans cette configuration, le client trouve bien Visibroker sur le Routeur, mais n'arrive pas à dialoguer avec le serveur.
    J'ai paramétré les adresses dans localadresse de Visibroker sans succès
    J'ai également essayer de paramètrer GateKeeper, mais encore sans succès.
    Pour information il n'y a pas encore de firewall d'installé.

    Que doit-on faire, parametrer, passer en argument, utiliser comme fonction ou installer pour que mon application fonctionne correctement dans ce type de configuration.

    Merci d'avance.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 125
    Points : 149
    Points
    149
    Par défaut
    Salut,

    Je ne comprend pas bien ton problème d'installation et je dois te poser quelques question.

    >Mais même dans cette configuration,
    >le client trouve bien Visibroker sur le Routeur,
    >mais n'arrive pas à dialoguer avec le serveur.

    * Que se passe-t-il exactement et comment t'en rends tu compte ?
    * Est ce que tu as un service de noms sur le router ?
    * Est ce que tu peux faire un ping du routeur vers le serveur ?
    * Pourquoi ne pas simplement tout installer sur la machine que tu nommes le serveur ?

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Merci de t'intêresser à mon problème.
    Voici les réponses à tes questions.

    Le problème est compliqué car c'est pour un de mes clients qui impose cette architecture.
    Il souhaite en finale un appel du client sur le serveur SUN Solaris (IP publique) qui héberge le site Web et installer le serveur Corba sur la machine Serveur qui héberge la base de données Oracle (IP Privée).
    Entre les deux il a installé un routeur.
    Sur ce routeur, il y a juste un service DNS et DHCP
    Je peux bien faire un ping du routeur vers le serveur

    Pour simplifier autant que possible au début je ne m'occupe pas du serveur Web SUN et j'ai installé Visibroker sur le routeur avec les deux adresses dans le fichier localadresse
    Je lance Visibroker sur le routeur
    Je lance le serveur Corba sur le Serveur
    Le visibroker sur le routeur le detecte bien dans ces traces.
    Puis je lance le client sur une machine "quelconque"* de mon bureau.
    Dans ce cas constate sur les traces du SmartAgent un appel de l'objet de ma machine puis après plus de dialogue.
    * Pour information je dit quelconque, car le reste de mon réseau est en vpn chez le client pour pouvoir être en pcanywhere n'importe quand (accords diplomatiques !!!)

    D'ailleurs si je lance le client d'une de mes machines du vpn la liaison Client/Serveur se passe bien et mon application fonctionne correctement.

    - Je ne peux pas tout installer sur le serveur, car il contient la base oracle et je ne souhaite pas lui donner d'adresse publique.

    En espérant que tu es tout compris à mes médiocres explications.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 125
    Points : 149
    Points
    149
    Par défaut
    Ok et pour l'IOR de l'objet ? Tu utilises le nameservice de Visibroker ? Tu dois lancer ton objet serveur (sur la machine serveur) en donnant l'adresse du nameservice (le routeur). Le routeur devrait ainsi trouver l'objet serveur sans aucun problème dès qu'il y a un appel client.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Comme tu peux le comprendre, je suis débutant en Corba et je ne suis pas sur de tout comprendre.
    Voici ce que j'ai compris :
    - Je lance visibroker sur le routeur
    - Puis je dois lancer "Visibroker Name Service" sur le routeur
    - Je lance mon serveur Corba sur le serveur qui créer un fichier IOR en lui indiquant que le nameservice se trouve sur le routeur
    - Enfin je dois founir le fichier IOR au client
    - Et pour finir je lance mon client de n'importe ou avec le fichier IOR en lui indiquant l'adresse de mon routeur.

    ..... et j'ai peut-être gagné !!!!!!

    Je fais des tests dès maintenant et je te tiens biensur au courant.

    Merci

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 125
    Points : 149
    Points
    149
    Par défaut
    Le nameservice est la pour te simplifier la tache.

    (1) Lancer Visibroker et le service de noms sur le routeur

    (2) Coder ton serveur en lui indiquant de s'enregistrer sur le nameservice. C'est ce que tu dois modifier dans ton programme serveur et c'est très simple à faire. Tu as un exemple assez bien fait sur
    http://www.waveman.com/etac/corba/page11.html


    (3) Lancer ton client pour qu'il trouve Visibroker sur ton router (celui qui héberge osagent). Ca marche déjà chez toi et tu n'as pas besoin de modifier ca.

    [/code]

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    OK, je suis dessus, mais je n'utilisait pas l'IOR
    Donc je recode tout ca ce soir et je te tiens au courant demain.
    Le temps de traduire le java de l'exemple en C++

    Merci beaucoup.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 125
    Points : 149
    Points
    149
    Par défaut
    Pour l'IOR tu n'est pas obligé mais c'est plus propre si tu as beaucoup d'objets.

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    J'ai fait plusieurs tests, comme tu me l'as dit.
    J'ai rajouter les commandes du serveur de nom à mon code.
    Mais sans résultat.
    Alors j'ai pris exactement l'exemple livré avec Visibroker d'Inprise
    Exemple\Basic\Bank_Naming. Je l'ai recompilé en Builder C++ 5.0 sans problème.
    Mais le serveur ne se lance meme pas, j'ai une exception dûe à une des commandes corba.
    Il doit y avoir quelque chose qui fait que ca déconne. J'ai du louper une marche, ou il y a un pb de configuration, je ne comprends rien.

    Cet exemple fonctionne-t-il ?
    Suis-je nul à ce point ?

    P.S. : Je suis en train de mettre des traces pour savoir ou le serveur plante.

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 125
    Points : 149
    Points
    149
    Par défaut
    > Cet exemple fonctionne-t-il ?

    A ma connaissance oui.

    > Suis-je nul à ce point ?

    Peut être ... ... sans rire, CORBA est compliqué et c'est normal de rencontrer ce genre de problèmes.

    As tu pensé à lancer nameserv sur la machine qui sert les noms des objets CORBA (le router dans ton cas) ?

    Est ce que tu codes ton serveur en C++ ou en Java ?

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bon on recommence pour la 33623472475934 fois et on se calme.

    Je code tout en Builder C++ 5.0.
    J'utilise l'exemple Bank_naming.
    Mon routeur a les adresses suivantes : IPPub et IPPriv
    Je lance l'osagent (port 14000) avec les deux adresses dans localaddr.
    Je verifie properties, c'est bon il a les deux adresses.
    le lui met toutes les infos de debug.
    J'ouvre ensuite une fenetre msdos et je tape la commande suivante :
    namserv "NameService -J- Dvbroker.se.iiop_tp.scm.iiop_tp.listener.port=14000
    Il m'affiche un superbe IOR (J'imagine !!!) puis il reste en attente..... de quelque chose... et d'un control C quand je casse tout.

    Je me met ensuite sur le Serveur avec l'adresse IPPriv2
    J'ouvre une fenetre msdos et je tape la commande suivante :
    Server -ORBInitRef NameService=iioploc://IPPriv:14000/NameService

    Et la j'ai mon exception pendant la fonction suivante (3ème ligne) :
    CosNaming::NamingContext_var rootContext =
    CosNaming::NamingContext::_narrow(
    orb->resolve_initial_references("NameService"));

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 125
    Points : 149
    Points
    149
    Par défaut
    Peut être que le port est vérouillé. Est ce que tu as essayé de faire un "telnet IPPriv 1440" de la machine qui a l'IP privé ?

    Sur le routeur fais un lancement de osagent sur l'addresse privée seulement, à l'aide de la commande suivante :
    puis, pour vérifier la présence du osagent, fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       osfind -ORBagentaddr IPPriv
    sur le routeur et ensuite sur le serveur.

    Dis moi ce que donnent ces commandes.

  13. #13
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Si je fais un telnet IPPriv 1440
    J'obtiens : Echec de la connexion

    Si je lance l'agent osagent -a IPPriv
    puis que je fais sur le routeur l'osfind il me trouve bien l'agent
    osfind : found one agent at port 14000
    HOST : lenomdelasociete.fr
    osfind : There are no OADs running on in your domain.
    osfind : There are no Object Implementations registered with OADs.
    osfind : There are no manually started Object Implementation.

    Par contre si je le fais sur le serveur j'obtiens
    Unabled to initialize threads: cannot find class java/lang/Thread
    could not create JVM

    Pour info, le Routeur est un Windows 2000
    et le serveur est un Windows NT4

    Tout va pour le mieux du monde, non
    J'ai faux ?????

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 125
    Points : 149
    Points
    149
    Par défaut
    J'ai l'impression que c'est plutot un problème de configuration d'interface réseau qu'un problème CORBA.

    Peux tu faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ping lenomdelasociete.fr
    du serveur (si le routeur se nomme bien lenomdelasociete.fr, en privé, comme le dit osfind) ? Les adresses privées sont bien de type 192.168.x.y ?

    Si tu ne peux pas pinger, vérifie ta config sur la machine serveur (resolv.conf, dns, passerelle, sous réseau...)

  15. #15
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Je peux pinger le routeur sans problème.
    Le routeur s'appelle NomMachine.NomIntranetSociete.fr
    Les adresses privées sont bien du type 192.168.x.y
    Pour info je suis en VPN sur cette machine via le routeur ?????
    J'ai du mal a tout comprendre.....

    J'en ai parlé au gars qui s'occupe de l'install réseau sur place, il regarde et me tiens au courant.

    Donc je te tiens au courant.

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 125
    Points : 149
    Points
    149
    Par défaut
    Oui, c'est bizarre, mais souvent ce genre de problèmes vient d'une erreur d'inattention. J'attend de tes nouvelles.
    Bye.

  17. #17
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Quelques nouvelles...
    Voici les tests effectués après avoir tout relancé :
    - Je lance osagent sur le routeur en port 14000
    - Je lance la commande suivante :
    nameserv "NameService" -J- Dvbroker.se.iiop_tp.scm.iiop_tp.listener.port=14000

    - Sur le serveur je lance
    Server -ORBInitRef NameService=iioploc://IPPriv:14000/NameService

    - Si je lance le client sur l'intranet : tout fonctionne bien

    - Si je lance le client sur l'internet : Ca plante
    Exception : IDL:omg.org/CORBA/Exception:1.0
    sur la commande
    Bank::Account_var account = manager->open(account_name)

    Par contre si je fait :
    telnet <IPPUB> 14000
    ca fonctionne

    Est-ce que je dois lancer autre chose, ou comment puis-je faire pour faire un test

    Quand je lance la console Visibroker, je retrouve bien tout mes objets sans problèmes et tout semble correct

    On fini des tests avec "l'ingénieur réseau" de la société et on trace les ports, mais on ne trouve rien.
    Que devrait-il se passer, que doit-on surveiller, peut-on rajouter des traces ?

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 125
    Points : 149
    Points
    149
    Par défaut
    Si je comprend bien, tout marche à l'intérieur de réseau privé maintenant et il reste un problème de routage de l'extérieur vers l'intérieur.

    J'ai vu un problème similaire résolu avec GateKeeper à l'adresse suivante http://info.borland.com/devsupport/v...er/devfaq.html

    Est ce qu'il y a un firewall sur le routeur, certains ports (autres que le 14000) sont ils bloqués ?

  19. #19
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    T'as tout bien compris.
    Malheureusement j'ai peur que ca se complique car .......
    Il n'y a pas de firewall (du moins pour l'instant !!!)
    Il n'y a aucun port de bloqué.

    Je regarde le devfaq.html
    J'avais déjà essayé d'installer GateKeeper et de le paramêtrer, je reessai.

  20. #20
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 125
    Points : 149
    Points
    149
    Par défaut
    Oui mais tu as le VPN d'installé je crois. Je ne connais pas bien cette technologie mais ca doit s'apparenter à du masquerading unix et c'est pour cette raison que le gatekeeper peut être utile.

Discussions similaires

  1. Réponses: 13
    Dernier message: 19/12/2011, 13h24
  2. Réponses: 0
    Dernier message: 30/11/2011, 09h51
  3. Réponses: 6
    Dernier message: 03/12/2008, 19h52
  4. [Mise en Exploitation]Distribution d'apllication access
    Par anthony_rexis dans le forum Sécurité
    Réponses: 2
    Dernier message: 19/04/2007, 10h14
  5. [Maven] Conseil de mise en place et d'exploitation
    Par CharlSka dans le forum Maven
    Réponses: 4
    Dernier message: 12/01/2007, 10h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo