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

Java EE Discussion :

[JNDI] Application cliente invoquant des EJB distants


Sujet :

Java EE

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 124
    Points : 48
    Points
    48
    Par défaut [JNDI] Application cliente invoquant des EJB distants
    Bonjour,

    Je dois réaliser une étude technique.
    Le sujet est de savoir s'il est possible et comment faire pour réaliser une application invoquant à distance des EJB présent sur un serveur d'application.
    A pirori rien de compliqué, mais le problème auquel je me heurte, est que le but est de créer une interface devant :
    1- lister les EJB présents sur un SA
    2- Récupérer la liste des méthodes d'un EJB sélectionné dans la liste
    3- invoquer la méthode sélectionnée de l'EJB

    Est-ce que quelqu'un sait si c'est possible et est-ce que quelqu'un pourrait me donner des indications pour réussir a effectuer ces 3 points...
    Je ne comprends pas comment je peux faire pour invoquer un EJB sans savoir au lancement de l'application l'EJB que je devrais invoquer etc...? Sans avoir les classes etc...?
    merci de votre aide

    nana1

  2. #2
    Membre expérimenté
    Avatar de fabszn
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2002
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2002
    Messages : 974
    Points : 1 638
    Points
    1 638
    Par défaut
    Hello,

    Tu peux te baser sur les interfaces distances en scrutant le jar de tes EJBs...

    C'est une idée comme ca... je ne sais pas ce que cela vaut.
    @+

    Fabszn
    Twitter : @fsznajderman

    N'oubliez pas le bouton
    Comment bien poser ses questions sur le forum


  3. #3
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 124
    Points : 48
    Points
    48
    Par défaut
    Merci de ta réponse.

    Mais as-tu une idée de comment je peux faire pour "scruter" le jar de mes EJB déployés sur le SA d'une machine distante :

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    moi j'irai plus voir du côté des "Clients JNDI", un exemple est intégré dans WSAD 5 donc ca doit etre possible :

    là par exemple ? :
    http://renaud.waldura.com/software/java/com.waldura.eclipse.jndibrowser/

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 124
    Points : 48
    Points
    48
    Par défaut
    Salut,

    J'ai regardé : http://renaud.waldura.com/software/java/com.waldura.eclipse.jndibrowser/

    Cela permet de lister les EJBs présents sur le SA mais aucune action n'est faite dessus...
    Je ne sais pas comment je peux faire pour pouvoir récupérer la classe et les interfaces de l'EJB???
    C'est quoi l'exemple intégré dans WSAD 5?

    merci de vos réponses,

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Il faut que le SA te mettes ses interfaces et (optionnelement) ses stub à dispo...en téléchargement...
    Regarde du coté de "codebase" qui permet de télécharger des classes "à la vollée" comme le font les applets
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 124
    Points : 48
    Points
    48
    Par défaut
    Ok merci. Je vais regarder du coté de codebase.
    Est-ce que quelq'un connaît un bon tutoriel, ou document a ce sujet et accessible?

    merci,
    je reveindrai poser d'autres questions

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    http://java.sun.com/j2se/1.4.2/docs/guide/rmi/codebase.html
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  9. #9
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 124
    Points : 48
    Points
    48
    Par défaut
    Ok, merci je vais regarder ça...

  10. #10
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 124
    Points : 48
    Points
    48
    Par défaut
    Salut,

    j'ai regardé le tutoriel concernant le codebase par RMI....
    Cependant je me pose une question : on ne peut télécharger que des fichiers qui sont contenu dans le registre RMI?
    Mais lorsqu'il s'agit d'EJB, les EJB on y accède par JNDI non?
    Du coup l'adresse d'un EJB serait de la forme iiop://host:port/ejb/XXX et non http://....
    Quelqu'un pourrait-il m'éclairer sur ce point, svp?

    merci ,

  11. #11
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 124
    Points : 48
    Points
    48
    Par défaut
    Personne n'a une petite idée ... des exemples peut-être d'application?

    merci

  12. #12
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 124
    Points : 48
    Points
    48
    Par défaut
    Hello,
    Quelqu'un serait-il m'expliquer comment on peut utiliser le principe du codebase RMI avec le service JNDI?
    J'aimerai en effet récupérer des jar, des classes d'EJB donc situé au sein de JNDI à l'aide de l'API RMI.
    Cependant je ne vois pas comment je dois faire?
    Ou sinon peut-être quelqu'un a une autre méthode me permettant de récupérer les classes et interface d'un EJB distant?

    merci!

  13. #13
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Question :
    C'est le client qui désire acceder à tout ce qui bouge sans être intrusif ?
    ou
    Ce sont les serveurs qui proposent leurs services à qui le désir sans oposer de résistance ?
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  14. #14
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 124
    Points : 48
    Points
    48
    Par défaut
    En fait de ce point de vu la j'ai pas vraiment de consigne....
    Mais j'opterai pour la première situation car je dois en fait développer un client générique qui puisse invoquer des EJBs présent sur un SA.
    Actuellement ce que je fais : je récupère le contexte du SA, l'host et le port pour initialiser le contexte (pour me connecter au serveur) d'après ses arguments passés en paramètre.
    A partir de là je suis capable de lister les EJBs présent sur le SA en scannant le JNDI.
    Mais de la j'aimerai maintenant pouvoir me comporter comme un client lourd et invoquer des méthodes des EJBs...
    Pour ce faire d'après les conseils que j'ai pu récupérer, je m'orientais vers le codebase RMI mais je ne vois pas en fait comment faire.... (d'où ma question)

    je ne sais pas si j'ai été tres claire...
    merci de l'aide,

  15. #15
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Citation Envoyé par nana1
    A partir de là je suis capable de lister les EJBs présent sur le SA en scannant le JNDI.
    Le naming n'est que le point d'enregistrement des EJB, rien de plus.
    Il te faut les interfaces et les stubs pour pouvoir y acceder.
    Si le serveur à mis en place la techno des "codebase" tu pourras les récupérer à la volée mais tu devras tout de même mettre en place une mécanique dynamique pour y accéder.

    Accéder à un EJB de manière dynamique n'as pas beaucoup de sens, peut être dans un cadre d'administration tout au plus, en effet, ton application n'est pas dynamique elle, elle n'intègre pas de fonctionnel dynamique !

    Ton histoire (pour ne pas dire aventure) me semble asser hasardeuse...
    Pour info, le narrow n'est pas possible sans l'interface et, franchement, faire de l'introspection sur un stub, j'y crois "peu"

    Si le SA expose ses EJB sous forme de web-service, celà peut énormement te simplifier la tâche. Je creuserais de ce coté ou alors, celon le serveur, du coté de Corba.
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  16. #16
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 124
    Points : 48
    Points
    48
    Par défaut
    J'ai pas mal de questions a te poser à partir de ta réponse
    Si le serveur à mis en place la techno des "codebase"
    Qu'entendu par la? Je suis "débutante" en J2EE et je ne comprends pas très bien...

    tu pourras les récupérer à la volée mais tu devras tout de même mettre en place une mécanique dynamique pour y accéder.
    ? Mais comment?

    Si le SA expose ses EJB sous forme de web-service
    Mais comment faire dans ce cas? Les EJB sont enregistrés au sein du SA comme des WebService c'est ça? et à partir de là, le client fait comment??

    celon le serveur, du coté de Corba.
    C'est à dire? Pourquoi selon le serveur?et que permet CORBA?

    merci de ton aide, je suis bloquée sur cette étude et pourtant ça semble interessant de pouvoir invoquer des EJBs a distance sans les avoir auparavant dans son classpath.... sur simple sélection!

    merci

  17. #17
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    merci de ton aide, je suis bloquée sur cette étude et pourtant ça semble interessant de pouvoir invoquer des EJBs a distance sans les avoir auparavant dans son classpath.... sur simple sélection!
    Les EJBs permettent beaucoup de choses, mais ne savent pas trop s'exposer d'eux même de manière générique.

    Il te faudras, dans tous les cas, avoir dans ton classpath, les interfaces de la home et de la remote, les stubs eux, peuvent être téléchargés dynamiquement via le codebase.

    Quand aux webServices, il est possible de générer dynamiquement des client (stub) mais je ne l'ai jamais mis en oeuvre, certaines personnes devrais pouvoir t'aider ici même.
    Il te faudras avoir accès au descripteur des services (wsdl) et éventuellement à l'annuaire des services (uddi).
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  18. #18
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 124
    Points : 48
    Points
    48
    Par défaut
    Il te faudras, dans tous les cas, avoir dans ton classpath, les interfaces de la home et de la remote
    Désolée, j'ai toujours du mal a comprendre : la codebase ne permet-t-il pas de télécharger des classes? On ne peut pas télécharger les interfaces je suppose?
    Dans ce cas est-il possible d'utiliser la méthode des classLoader pour récupérer les interfaces ? En demandant le chemin complet de ces interfaces? Mais si je comprends bien dans ce cas, je le récupérère d'une autre machine ou de la machine locale sans passer par le SA, c'est bien ça?

    les stubs eux, peuvent être téléchargés dynamiquement via le codebase.
    Est-il possible de m'expliquer commet dans le cas des EJBs? Tout ce que j'ai pu voir sur le codebase utilisait une url de type http ou file mais pas iiop?? non?

    merci beaucoup pour ton aide,

    un jour j'y arriverai...

  19. #19
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 124
    Points : 48
    Points
    48
    Par défaut
    Arf personne n'a des petites idées ou explications a me donner...

    pfffff ce projet me prend bien la tête!!!

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/06/2015, 14h08
  2. [GF 4.0] Quels jars nécessaires pour une application Swing utilisant des EJB
    Par Népomucène dans le forum Glassfish et Payara
    Réponses: 1
    Dernier message: 01/09/2014, 09h29
  3. [WD17] Application à déployer sur des sites distants
    Par aurabarth dans le forum WinDev
    Réponses: 17
    Dernier message: 26/06/2013, 05h06
  4. NetBeans Application client et injectiond'EJB
    Par Dakuraba dans le forum Java EE
    Réponses: 1
    Dernier message: 22/07/2011, 09h30
  5. Définir un client pour des ejb
    Par zakarota dans le forum Java EE
    Réponses: 1
    Dernier message: 08/06/2011, 00h06

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