Les Entreprise Java Beans (EJB)
Les Entreprise Java Beans (EJB)
Objectifs
- Connaitre l’Enterprise Java Beans
- Etre capable de travailler avec les Enterprise Java Beans
-
Que signifie EJB ?
-
L’abréviation EJB ?
- EJB se traduit par Enterprise Java Beans. Les EJB sont des extensions des Java Beans : une technologie utilisée pour développer des composants Java réutilisables.
- Il s’agit d’un composant écrit en Java, c’est-à-dire une brique applicative s’exécutant côté serveur, dont l’objectif de construire des applications distribuées
-
Définition humoristique
- JavaBean = Java (un café)+Bean (un grain de café) Un ensemble de grains de café permet la fabrication de café. Chaque grain apporte sa contribution à l’arôme et à la saveur du café.
-
Définition humoristique
- JavaBean = Une classe Java indépendante qui définit des propriétés (données) et des méthodes décrivant ses différentes services.
- Un logiciel est conçu par assemblage des services offertes par les JavaBeans.
- Chaque JavaBean apporte sa contribution aux traitements du logiciel.
-
Historique des EJB
- Au début des années 1990 apparaît le multi-tiers : un modèle de traitement logiciel couplant une architecture client/serveur avec bases de données et applications.
- L’objectif annoncé était de faciliter l’intégration d’architecture client/serveur/traitement applicatif/base de données, ainsi que le déploiement et la maintenance d’applications.
- Pour gérer les connexions entre ces différentes briques, les développeurs ont alors imaginé ce qu’on appelle les middlewares : des modules capables de prendre en charge requêtes, transactions et messages. C’est dans ce contexte que Sun décide de concevoir les EJB.
- Une initiative qui a surtout pour finalité de simplifier le travail des développeurs en proposant des middlewares sous la forme de composants Java standardisés.
- La finalité étant en particulier de les rendre utilisables sur n’importe quelle plate-forme supportant Java.
-
Présentation
- Enterprise JavaBeans (EJB) est une architecture de composants logiciels côté serveur pour la plateforme de développement Java EE.
- Cette architecture propose un cadre pour créer des composants distribués (c’est-à-dire déployés sur des serveurs distants) écrit en langage de programmation Java hébergés au sein d’un serveur applicatif permettant de représenter des données (EJB dit entité), de proposer des services avec ou sans conservation d’état entre les appels (EJB dit session), ou encore d’accomplir des tâches de manière asynchrone (EJB dit message). Tous les EJB peuvent évoluer dans un contexte transactionnel.
- Cette architecture propose un cadre (Framework) pour créer des composants distribués (c’est-à-dire déployés sur des serveurs distants) écrit en langage de programmation Java hébergés au sein d’un serveur applicatif.
- Le but des EJB est de faciliter la création d’applications distribuées pour les entreprises.
- Les EJB permettant de :
- Représenter des données manipulées par l’application (EJB dit Etity),
- Proposer des services avec ou sans conservation d’état entre les appels (EJB dit Session),
- Accomplir des tâches de manière asynchrone (EJB dit Message Driven Bean).
- Les EJB sont parfaitement adaptés pour être intégrés dans une architecture trois tiers ou plus. Dans une telle architecture, chaque tier assure une fonction particulière :
- le client "léger" assure la saisie et l’affichage des données
- sur le serveur, les objets métiers contiennent les traitements. Les EJB sont spécialement conçus pour constituer de telles entités.
- une base de données assure la persistance des informations
-
Les différents types d’EJB
- Il existe trois types d’EJB :
- Entity Beans : Les EJB entités
- Représentent les données manipulées par l’application (Composants persistants)
- Chaque EJB Entity est associé à une table au niveau de la base de données
- Session Beans : Les EJB session
- Composants distribués qui implémentent les traitement de la logique métier.
- Ces composants sont accessibles à distance via les protocole RMI et IIOP.
- Seul les Ejb sessions sont exposées aux clients.
- Il existe deux types d’EJB Session.
- Stateless : sans état
- Une instance est crée par le serveur pour plusieurs connexions clientes.
- Ce type de bean ne conserve aucune donnée dans son état.
- Statefull : avec état
- Création d’une instance pour chaque connexion cliente.
- Ce type de bean peut conserver des données entre les échanges avec le client.
- Singleton: Instance Unique
- Création d’une instance unique quelque soit le nombre de connexion.
- Message Driven Beans : Beans de messages
- Un listener qui permet de déclencher des traitements au niveau de l’application suite à la réception d’un message asynchrone JMS