Les Entreprise Java Beans.

 

Objectifs.

 

Il arrive souvent que l’on doive développer une même application dans deux versions :

 

 

En ce cas on risque de développer deux fois, le code métier.

 

Une première solution consiste à bien isoler une couche métier. Les classes de cette couche pourront être appelées aussi bien de l’interface d’un client riche, que des scripts de l’application WEB.  Il faudra cependant déployer cette couche dans tous les clients et sur le serveur WEB.

 

Une solution consiste à utiliser un serveur d’application qui hébergera les classes métiers, elle mêmes implémentées dans des EJB.

 

 

 

Le serveur d’application abrite les Ejb. Il assure l’instanciation, et gère la sauvegarde des données membres.

 

 

Les Ejb Sessions

 

Ce sont des classes, chaque classe expose un certain nombre de méthodes. Typiquement chaque méthode implémente une fonctionnalité métier.

Les classes peuvent avoir des données membres persistantes entre deux appels, on dit que ce sont des EJB sessions avec état, le serveur gère les instances et stocke les données membres de chaque instance, cela peut être une charge importante.

Certaines classes peuvent n’avoir que des méthodes, on dit que ce sont des EJB sessions sans état. Dans ce cas cette technique rend les mêmes services que les Web Services.

 

Bien évidemment les méthodes peuvent exécuter des requêtes en base de données. On programme alors de manière classique avec Jdbc.

 

Il est possible également d’utiliser une persistance automatique  avec par exemple « hibernate ».

Cependant dans l’approche EJB, il est préférable d’utiliser les EJB entités.

 

EJB entité.

 

De fait cette technologie va s’appuyer sur un outil de persistance tel que hibernate ou toplink. Mais le mode de programmation est standardisé par EJB.

 

Voici l’architecture d’ensemble :

 

 

 

Seul les Ejb sessions sont exposées aux clients.

Chaque Ejb entité est en général une représentation d’une classe. Chaque attribut de la classe donne une donnée membre. Une Ejb Entité ne possède pas de méthodes métiers.

 

Les EJB entité sont exploitées dans les Ejb sessions, par exemple, une méthode peut :

 

 

Une version objet du langage sql est proposée : EJBQL.

 

Cette technique est très puissante, elle réconcilie le mode objet et le monde des SGBD.

Elle est cependant délicate à utiliser, elle peut consommer beaucoup de ressources.

 

 

EJB message.

 

Le fonctionnement des EJB Session est synchrone, le client attend la fin de l’exécution de la méthode.

Avec les EJB message, nous pouvons obtenir un comportement asynchrone.

Le message est envoyé par une méthode d’une EJB session sans attendre la réponse.

Le message est alors mémorisé par le serveur d’application.

Une, ou plusieurs EJB messages s’abonnent au service et traitent les messages.

 

Il existe deux types de gestion des messages :

Outils de développement

Pour développer un projet EJB vous pouvez utiliser eclipse , mais netbeans est mieux adapté.

 

Retour au menu général.