Outils personnels

Vous êtes ici : Accueil / Actualités / Les EJB Java

Les EJB Java

Par kwa29 Dernière modification 01/08/2013 18:12
Généralisation des EJB

1 - Définition :


        EJB signifie Entreprise Java Bean. C’est un composant  J2ee qui va être exécuté par un conteneur  spécifique dans une machine virtuelle java (jvm). 
        Ce composant est une archive JAR, contenant un ou plusieurs objets java particuliers appelés Beans, possédant et  implémentant un certain nombre d'interfaces.
        Ces Beans  se chargeront de traiter des informations et permettront, de façon transparente pour le programmeur, de travailler sur une base de données. 
        Le composant Entreprise Java Bean possède un ou plusieurs fichiers de configuration XML. 
        Les EJB s'intègrent dans une architecture trois tiers et permettent de gérer la persistance  sans se soucier d'un quelconque SGBDR . Ils peuvent de plus être invoqués à travers un réseau. 

http://img443.imageshack.us/img443/4234/structuregeneraledunejbcr7.png
Structure générale d’un EJB

Composant : module ou logiciel  autonome, pouvant être réutilisable, fournissant  des  services et géré par un conteneur
     Conteneur : environnement d'exécution fournissant des services aux Entreprise Java Beans et gérant leur cycle de vie
     Persistance : mécanisme responsable de la sauvegarde et la restauration de données au sein d'un système de sauvegarde
     SGBDR : système de gestion de base de données relationnelle

2 - EJB Caractéristiques en quelques points:


•    Les Entreprises Java Bean suivent la philosophie du «Write Once, Rune Anywhere »
•    L’architecture des EJB fournie une interopérabilité entre les Entreprises Bean et des composants. J2EE aussi bien qu’avec des applications non codées en java (c++, vb...).
•    Possède un langage de requêtes qui lui est propre, l'EJB-QL  qui défini un standard de requête objet indépendant de tout SGBDR.
•    Le programmeur peut se concentrer uniquement sur la logique applicative.
•    Le conteneur d'EJB fourni des services système (gestion des transactions , lock de données).
    

    Nous savons à présent à quoi ressemble l'architecture des EJB mais leur mode de fonctionnement  nous est encore quelque peu abstrait. L'élément clé du composant EJB est le Bean, c'est lui qui détient la logique métier de l'application. Il existe différents types de Beans qui répondent aux besoins du programmeur.  Ainsi, qu'est ce qu'un Bean et comment est-il structuré?



Write Once, Rune Anywhere : textuellement, écrire une fois, exécuter n'importe où
     EJBQL : Entreprise Java Bean Query Langage. Langage de requête objet
     Transaction : séquence atomique d’actions sur une Base de données (tout action est validé sinon tout est annulé)

3- Définition du Bean:

    Un Bean est un objet Java particulier qui hérite d'une interface définissant un ensemble de méthodes gérant son cycle de vie au sein du conteneur. L'avantage de ces méthodes est que leur appel est transparent pour le programmeur, seul le conteneur se charge de les appeler lorsque cela est nécessaire. C'est en cela que le Bean est un objet java particulier. Il y a derrière une notion de gestion automatisée qui libère la charge du programmeur. La spécification EJB propose différents types de Beans ayant chacun une tâche qui lui est propre. On en dénombre trois types depuis la deuxième spécification des EJB.  Il y a les Session, les Entity et les Message Driven. Voici leurs caractéristiques et fonctions. 


4- Les Entity Bean:

    Ces Beans sont la représentation objet des données présentent en base de données. Pour schématiser, gardez en tête que de façon générale, un Entity correspond à  une table en base de données. La modification de cet objet engendre des modifications sur les données correspondantes en base de données. 


5- Les Sessions Bean: 

    Ces Beans accomplissent des tâches spécifiques pour un client distant ou local. Cela peut être un simple calcul de comptabilité, l'affichage d'un catalogue en ligne, ou le maintient d'un panier électronique. En fonction des besoins, l'état du Bean manipulé pourra être conservé ou non. 

    On distingue alors deux types de Beans Session:Les Session Statefull (l'état du Bean est conservé entre chaque appel du client) et les Session Stateless (l'état du Bean est perdu entre chaque appel client). Mais attention, avec les Beans Session il n'y a aucune persistance des données. Ici, on ne manipule que l'état d'un objet. On ne fait que modifier l'intégrité de l'objet mais cela n'engendre aucune conséquence sur l'intégrité des données en base. La durée de vie de ce genre de Bean est relativement courte (correspond à un échange avec un client).

http://img246.imageshack.us/img246/5725/schmatisationsimplisteddv7.png
Schématisation simpliste de l'enregistrement d'un panier en base de données

6- Les Messages Driven Bean: 

    Les Bean Messages sont des Beans à l'écoute de certains évènements. Lorsqu'un événement spécifique se déclenche (ajout d'un produit dans le panier par le client) un message asynchrone est envoyé dans une file d'attente, où celui-ci va être traité. Il peut contenir une simple chaîne de caractère ou un flux XML. Par la suite ce message pourra être interprété, et générer par la même occasion d'autres actions.


7- Résumé
    
    Les EJB sont des composants qui permettent de produire des applications de type 3 tiers sans se soucier de la logique Base de données. Leur but est de permettre le développement rapide d'applications distribuées. Les EJB déchargent véritablement le programmeur de se soucier de la couche JDBC  qui est entièrement gérée par le conteneur. Grâce à cette technologie J2ee, l'application va pouvoir être sécurisée et effectuer des traitements transactionnels et cela sans être un administrateur de base de données.

Un EJB c'est :
•    Une archive JAR composée de
            Un ou plusieurs Bean: Objet java possédant le code métier de l'application
•    On compte trois types de Beans
            Les Message Driven Bean
            Les Entity Bean
                    Un Bean représente une table
            Les Session Bean
                    Stateless (sans état)
                    Statefull (avec état)
•    Chaque Bean d'un composant EJB possède une ou plusieurs interfaces
•    Déployée dans un conteneur d'EJB
•    Un composant qui permet de gérer les transactions, la sécurité et la persistance

 
Navigation
 

Links

Credits

Theme by CSS Templates, Plone integration by Nekorin

Kwa29.com © 2000-2014