EJB

EJB

Enterprise JavaBeans

La technologie Enterprise JavaBeans (EJB) est une architecture de composants logiciels côté serveur pour la plateforme de développement J2EE.

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.

De la version 1.0 à la version 2.1, un EJB était accompagné d'un ou plusieurs fichiers de déploiement écrit en XML qui permettait au serveur applicatif de déployer correctement l'objet au sein d'un conteneur. C'était notamment dans ces fichiers de déploiement que le développeur avait la possibilité de préciser le cadre transactionnel dans lequel l'objet allait s'exécuter. Depuis la version 3.0, le modèle EJB utilise le principe d'annotation java (meta-données) pour spécifier toute la configuration et les propriétés transactionnelles de l'objet. Le fichier de code source de l'EJB se suffit à lui-même.

C'est le serveur applicatif qui a en charge la création, la destruction, la passivation ou l'activation de ses composants en fonction des besoins. Le client via un appel RMI (ou une de ses dérivées) va rechercher un EJB par son nom logique JNDI et appeler une/des méthodes de cet objet.

Sommaire

Les EJB session (Session Bean)

Les EJB sessions sont des objets proposant des services à leur appelant. Ils proposent un certain nombre de méthodes écrites par le développeur. Il y a deux types d'EJB session: les EJB sessions ne conservant pas leur état entre deux appels (EJB dit "stateless"), et ceux le conservant (EJB dit "stateful"). Il n'y a aucune garantie qu'entre deux appels au même EJB l'instance de l'objet soit la même.

Stateless Session Bean

La particularité principale d'un Stateless Session Bean est de ne pas conserver d'état entre les différents appels.

@Stateless
public class StatelessSessionBeanImpl implements StatelessSessionBean {
 
    public String sayHello() {
        return ("Hello world !");
    }
}

Stateful Session Bean

La particularité principale d'un Stateful Session Bean est de conserver son état entre différents appels de méthodes.

@Stateful
public class StatefulSessionBeanImpl implements StatefulSessionBean {
 
    private String user;
 
    public void login(String user) {
        this.user = user;
    }
 
    public String sayHello() {
        if (user == null)
            return ("Hello world !");
        return ("Hello " + user + " !");
    }
}

Les EJB entité

Les EJB entité sont des beans ayant majoritairement pour vocation d'être persistants, c'est-à-dire pouvant être stockés sur un support physique entre deux sessions.
Les EJB entité peuvent être de deux sortes : BMP (Bean Managed Persistence) ou CMP (Container Managed Persistence).

Les EJB BMP sont des beans dont la persistance a dû être programmée par le développeur (Ce dernier doit respecter un format pour la classe et les méthodes à implémenter sont imposées par la norme).

Les EJB CMP sont eux des beans dont la persistance est directement assurée par le conteneur d'EJB ; le mapping entre l'objet et son support de persistance est indiqué au conteneur via les fichiers descripteurs de déploiement. Le développeur une fois le fichier de déploiement réalisé n'a pas besoin d'écrire le code de persistance.

Depuis la version 3.0 de la spécification EJB, la notion de bean BMP/CMP n'existe plus : les EJB entité sont directement liés à la base de données via un mapping objet-relationnel. Ce mapping est défini soit dans un fichier de configuration XML, ou directement dans le code Java en utilisant des annotations.

Cette nouvelle interface de programmation des EJB entité est appelée Java Persistance API.

Les EJB message

Depuis la norme EJB 3.0, cette architecture propose un troisième type de composant : les EJB message permettant de déclencher un processus côté serveur applicatif lors de la publication d'un message asynchrone. Pour ces composants, le client ne s'adresse pas directement aux composants mais publie un message sur un réceptacle JMS (queue ou topic) configuré sur le serveur applicatif qui va alors déclencher l'activation par ce serveur d'une instance de l'EJB concerné pour pouvoir traiter ce message.

Voir aussi

Article connexe

Liens externes

  • Portail de la programmation informatique Portail de la programmation informatique
Ce document provient de « Enterprise JavaBeans ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article EJB de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • EJB QL — oder EJB QL (Enterprise Java Beans Query Language) ist eine Abfragesprache für Enterprise Java Beans (EJB). Sie wird in J2EE Anwendungen angewendet. Im Vergleich zu SQL ist sie weniger komplex, aber auch nicht so mächtig.[1] Inhaltsverzeichnis 1… …   Deutsch Wikipedia

  • EJB — steht für: Enterprise JavaBeans, standardisierte Komponenten in der Programmiersprache Java Evangelische Jugend in Bayern, der Jugendverband in der Evangelisch Lutherischen Kirche in Bayern Evangelische Jugend Burgsteinfurt, der Jugendverband der …   Deutsch Wikipedia

  • EJB-Container — Ein EJB Container ist eine Software, die auf einem Java EE Server läuft und sogenannte Enterprise Java Beans (EJB) verwaltet. Der Container kümmert sich sowohl um die persistente Speicherung der Zustände, als auch um die Verfügbarkeit der EJB… …   Deutsch Wikipedia

  • EJB — …   Википедия

  • EJB — Enterprise Java Beans (Computing » Software) …   Abbreviations dictionary

  • EJB — ectopic junctional beat …   Medical dictionary

  • EJB — Enterprise JavaBeans …   Acronyms

  • EJB — ● ►en sg. m. ►LANG Entreprise Java Bean. Grain de Java pour les entreprises. Voir aussi bean, javabean, JB …   Dictionnaire d'informatique francophone

  • EJB — Enterprise JavaBeans …   Acronyms von A bis Z

  • EJB — abbr. comp. Enterprize JavaBeans …   Dictionary of English abbreviation

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”