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 :

Différence EJB3 - Hibernate3 ? [EJB3]


Sujet :

Java EE

  1. #1
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    222
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 222
    Par défaut Différence EJB3 - Hibernate3 ?
    Salut,

    Aprés différentes lectures d'articles, je n'arrive pas à me faire une idée entre EJB3.0 et Hibernate3, en effet, je ne vois pas la différence entre les 2, quels sont les avantages de l'un et de l'autre quels sont les inconvénients, j'aimerais donc avoir une discussion sur ces différentes techno afin de me faire une idée sur ces technologies.

    Si une âme charitable veut bien m'expliquer

    Merci

  2. #2
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    222
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 222
    Par défaut
    Je vois donc bien maintenant ce qu'hibernate fait : il permet de faire du mapping objet/relationnel. Par contre, je ne vois toujours pas l'uitlités des EJB3, donc d'aprés ce que tu viens de me dire, EJB3 permettrait de faire aussi de la persistance de données mais quoi de plus, tu parle de message : est-ce que se serait la communication entre applet(par exemple) et un ejb bean ?

    Du coup, est-ce qu'on peut utiliser servlet et hibernate à la place des EJB3, sauf si EJB3 apporte vraiment un avantage, ce que je ne vois pas encore.

    Merci

  3. #3
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour,
    C'est une erreur très fréquente, c'est d'ailleurs ce qui m'a poussé à en parler dans ma signature
    Bref, pour résumer, Sun a retiré la partie ORM (mapping objet relationnel) de l'EJB à la version 3, et l'a séparé dans JPA.
    JPA est juste un API, et Hibernate fournit une implémentation (tout comme Toplink, OpenJPA, Kodo, etc.).
    Sinon, EJB permet de:
    - Appel de service distant: tu appèles une méthode d'un EJB sur le client, et un traitement sur serveur est invoqué, et ce d'une manière transparente.
    - Message Driven Beans.

    En tout cas, il suffisait juste de se documenter un peu sur les EJB pour comprendre la différence

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    Désolé pour le message que j'ai supprimé, mais il n'était plas clair du tout.

    Heureusement, djo.mos est passé par là.

  5. #5
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    222
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 222
    Par défaut
    Merci pour vos réponses, mais par contre dans l'architecture java est ce qu'on peut dire que les ejb sont au même niveau que les servlets. Et du coup, est-ce que pour une application web faut-il mieux utiliser applets/servlets/hibernate ou applet/ejb. C'est une application web pour faire de la GMAO.

    Bonne journée

    Merci

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Par défaut
    Bonjour à tous,

    Je débute en J2EE et je suis entrain de me documenter sur tous ces technologies, j'ai commencé par EJB et je peux vous dire que EJB sont des extensions des Java Bean : une technologie utilisée pour développer des composants Java réutilisables. Ils assurent la portabilité puisque ils peuvent être utilisés sur n'importe quel plate-forme supportant java.

    Ils sont spécialement utilisés dans les domaines des transactions sécurisées, et du stockage d'objets java.

    Pour une application Web je ne vois pas que ça serait utile d'utiliser EJB s'il n'y pas un grand traitement concernant les transactions.



    Mais à propos d'Hebenate je ne sais pas grand-chose je veux savoir si ça serais important d'utiliser Hibernate avec EJB dans le développement des ERP.

    Merci pour m'avoir répondre à ma question.

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 277
    Par défaut
    Les EJB gèrent les transactions, mais également les appels locaux/distants, la sécurité.

    Les EJB ne sont pas au même niveau que les servlets.
    Les servlets c'est la partie controlleur du MVC.
    Les EJB c'est la partie "traiment métier". Ils peuvent et sont souvent utilisés en complément des servlets dans une architecture web.

    Tu pourrais détailler un peu plus ton projet ?

  8. #8
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    222
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 222
    Par défaut
    Je vais te détailler mon projet, ce dernier à pour but de tester différentes technologies. Ce projet est une sorte de moteur de recherche, je m'explique, dans une base de données, il y a un nombre quelconques de fichiers, type techniques, commerciaux, etc..., et lorsque un technicien, par exemple, veut un document il va aller sur l'application web, il rentrera des mots clés, et l'appli lui retournera tous les documents qui semble le plus proche de ces mots-clés. Donc pour l'instant, j'ai réalisé ce projet avec applet/servlet/hibernate et ça fonctionne, mais maintenant, je dois faire ce même projet mais avec des ejb3, car d'aprés différentes lectures d'articles c'est l'avenir, c'est portable sur n'importe quelles plate-forme, et c'est vrai que ça à l'air d'être puissant mais à réaliser c'est une autre histoire.

    Ensuite, ce matin j'ai lu une présentation trés intéressant sur les EJB3 et j'ai téléchargé un livre (en anglais) sur les EJB3, et là j'ai les idées plus claires, en effet, les ejb permettent un grand nombre de choses, telle la sécurité, le traitement de message, la persistance des données... et on peut voir un architecture comme cela

    applet/servlet -> EJB -> base de données

    Et donc tu as tout à fait raison, les servlets ne sont pas au même niveau que les EJB, en gros les ejb définissent les fonctions qu'un client peut appeler

    Maintenant, j'ai trouvé un exemple de réalisation d'une application web sous eclipse avec JBoss, bon moi je travaille avec eclipse, mais j'ai comme serveur d'application GlassFish, je pense donc qu'il ne doit pas y avoir beaucoup de différence, enfin j'espère. Cet aprés-midi je vais essayer de le mettre en place, je risque d'avoir des problèmes.

    Je vous tiendrez au courant de mes avancements, et de mes problèmes cette aprés-midi

  9. #9
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    222
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 222
    Par défaut
    Comme prévu je viens vous faire part de mon avancement sur le tutorial que j'avais trouvé regroupant ejb + eclipse + glassfish, le but de ce projet est d'ajouter des contact dans une base de données et de lister ces contacts.

    J'ai donc créer un fichier JSP qui est un formulaire qui permet d'ajouter un nouveau contact, ensuite lorsque l'on clique sur envoyer il y a appel à une servlet qui fait appel à une méthode qui se trouve dans mon ejb.

    Ensuite je veux lancer se projet via firefox, le formulaire s'ouvre bien mais lorsque je clique sur ajouter : là c'est le drame et voici l'erreur qu'il me retourne :


    type Exception report

    message

    descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

    exception

    javax.servlet.ServletException: PWC1244: Servlet execution threw an exception

    root cause

    java.lang.NoClassDefFoundError: src/Contact

    note The full stack traces of the exception and its root causes are available in the Sun Java System Application Server 9.1 logs.



    et src/Contact c'est ce qu'il y a dans mon ejb

    Pourriez vous me dire d'où cela peut venir, je vais continuer à chercher de mon côté

  10. #10
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    222
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 222
    Par défaut
    J'ai eu de gros problème avec Glassfish, impossible de corriger mon erreur, j'ai donc décidé de changer de serveur d'application, et je travail donc maintenant avec JBoss, et là j'ai résussi à tout faire fonctionner, c'est-à-dire : réalisation d'une application web (servelt/jsp) + ejb3 + postgreSQL + JBoss

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Projet EJB3 session avec Hibernate3
    Par SmahaneGI dans le forum Frameworks Web
    Réponses: 3
    Dernier message: 20/02/2014, 16h40
  2. Relations/différence entre EJB3 et Hibernate
    Par amira dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 06/12/2011, 16h30
  3. Différence Hibernate / Entity Beans EJB3 ?
    Par amine_mte05 dans le forum Hibernate
    Réponses: 0
    Dernier message: 03/02/2010, 12h11
  4. [EJB] Différences BMP EJB2/EJB3
    Par skrosoft dans le forum Java EE
    Réponses: 2
    Dernier message: 10/05/2007, 10h37
  5. [EJB3] EJB3 ou hibernate3
    Par apoca dans le forum Java EE
    Réponses: 9
    Dernier message: 09/05/2007, 18h49

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