web-dev-qa-db-fra.com

Pourquoi devrions-nous utiliser EJB?

Qu'est-ce que l'EJB et pourquoi devrions-nous l'utiliser? Veuillez expliquer dans un langage simple. Je vous remercie.

33
mriganka3

Les EJB ou Enterprise Java Beans sont simples Java clases (depuis la version 3.0) avec des annotations qui vous permettent d'écrire la logique bussines de vos applications et de la déployer ultérieurement ( ou installer) sur un serveur Java Enterprise Edition Server).

Vous devez envisager d'utiliser EJB si vous souhaitez bénéficier des services suivants fournis par le serveur Java Enterprise Edition (Java EE):

  • Regroupement. Vous pouvez déployer votre EJB sur un environnement de cluster (dépendant de Java EE Application Server), cela vous offre une tolérance aux pannes et une haute disponibilité.
  • Accès simultané sans utiliser de threads. Tous les ejb sont instanciés à travers un pool d'objets, puis votre application gagne en performances et sans complexité de Thread.
  • Transactionnalité via JTA. Tous les ejb peuvent bénéficier de la gestion de la transactionnalité pour différentes ressources, les bases de données les plus importantes, à l'aide d'annotations, il est facile de délimiter la frontière de chaque transaction et de les gérer.
  • Pool de connexions à la base de données. Tous les ejb peuvent accéder aux pools de connexions définis dans le Java EE Application Server, ces pools de connexions fournissent une abstraction de la complexité de la base de données, par exemple, vous pouvez utiliser une source de données XA qui vous permet de faire deux faces Engagez-vous dans différentes bases de données.
  • Sécurité. Tous les ejb peuvent utiliser JAAS pour sécuriser les applications. JAAS est configuré dans le Java EE Application Server et vous permet d'authentifier et d'autoriser les méthodes de votre EJB via différents fournisseurs uniquement avec la configuration (par exemple en utilisant Active Directory, LDAP ou une base de données).
  • Planifier le service. Tous les ejb peuvent utiliser le service de minuterie qui vous permet d'implémenter la tâche pour une exécution ultérieure ou inclusive pour une exécution répétitive.

Il existe d'autres services et avantages, mais je pense que ce sont les plus importants. Si vous n'avez pas besoin de ces avantages, je vous recommande de ne pas utiliser EJB (toutes les applications ne sont pas des applications d'entreprise).

25

Les beans EJB sont spécialement conçus pour implémenter la logique métier de votre application. En tant que tels, ils fournissent des services qui sont souvent nécessaires lors de l'implémentation d'une telle logique, tels que les transactions, l'injection du gestionnaire d'entités (utilisé pour JPA, l'API de persistance Java Persistence) et la mise en commun des beans.

Voir ceci pour une réponse plus élaborée et encore plus de références: à quoi servent les EJB

Dans le libellé le plus élémentaire possible; "Les beans EJB facilitent beaucoup le travail avec une base de données via JPA".

L'utilisation de JPA en dehors d'un EJB nécessite beaucoup de code verbeux et sujet aux erreurs pour obtenir un gestionnaire d'entités, démarrer une transaction et la valider ou l'annuler.

Il y a une tonne d'autres raisons d'utiliser EJB, mais d'après l'expérience, je pense que c'est la raison numéro un.

15
Arjan Tijms

L'architecture Enterprise JavaBeans ou EJB est une architecture pour le développement et le déploiement d'applications métier robustes et hautement évolutives basées sur des composants. Ces applications sont évolutives, transactionnelles et sécurisées pour plusieurs utilisateurs. Vous pouvez développer l'application une fois, puis la déployer sur l'un des serveurs d'applications conformes à Java EE 5. Il existe de nombreux serveurs d'applications disponibles, gratuits et commerciaux. Vous pouvez choisir le serveur à développer et déploiement adapté à vos besoins et à votre budget.

Avantages des EJB

EJB simplifie le développement d'applications pour petites et grandes entreprises. Le conteneur EJB fournit des services de niveau système aux beans entreprise, le développeur de bean peut simplement se concentrer sur le développement de la logique pour résoudre les problèmes métier.

voir dans wiki pour plus de détails pour être déclaré

Il y a un nouveau tutoriel Java EE ici: http://download.Oracle.com/javaee/6/tutorial/doc/ . Il vaut bien le temps et les efforts .

Et bien que Wikipédia soit le lieu incontournable pour les réponses, cet article est un assez bon aperçu de ce que sont les EJB: http://en.wikipedia.org/wiki/Enterprise_JavaBean .

1
Mark Nichols

Transactions, éloignement, etc. Peut-être acheter un bon livre EJB et le lire, ou faire des recherches sur Google. Commencez ici Java EE6 EJB . Il répond probablement à toutes vos requêtes initiales.

0
planetjones