1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 
21 22 23 24 25 26 27 28 29 30 31 32 33 

EJB 2 - Les Entreprise Java Bean (JavaBeans)

3.2.Decription du « container » (conteneur)

Le conteneur EJB permet de minimiser la charge de travail du développeur en prenant en charge l’implémentation des services techniques et la fourniture de ces services durant leur exécution. L’appel aux services du middleware se faisant à travers le descripteur de déploiement (que nous verrons un peu plus loin). Les principales fonctionnalités fournies par un conteneur d’EJB sont :

  • La connectivité entre les clients et les EJB : le conteneur gère les communications entre les clients et les EJB dans un serveur d’applications, le client peut invoquer les méthodes de cet EJB comme si elles étaient situées dans la même machine virtuelle. Les communications sont assurées par le middleware sous-jacent de manière transparente ;
  • La gestion de la persistance : les composants persistants peuvent choisir de déléguer leur persistance sur le support de persistance au conteneur :
  • La gestion des transactions : les composants transactionnels peuvent choisir de déléguer la gestion de leur transaction au conteneur, qui implémente les mécanismes transactionnels nécessaires à la réalisation de la logique transactionnelle décrite par les beans ;
  • La gestion de la sécurité : le conteneur assure l’application des politiques de sécurité déclarées mais non codées par le développeur, dans ce cas seuls des clients authentifiés et autorisés peuvent invoquer des méthodes sur des EJB ;
  • La gestion de la concurrence : pour les composants pouvant être invoqués par un seul client simultanément, le conteneur assure la gestion de la concurrence ;
  • La gestion du cycle de vie des composants : c’est le conteneur EJB qui gère la vie des instances du composant. Une instance d’un composant est en fait l’assemblage de plusieurs éléments :
    • Un stub pour chacun de ses clients, représentant local de l’instance dans le processus du client
    • Un skeleton (dans le conteneur), à l’écoute des requêtes du client
    • Une instance physique de la classe d’implémentation du bean, capable d’exécuter les méthodes métier.
  • La création des réserves de connexions ou pool de connexions: l’obtention d’une connexion sur base de donnée étant coûteuse en terme de ressources, et le nombre de connexions pouvant être limité par le nombre de licences le connecteur peut donc permettre à un EJB soit d’obtenir une connexion rapide depuis la réserve soit la rendre une fois qu’il aura terminé.

Le conteneur EJB gère les instances de l’EJB en « pool » (réservoir). C’est lui seul qui pilote l’instanciation et la destruction des instances de l’EJB. Une instance peut être recyclée et servir à l’exécution de plusieurs identités d’un même composant. Ceci reste totalement transparent pour le client. Les règles d’entrée et de sortie du pool varient selon le type de l’EJB et sont définies dans son cycle de vie. Quel que soit ce type, la classe d’implémentation de l’EJB doit implémenter des méthodes génériques correspondant aux différents changements d’état de son cycle de vie. Ces méthodes seront invoquées par le conteneur EJB lorsque l’instance change effectivement d’état. On appelle donc ces méthodes des callbacks (gestionnaire d’évènement).
Tout appel d’une méthode d’un EJB transite nécessairement par le conteneur EJB à l’aller comme au retour. Le conteneur EJB peut ainsi effectuer des traitements avant ou après l’invocation de la méthode sur l’instance physique de la classe d’implémentation. C’est par ce biais que la gestion de certains services, comme la persistance ou l’exécution transactionnelle, est assurée « automatiquement » par le conteneur.
  • La gestion du déploiement : on appelle déploiement la phase d’installation du composant dans le serveur d’application. Lors du déploiement, le serveur vérifie la cohérence des différents éléments du composant (interfaces, classe d’implémentation, fichiers de déploiement). Si jamais le composant ne passe pas cette vérification, il n’est pas déployé.

Les différents éléments du composant sont rassemblés dans un fichier jar. Plusieurs composants peuvent être rassemblés dans un même jar ; il n’y aura cependant qu’un seul ensemble de fichiers de déploiement pour tous les composants du jar.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 
21 22 23 24 25 26 27 28 29 30 31 32 33 

Retrouvez ci-dessous les autres sections du Laboratoire Sun
Exemples de code
JavaManipuler les looks and feel (lister et affecter)10/15/07
JavaFaire sa propre injection de dépendance avec les annotations5/9/06
JavaSplash screen avec progress Bar5/5/06
JavaFaire un splash screen en swing5/5/06

