Différence entre Javabean et EJB [dupliquer]

cette question a déjà une réponse ici:

Juste une simple question d'un parent Java débutant:

Quelle est la différence entre un JavaBean et un EJB?

39
demandé sur LRE 2009-09-01 14:44:57

5 réponses

Java bean est juste un ensemble de conventions. EJB est une norme pour J2EE business components.

Spécifiquement un Java bean:

  • a un constructeur par défaut public;
  • méthodes de propriété lisible précède avec "get";
  • écriture de la propriété méthodes précède avec "set"; et
  • est sérialisable.

par exemple, un haricot Java avec un la propriété de "margin" ressemblerait minimalement à ceci:

public class MyBean implements Serializable {
  private int margin;

  public MyBean() { }
  public int getMargin() { return margin; }
  public void setMargin(int margin) { this.margin = margin; }
}

EJB, malgré le nom, est presque complètement sans rapport.

33
répondu cletus 2016-02-01 16:20:38

regardez cet article - JavaBeans vs Enterprise JavaBeans

résumé:

JB

JavaBeans adopte une approche de bas niveau au développement de logiciels réutilisables composants pouvant être utilisés pour construire différents types de Java applications (applets, stand-alone) apps, etc.) dans n'importe quel domaine.

EJB

entreprise JavaBeans prend un approche de haut niveau de la construction les systèmes distribués. Il libère l' développeur d'applications à concentrer sur la programmation seulement la logique métier tout en supprimant le besoin d'écrire tout le code" plomberie " qui est exigé dans n'importe quelle application d'entreprise.

11
répondu adatapost 2009-09-01 11:16:33
  1. JavaBeans peut être visible ou nonvisible au moment de l'exécution. Pour exemple, le composant graphique visuel peut être un bouton, une liste encadré, graphique ou graphique.

    un EJB est un objet distant non visuel.

  2. les Javabéens sont destinés à être locaux pour un seul procédé et sont principalement destinés à fonctionner du côté du client. Bien développement côté serveur Ejb, il est beaucoup plus facile les développer à l'aide de L'EJB spécification à la place.

    EJB sont à distance des composants exécutables ou d'affaires les objets qui peuvent être déployées sur le serveur.

  3. JavaBeans est une technologie de composants pour créer Générique Les composants Java qui peuvent être composés ensemble en applets et les applications.

    même si EJB est une technologie de composants, il ne s'appuie sur la spécification originale de JavaBean et ne la complète pas.

  4. JavaBeans ont une interface externe appelée les propriétés interface, qui permet à un outil de construction d'interpréter le fonctionnalité du haricot.

    les EJB ont un descripteur de déploiement qui décrit fonctionnalité d'un outil de construction externe ou IDE.

  5. JavaBeans peut-être BeanInfo classes, la propriété des éditeurs ou des Customizer.

    les EJB n'ont aucun concept de BeanInfo catégories, biens réviseurs ou personnalisateurs et ne fournir aucune information supplémentaire autre que celle décrite dans le descripteur de déploiement.

  6. JavaBeans ne sont pas typés.

    EJBs sont de deux types - les haricots de session et les haricots d'entité.

  7. aucun soutien explicite n'existe pour les transactions en JavaBeans.

    EJB peut être transactionnel et les serveurs EJB fournir prise en charge transactionnelle.

  8. Les ponts composants
  9. sont disponibles pour les Javabéens. Par exemple, un JavaBean peut également être déployé en tant que contrôle Activex.

    un EJB ne peut pas être déployé en tant que contrôle ActiveX parce que Les contrôles ActiveX sont conçus pour fonctionner sur le bureau et Les EJB sont des composants côté serveur. Cependant CORBA-IIOP la compatibilité via le mapping EJB-to-CORBA est définie par le OMG.

7
répondu Charu Jain 2016-09-21 14:58:41

Je l'ai trouvé peu encombrant à comprendre de la réponse acceptée ainsi googlé peu plus de liens et obtenu ci-dessous la réponse.

Enterprise JavaBeans (EJB) 3.1 il s'agit de J2EE specifications qui donne instruction à server ( application server ) de déployer un morceau de code dans EJB Container .

la technologie EJB est l'architecture de composants côté serveur pour le développement et le déploiement d'applications commerciales basées sur des composants. La technologie EJB permet le développement rapide et simplifié d'applications distribuées, transactionnelles, sécurisées et portables basées sur la technologie Java EE 6.

en langage simple: Si vous créez un EJB et le déployez sur le serveur, il peut être appelé à distance (en utilisant une certaine technique, c.-à-d. la recherche JNDI en utilisant RMI) ou localement (c.-à-d. dans une application).

d'autre part, Java beans , est une classe Java simple avec getters et setters et cette classe est sérialisée, ci-dessous est l'exemple:

public class MyBean implements java.io.Serializable
{
   protected  int theValue;

   public MyBean()
   {
   }

   public void setMyValue(int newValue)
   {
      theValue = newValue;
   }

   public int getMyValue()
   {
      return theValue;
   }
}

donc, cela signifie qu'il n'y a pas de comparaison entre les haricots EJB et Java, tous les deux sont des concepts totalement différents.

4
répondu Vishrant 2016-05-19 05:57:08