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.3.Qu’est ce qu’un Session Bean

Un session bean représente un client unique à l’intérieur du serveur applicatif. Pour accéder à une application déployée sur le serveur, les clients appellent les méthodes du session bean. Celui-ci effectue le travail à la place des clients, en exécutant les tâches complexes du côté du serveur.
Comme son nom l’indique, un session bean est semblable à une session interactive. Il n’est pas partagé ; il ne peut avoir qu’un seul client, de la même manière qu’une session interactive ne peut avoir qu’un unique client. Un session bean n’est pas persistant (ces données ne sont pas sauvegardées). Quand le client se termine, le session bean semble se terminer également et n’est plus associé avec le client.

3.3.1.Modes de gestion d’état

Il existe deux types de session beans : stateless et stateful.

Stateless Session Beans

Un stateless session bean (bean session sans état) ne maintient pas un état de la conversation pour le client. Quand un client appelle une méthode d’un stateless bean, les variables d’instance du bean peuvent contenir un état mais seulement pour la durée de l’appel. Quand la méthode est terminée, l’état n’est pas sauvegardé. Exceptées durant l’appel de méthode, toutes les instances d’un stateless bean sont équivalentes, laissant le conteneur d’EJB assigner une instance à un client.
Du fait que les stateless session beans peuvent supporter de multiples clients, ils peuvent offrir une meilleure évolutivité pour les applications exigeant un grand nombre de clients. Typiquement, pour supporter le même nombre de clients, une application exigera moins de stateless session bean que de stateful session beans.
Parfois, le conteneur d'EJB peut-être conduit à sauvegarder un stateful session bean sur un stockage secondaire. En revanche, les stateless session bean n’étant jamais écrits sur un stockage secondaire ils peuvent offrir de meilleures performances que les stateful session bean.
Un stateless session bean peut implémenter un web service, contrairement autres types d’enterprise beans.

Stateful Session Beans

L'état d'un objet correspond aux valeurs de ses variables d'instance. Dans un stateful session bean, les variables d'instance représentent l'état d'une unique session client-bean. Puisque le client interagit (communique) avec son bean, cet état est souvent appelé état conversationnel (conversational state).

L'état est maintenu pour la durée de la session client-bean. Si l’application cliente supprime le bean ou s’arrête, la session s’achève et l'état disparaît. Cette nature passagère de l'état n'est pas un problème puisque lorsque la conversation entre le client et le bean s’achève, il n’y a pas de raison de retenir l'état.

3.3.2.Quand utiliser les Session Beans ?

En général, vous devriez utiliser un session bean pour l’une des raisons suivantes :
  • À n'importe quel instant, seulement un client a accès à l'instance du bean.
  • L’état du bean n’est pas persistant, il n’existe que pour une courte durée (environ quelques heures).
  • Le bean implémente un web service.

Les stateful session beans sont appropriés si l’une des conditions suivantes est vraie :
  • L’état du bean représente l’interaction entre le bean et un client particulier.
  • Le bean doit conserver les informations concernant le client durant l’exécution des méthodes.
  • Le bean fait la liaison entre le client et d’autres composants de l’application, présentant une vue simplifiée au client.
  • En coulisse, le bean contrôle le workflow de plusieurs entreprises beans.

Pour améliorer les performances, vous pourriez choisir un stateless session bean s'il a l’une de ces caractéristiques :
  • L’état du bean n’a pas de donnée spécifique à un client.
  • Dans un seul appel de méthode, le bean accomplit une tâche générique pour tous les clients. Par exemple, vous pourriez utiliser un stateless session bean pour envoyer un email qui confirme un ordre en ligne.
  • Le bean récupère d'une base de données un ensemble de données en lecture seule qui sont souvent utilisées par les clients. Un tel bean, par exemple, pourrait récupérer les lignes d’une table qui représentent les produits qui sont en vente ce mois.



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 Pattern - Améliorez l'architecture de vos programmes
Afin de répondre a des situation récurrentes en programmation, les "design pattern" 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