logo

Qu'est-ce qu'un EJB ?

EJB est un acronyme pour bean java d'entreprise . Il s'agit d'une spécification fournie par Sun Microsystems pour développer des applications distribuées sécurisées, robustes et évolutives.

Pour obtenir des informations sur les applications distribuées, visitez Tutoriel RMI d'abord.

Pour exécuter une application EJB, vous avez besoin d'un serveur d'application (Conteneur EJB) tel que Jboss, Glassfish, Weblogic, Websphere etc. Il effectue :

  1. la gestion du cycle de vie,
  2. sécurité,
  3. gestion des transactions, et
  4. pooling d’objets.

L'application EJB est déployée sur le serveur, elle est donc également appelée composant côté serveur.

EJB est comme COM ( Modèle d'objet de composant ) fourni par Microsoft. Mais il est différent de Java Bean, RMI et Web Services.


Quand utiliser Enterprise Java Bean ?

  1. L'application nécessite un accès à distance . En d’autres termes, il est distribué.
  2. L'application doit être évolutive . Les applications EJB prennent en charge l'équilibrage de charge, le clustering et le basculement.
  3. L’application nécessite une logique métier encapsulée . L'application EJB est séparée de la couche de présentation et de la couche persistante.

Types de bean Java d'entreprise

Il existe 3 types de bean entreprise en Java.

Haricots de session

Le bean session contient une logique métier qui peut être invoquée par un client local, distant ou un service Web.

Bean piloté par message

Comme Session Bean, il contient la logique métier mais il est invoqué en transmettant un message.

Bean entité

Il encapsule l'état qui peut être conservé dans la base de données. Il est obsolète. Désormais, il est remplacé par JPA (Java Persistent API).


Différence entre RMI et EJB

RMI et EJB fournissent tous deux des services pour accéder à un objet exécuté dans une autre JVM (appelé objet distant) à partir d'une autre JVM. Les différences entre RMI et EJB sont indiquées ci-dessous :

IRMEJB
Dans RMI, les services middleware tels que la sécurité, la gestion des transactions, le pooling d'objets, etc. doivent être effectués par le programmeur Java.Dans EJB, les services middleware sont fournis automatiquement par EJB Container.
RMI n'est pas un composant côté serveur. Il n'est pas nécessaire de le déployer sur le serveur.EJB est un composant côté serveur, il doit être déployé sur le serveur.
RMI est construit sur la programmation des sockets.La technologie EJB est construite sur RMI.

EJB et Webservice

Dans les EJB, le composant du bean et le client du bean doivent tous deux être écrits en langage Java.

Si le client du bean doit être écrit dans un autre langage tel que .filet , php etc, nous devons y aller avec services Web (SAVON ou REPOS). Les EJB avec service Web seront donc une meilleure option.


Inconvénients des EJB

  1. Nécessite un serveur d'applications
  2. Nécessite uniquement un client Java. Pour un client dans une autre langue, vous devez opter pour un service Web.
  3. Complexe pour comprendre et développer des applications ejb.