Essentiels de cours Java
JavaEJB 3 - Les Entreprise Java Bean version 3 (JavaBeans)
Cet essentiel est la suite de « Entreprise JavaBean 2.1 ». Cependant, nous allons étudier les nouvelles spécifications 3.0 qui simplifient énormément le développement par rapport aux EJB 2.6/20/06
JavaSWT - Créer des interfaces graphiques performantes
SWT (Standard Widget Toolkit) est une librairie graphique qui vous permet de réaliser des applications graphiques Java beaucoup plus avancées et surtout plus rapide à l’exécution.1/29/06
JavaStruts - Un framework MVC pour vos applications J2EE
Struts est un framework open-source qui vous permet de gagner du temps, mais qui permet aussi de voir des applications complexes comme une suite de composants de base : Vues, Actions, Modèles. Vous gagnez ainsi en évolutivité et en lisibilité du code.1/13/06
JavaHibernate - Persistance objet - relationnel
Cet essentiel explique comment utiliser Hibernate afin de gérer la persistance objet relationnel au sein de vos applications Java.12/14/05
JavaIntroduction J2EE - Applications d'entreprise
Cours d'introduction aux diverses technologies et outils que l'on peut rencontrer dans le monde du Java orienté entreprise J2EE12/14/05
JavaEJB 2 - Les Entreprise Java Bean (JavaBeans)
L'objectif avec EJB2 (Entreprise JavaBeans) est d'introduire les concepts de l’Ingénierie Logicielle Basée sur les Composants.12/14/05
JavaDesign Patern - Améliorez l'architecture de vos programmes
Afin de répondre a des situation récurrentes en programmation, les "design partern" apportent une solution type à beaucoup de contraintes liées à la programmation objet.12/14/05
JavaArchitecture J2EE - Comment organiser son application J2EE
Ce cours explique comment créer un code modulable, lisible et évolutif afin d'assurer la pérénité de son application.12/14/05
JavaLes web-services - Publication de services
Le développement tend vers les technologies du Web. Il est difficile de faire la distinction entre les différents logiciels qui sont de plus en plus intégrés au Web. Les Web Services rentrent dans l’optique de différencier bien précisément les couches.12/14/05
JavaAnt - L'automatisation des tâches du programmeur
Ecrire des scripts afin d'exécuter les tâches récurrentes10/31/05
JavaIntroduction au langage Java - Présentation & historique
Présentation des origines du langage, ainsi que se buts premiers8/11/05
JavaLa Syntaxe Java - Bases & nomenclatures
Bases de la syntaxe du langage Java8/11/05
JavaLes Classes - Concepts & héritage
Base du développement objet en Java grâce aux classes8/11/05
JavaLes Exceptions - Gestion d'erreurs
Gérer les erreurs liés à la programmation8/11/05

Articles
Eclipse Europa : le successeur de Callisto
Après Eclipse Callisto (Eclipse 3.2), la fondation Eclipse sort la nouvelle mouture d'Eclipse appelée Europa (Eclipse 3.3) faisant ainsi passer le nombre de projets embarqués de 10 à 21. Que ceux qui sont réticents aux « distributions » d'Eclipse se rassu12/21/07
JavaCruiseControl : l’outil d’intégration continue à avoir dans sa boite à outils
CruiseControl est un projet open-source offrant de multiples fonctionnalités pour l’intégration, que ce soit pour des développements Java ou .Net. Il est courant sur un projet d’être plusieurs développeurs avec des tâches de développement réparties. Dans7/2/07
JavaEJB3 - Des concepts à l'écriture du code - Editions DUNOD
Consulter le résumé du premier ouvrage du laboratoire Sun de SUPINFO : EJB3 - Des concepts à l'écriture du code. Guide du développeur, éditions DUNOD.5/27/07
JavaPassage de certification Java Web (SCWCD)
Passer une certification est toujours un moment important car cela permet de mieux faire reconnaître ses compétences face à un recruteur ou un employeur.5/12/07
JavaGoogle Web Toolkit
Google Web Toolkit est un framework java pour générer du javascript et des requêtes Ajax à partir d’un code java. Voilà comment il fonctionne.5/10/07
JavaJ2ME Vs SDE
Demain, les terminaux « légers » seront plus nombreux que les ordinateurs personnels, ce qui entraîne une bataille sur le choix d’une plateforme identique à tous ces terminaux… Aujourd’hui nous retrouvons le J2ME ainsi que le SDE qui s’offrent une rude b4/22/07

Tips du laboratoire
EclipseVisual Editor avec Eclipse Europa, c'est possible3/28/08
EclipseGérer les projets dans un workspace.10/16/07
JavaManager votre server d'application avec Eclipse4/21/07
JavaVue des sub-packages avec Eclipse4/21/07
JavaGlisser-déposer avec Eclipse4/21/07

Laboratoire SUPINFO des technologies Sun
labo-sun@supinfo.com


Conditions d'utilisation et © Copyright SUPINFO International University
23, rue de Château Landon - 75010 PARIS - Tél : +33 (0) 153359700 Fax : +33 (0) 153359701
Respect de la vie privée