Page d'accueil Page d'accueil Page d'accueil
   Offre   Société   Produit  Expertise Actualités Recrutement Contactez-nous Plan du site

Expertise

Articles techniques
Testez nos experts
    SGBD
    Technologies
    Intégration Continue
 

Accueil > Expertise > Tester nos experts > Technologies > Différence entre EJB Entité et Session

Technologies : J2EE

Quelle est la différence entre un EJB Entité et un EJB Session ?

Afin de gagner en productivité et en robustesse, il est neccessaire d'utiliser des objets encapsulant la logique métier pour structurer le code. D'autres part les sites Web devenant de plus en plus exigeant en terme de stabilité, de sécurité et de performance, des procédés de transaction et de pooling sont indispensables. C'est pour répondre à toutes ces attentes que lescomposants EJB ont été inventés.

Le plus couteux pour un serveur Web utilisant la technologie Java c'est la création et la destruction des instances de classes. Les EJBs sont des objets réutilisables (créés une seule fois) qui encapsulent les traitements métier (Business Logic). La gestion des EJBs est déléguée au serveur d'application qui possède une batterie d'EJB (Pooling) déjà instanciés et prêt à répondre aux solicitations concurentes des pages JSP et Servlets.

Plusieurs types d'EJB existent avec des caractéristiques différentes :

Les EJB Session (Session bean) :

  • Leur durée de vie est liée à celle du navigateur client
  • Il est détruit lorsque le client n’en a plus besoin
  • Il a une durée de vie plutôt courte
  • Stateless session bean ("léger")

    • Il ne conserve pas d’information entre 2 appels successifs
    • Il ne possède pas d’instance

    Statefull session bean ("lourd")

    • Gère un état

Les EJB Session peuvent être ou non de type synchronization. Dans ce cas, le conteneur notifie l'EJB chaque fois qu’une transaction le concernant se déroule.

Les EJB Entité (Entity bean) :

  • Leur durée de vie n’est pas liée à celle du navigateur client
  • Il n'est pas détruit lorsque le client n’en a plus besoin
  • Il a une durée de vie plutôt longue
  • Il peut être partagé par plusieurs clients
  • Ses données sont persistantes
  • Bean managed persistence

    • La gestion de la persistence est à la charge du développeur

    Container managed persistence

    • La persistence des données est gérée automatiquement par le conteneur

Les EJB Entité peuvent être réentrants ou non. Dans ce cas, dans une même transaction un EJB créé par un autre EJB peut rappeller son créateur.


Retour en haut de la page Haut de page