31 votes

Pourquoi devrais-je utiliser EJB?

Comme nous le savons tous que les EJB 3.1 3.0 ou sont de simples Pojo. Vous avez juste besoin de donner des annotations, ici et là, et il est converti en d'EJB de classe simple. Alors, maintenant, ma question est: pourquoi devrais-je utiliser les Ejb à tous? Je ne peux pas faire sans eux? Dans .Net, j'ai créé la bibliothèque de la classe et a des choses à faire. Je n'ai jamais senti le besoin de quelque chose comme EJB. Simple les classes étaient assez. Alors, pourquoi en Java les gens de stress sur les EJB? Quelle est la différence entre un simple POJO et EJB en termes d'exécution et de mémoire? Plus quelle fonction dois-je écrire dans le fichier EJB et qui dois-je écrire dans la classe simple? Dois-je vidage de chaque fonction dans le fichier EJB seulement? ou il y a une sorte de stratégie?

Ne EJB offrir quelque chose de spécial?

26voto

richj Points 5593

Vous devriez utiliser EJB si cela résout un problème que l’un des frameworks les plus légers ne résout pas. Certains exemples sont:

  • Clustering
  • Fail-over
  • Mise en cache distribuée
  • Outils d'administration

10voto

cletus Points 276888

Dans le monde du commerce, des Ejb ont presque totalement été supplanté par le Printemps. L'avantage de Printemps, c'est qu'il peut être exécuté à l'intérieur d'un simple conteneur Web comme Jetty ou Tomcat alors que les Ejb (pré-3.1) besoin d'un serveur d'application J2EE (par exemple, Websphere, Weblogic, JBoss, Glassfish), qui a une empreinte écologique plus importante.

Les ejb de faire quelques choses de bien, surtout beans de session sans état, qui peut être un efficace moyen pour les transactions distribuées.

EJB depuis la version 3.0 a été divisé en deux parties: l'EJB spécification et la JPA spec. JPA (Java Persistence API) est comme son nom le suggère la persistance partie de l'API. C'est vraiment couramment utilisé dans les bibliothèques comme EclipseLink, Hibernate et Toplink. Hibernate est le plus populaire et est antérieure à JPA, mais les différences ne sont pas si grandes.

JPA est une forme de l'ORM (object-relational mapper) de la projection d'un modèle d'objet sur une base de données relationnelle.

JPA est, dans mon expérience, utilisé beaucoup plus souvent que les EJB.

6voto

saddayforjava Points 105

le langage de programmation Java monde a pris avec les EJB/Spring/JPA, etc. un tournant pour le pire.

L'hypothèse de base derrière ces systèmes est que les développeurs de vis jusqu'à la conception, si chaque petit concept n'est pas imposée à eux. Il ya une certaine vérité à cela, comme beaucoup de développeurs après environ 5 ans de devenir des gestionnaires, de le nourrir de force les mêmes mots à la mode ils ont lu dans le dernier journal web descendre les gorges de l'embauche de nouveaux employés. Et boy oh boy, elle a tendance à engraisser la reprise! C'est important que ces décisions les décisions d'embauche sont souvent des personnes qui ont été promus après une semblable superficielle incursion dans la programmation et le mot d'ordre de l'endoctrinement. C'est pourquoi les projets échouent.

Les gens font des déclarations comme "EJB aide avec basculement". C'est absurde. Tous les dispositifs mis en place par un EJB solution (JMS, JPA, JNDI) d'augmenter la fiabilité dans la mesure où les développeurs ont fait quelque chose d'encore plus fiables si elles n'avaient pas adopté EJB et coll.

Bien sûr, un système qui se compose d'un dixième ou un vingtième du code, correctement écrite et adaptée à la tâche à la main sera plus fiable qu'un énorme mastodonte conteneur d'EJB avec la couche après couche de la merde en elle.

3voto

Phill Sacre Points 16238

Vous devriez faire une bonne enquête sur les Ejb avant de prendre une décision (c'est à dire via les ressources liées à cette page). Ils sont utiles en fonction de l'application que vous êtes en train de construire.

Ils fournissent l'accès distant et de prise en charge transactionnelle pour laquelle vous n'obtenez pas avec de simples Pojo.

En général, si vous êtes en train de faire à grande échelle "Entreprise" de développement, en utilisant les Ejb peut vraiment aider. Sinon, tenez-vous avec un cadre comme le Printemps.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X