Bonjour tout le monde,
Utilisant le framework Spring et plus précisément Spring Data j'ai voulu comprendre plus en détaille le fonctionnement de celui-ci.
En est découlé de nombreux mot-clefs tels que : Hibernate, JPA, POJO, EJB, middlewares, EJB, serveur d'application ....
Je me suis donc plongé plus en détail sur les EJB et ce que ça représenté réellement, car ça restait assez abstrait pour moi. Je viens donc solliciter votre aide pour confirmer ou non mes dires à ce sujet.
J'ai compris qu'un EJB(Entreprise Java Bean) est simplement un Bean (d'où le nom) qui est gérer dans un contexte (EJB Container) qui doit être hébergé sur un serveur d'application JAVA EE pour pouvoir "exister".
C'est généralement un jar qui contient une classe qui implémente une interface (toujours ?) offrant différent service à l'utilisateur.
Il existe trois type d'EJB :
- Les EJB session, qui existent en deux variantes : avec état ( stateful ) et sans état ( stateless ). Qui représente un traitement (gestion de compte bancaire, gestion du panier d'achat...)
- Les EJB messages, qui fonctionnent en tandem avec l'API JMS (Java Messaging Service). Qui traite les messages asynchrones. (Pas tout compris encore
)
- Les EJB entité qui représente un objet métier (donc un table dans la BDD) et qui permet un stockage persistant (JPA avec les annotation @Entity ... ?)
J'ai trouver un schéma intéressant sur l'architecture de celui-ci :
Trouvé ici https://fr.slideshare.net/HeithemAbb...java-beans-ejb
Si je comprends bien l'application, interroge les EJB présents sur le serveur (en récupérant le Bean via son contexte comme on pourrait dans Spring). On exécute les méthodes désiré et le Bean EJB interroge la BDD (si besoin) via JDBC ou autre et nous retourne le résultat ?
J'ai fait pas mal de supposition dans ce poste, je vous remercie d'avance pour vos éclaircissements.
Partager