Différence entre ejb 2. 0 et ejb 3. 0

ejb 2. 0 vs ejb 3. 0

Les deux ejb 2. 0 et ejb3. 0 sont la version d'Enterprise Java Beans (EJB) qui jouit d'une grande popularité pour son architecture côté serveur gérée pour la construction modulaire d'applications d'entreprise. ejb2. 0 et ejb3. 0 les deux servent ses utilisateurs de la même manière, mais le point central sur EJB 3. 0 est qu'il a simplifié la vie des développeurs par rapport à ejb2. 0. ejb 2. 0 est conçu sous le JCP (Java Community Process), permet à l'architecture EJB de faciliter l'implémentation et le déploiement d'applications de services Web basées sur la technologie Java. D'un autre côté, ejb 3. 0 fournit une base pour définir la nouvelle API EJB simplifiée facilitant le développement. Sa fonction supplémentaire est la nouvelle API Java Persistence pour la gestion de la persistance et du mapping objet / relationnel avec Java EE et Java SE.

ejb 2. 0 utilise les beans entité pour accéder à la base de données mais ejb 3. 0 prend en charge l'API Java Persistence pour tous ses besoins de données suffisamment généralisée pour résoudre tous les problèmes de portabilité. ejb 3. 0 est meilleur dans les performances qu'il utilise les POJO avec une annotation de métadonnées nouvellement introduite qui est relativement plus rapide que les fichiers XMLDescriptor et JNDI Utilisé par ejb 2. 0 pour la référence d'objet.

ejb 2. 0 est très lourd en termes d'exigence d'écrire des interfaces domestiques et distantes et aussi d'exécuter des interfaces standards comme javax. ejb. SessionBean. ejb 3. 0 n'a pas la restriction d'utiliser des interfaces standard. C'est un POJO simple et bien configuré qui n'a pas besoin d'implémenter des méthodes de rappel de conteneur comme ejbActivate, ejbLoad, ejbStore etc. POJO comme EJB 3. 0 entités sont légères et il est facile de convertir d'un DAO en Entity bean ou vice versa.

ejb 2. 0 a la limitation et l'inflexibilité pour écrire des requêtes de base de données en utilisant EJB-QL tandis que ejb 3. 0 facilite avec raffiné EJB-QL et donc les requêtes de base de données écrites sont très flexibles.

La sécurité est fournie dans ejb 2. 0 grâce à l'utilisation de descripteurs de déploiement. EJB3. 0 utilise des annotations pour simplifier les tâches de configuration et d'installation pour les problèmes de sécurité. ejb 3. 0 peut facilement être utilisé avec des fournisseurs de persistance tierces connectables, mais ejb 2. 0 a des limitations à cet égard.

Résumé:
1. ejb 2. 0 utilise l'entité Beans pour accéder aux bases de données mais ejb3. 0 utilise l'APP pour accéder à la base de données.
2. ejb. 0 nécessite une description de déploiement, mais aucune description de déploiement n'est requise lors de l'utilisation de ejb3. 0.
3. Dans ejb 2. 0, nous devons écrire Home et Remote interface pour avoir accès aux bases de données tout en ejb3. 0 n'a pas une telle contrainte et est plus pratique à cet égard.
4.Les problèmes de sécurité sont gérés par des descripteurs de déploiement dans ejb2. 0 mais ejb3. 0 utilise l'annotation.
5. ejb 2. 0 a une limitation dans son embrochage avec les fournisseurs de persistance tiers.
6. En ejb3. 0, Query est très flexible et plusieurs niveaux de jointures sont activés grâce à l'EJB-QL raffiné.