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 :

Mécanisme des EJB3


Sujet :

Java EE

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2009
    Messages : 81
    Points : 65
    Points
    65
    Par défaut Mécanisme des EJB3
    Bonjour ,
    je fais la conception d'une application ejb3,donc je veux comprendre le mecanisme des ejb coté client et coté serveur , et ou intervient les dao ,
    Donc d'aprés ce que j'ai appris ,un client se connecte a une session client puis il choisit une methode (invoquer une methode qui s'applique sur un entity bean) puis cette methode est traité par le dao qui l'applique sur la table relationnelle correspondante.
    Est ce que c'est juste ou non!!

    Merci pour votre reponse

  2. #2
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut EJB3 DAO concept
    Bonjour,

    DAO n'est plus forcément un bon concept pour les EJB3, c'est une histoire de troll. Conceptuellement, tu peux créer une classe service.. qui interroge tes objets JPA mappant la base de donnée. Bref le code "métier" peux être dans cette classe service.
    Pour faire violent, mais propre
    Client ( web ) <--> Managed Beans dans JSF <--> EJBremote ou local -> Classe Services -> POJO ( JPA )

    rajouter la couche service te permets de créer des tests unitaires en dehors du conteneur D'EJB. service == code métier.

    j'utilise Glassfish et un modèle que je trouve propre.

    olivier

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2009
    Messages : 81
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par nathieb Voir le message
    Bonjour,

    DAO n'est plus forcément un bon concept pour les EJB3, c'est une histoire de troll. Conceptuellement, tu peux créer une classe service.. qui interroge tes objets JPA mappant la base de donnée. Bref le code "métier" peux être dans cette classe service.
    Pour faire violent, mais propre
    Client ( web ) <--> Managed Beans dans JSF <--> EJBremote ou local -> Classe Services -> POJO ( JPA )

    rajouter la couche service te permets de créer des tests unitaires en dehors du conteneur D'EJB. service == code métier.

    j'utilise Glassfish et un modèle que je trouve propre.

    olivier
    bonjour,
    merci pour votre réponse , que signifie "<--> "et " ->" et ou intervient le cote base de donnée .
    Merci encore

  4. #4
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut JPA POJO java
    Bonjour,

    le --> et <-> sont une erreur de ma part. Ils sont tous <-->, qui exprime un dialogue ou une relation.

    La partie base de donnée est représenter par des POJOS java en utilisant JPA. Le fameux mapping relationnel ou ORM.

    olivier

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2009
    Messages : 81
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par nathieb Voir le message
    Bonjour,

    le --> et <-> sont une erreur de ma part. Ils sont tous <-->, qui exprime un dialogue ou une relation.

    La partie base de donnée est représenter par des POJOS java en utilisant JPA. Le fameux mapping relationnel ou ORM.

    olivier
    Merci beaucoup toute est claire !!!

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Petites précisions en passant...

    Il n'est pas nécessaire d'utiliser un EJB session stateful côté serveur, un stateless peut très bien faire l'affaire...
    Lorsqu'on utilise une interface Remote, les arguments sont passés par valeur alors qu'avec une interface Local, ils sont passés par référence.
    Il est fortement recommandé d'utiliser le concept de facade pour améliorer les performances de l'application et éviter des aller/retour entre client et serveur.
    Dans ce concept, on centralise les méthodes utililes dans un objet et son interface et c'est cet objet qui invoquera les autres EJB (de préférence via Local), ce qui ressemble à ceci

    (1)client ---> (2)ejb facade (remote) ---> (3)ejb1 local
    ......................................................... ejb2 local
    ......................................................... ejb3 local (etc...)
    entre (1) et (2), on a un passage par valeur avec marshalling/unmarshalling
    entre (2) et (3), on a un passage par référence (donc direct)

    Dans le cas d'une application web, on pourrait utiliser uniquement des interfaces Local (tous les traitements étant fait sur le serveur)
    Dans le cadre d'une application client lourd (swing par exemple), il sera nécessaire de passer par Remote et de configurer correctement JNDI pour récupérer "l'initialContext" via jndi.properties ou en interne via un objet Properties

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Juillet 2009
    Messages : 81
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Petites précisions en passant...

    Il n'est pas nécessaire d'utiliser un EJB session stateful côté serveur, un stateless peut très bien faire l'affaire...
    Lorsqu'on utilise une interface Remote, les arguments sont passés par valeur alors qu'avec une interface Local, ils sont passés par référence.
    Il est fortement recommandé d'utiliser le concept de facade pour améliorer les performances de l'application et éviter des aller/retour entre client et serveur.
    Dans ce concept, on centralise les méthodes utililes dans un objet et son interface et c'est cet objet qui invoquera les autres EJB (de préférence via Local), ce qui ressemble à ceci

    entre (1) et (2), on a un passage par valeur avec marshalling/unmarshalling
    entre (2) et (3), on a un passage par référence (donc direct)

    Dans le cas d'une application web, on pourrait utiliser uniquement des interfaces Local (tous les traitements étant fait sur le serveur)
    Dans le cadre d'une application client lourd (swing par exemple), il sera nécessaire de passer par Remote et de configurer correctement JNDI pour récupérer "l'initialContext" via jndi.properties ou en interne via un objet Properties
    Merci beaucoup ca va vraiment m'aider dans ma conception: diagramme de sequence, composant et classe

Discussions similaires

  1. mapper des ejb3.0 à une table oracle existante
    Par kuruma45 dans le forum JPA
    Réponses: 27
    Dernier message: 04/05/2008, 01h22
  2. Nommage des ejb3
    Par Frostizz dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 18/02/2007, 23h21
  3. Mécanisme des sessions PhP
    Par segphault dans le forum Langage
    Réponses: 3
    Dernier message: 30/03/2006, 14h54
  4. [Jboss+Eclipse] Cherche tutoriel pour créer des EJB3
    Par ericw78 dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 26/08/2005, 17h50
  5. [JAAS] Accès à des EJB3 déployé sous JBoss
    Par MustaghAttack dans le forum Java EE
    Réponses: 6
    Dernier message: 22/08/2005, 14h24

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