Подтвердить что ты не робот

Разница между Джавабеем и EJB

Просто простой вопрос от относительного новичка Java:

В чем разница между JavaBean и EJB?

4b9b3361

Ответ 1

Java bean - это всего лишь набор условных обозначений. EJB является стандартом для бизнес-компонентов J2EE.

В частности, Java bean:

  • имеет стандартный конструктор по умолчанию;
  • читаемые методы свойств предшествуют "get";
  • свойства метода записи предшествует "set"; и
  • является Serializable.

Например, Java bean с свойством "margin" будет выглядеть примерно так:

public class MyBean implements Serializable {
  private int margin;

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

EJB, несмотря на название, почти полностью не связан.

Ответ 2

Взгляните на эту статью - JavaBeans vs Enterprise JavaBeans

РЕЗЮМЕ:

JB

JavaBeans использует подход низкого уровня для разработки многоразового программного обеспечения компоненты, которые могут использоваться для создание различных типов Java приложения (апплеты, автономные приложения и т.д.) в любой области.

EJB

Предприятие JavaBeans принимает высокоуровневый подход к строительству распределенные системы. Это освобождает разработчик приложений для концентрации по программированию только бизнес-логика удаляя необходимость писать все "сантехнический" код, который требуется в любое корпоративное приложение.

Ответ 3

  • JavaBeans могут быть видимыми или невидимыми во время выполнения. Для Например, компонент визуального GUI может быть кнопкой, списком поле, графику или диаграмму.

    EJB - это невизуальный удаленный объект.

  • JavaBeans предназначены для локального подключения к одному процессу и в первую очередь предназначены для работы на стороне клиента. Несмотря на то что можно разработать серверные JavaBeans, гораздо проще вместо этого создайте их, используя спецификацию EJB.

    EJB - это удаленные исполняемые компоненты или бизнес объекты, которые могут быть развернуты только на сервере.

  • JavaBeans - это компонентная технология для создания общих Компоненты Java, которые могут быть объединены в апплеты и приложений.

    Несмотря на то, что EJB - это компонентная технология, основывается на или расширяет исходную спецификацию JavaBean.

  • JavaBeans имеет внешний интерфейс, называемый свойствами интерфейс, который позволяет инструменту-строителю интерпретировать функциональность bean.

    EJB имеют дескриптор развертывания, который описывает его функциональности для внешнего инструмента-разработчика или среды разработки.

  • JavaBeans может иметь классы BeanInfo, редакторы свойств или настройщики.

    EJB не имеет понятия классов BeanInfo, свойство редакторов или заказчиков и не предоставляют дополнительной информации кроме описанного в дескрипторе развертывания.

  • JavaBeans не печатаются.

    EJB имеют два типа: сеанс beans и объект beans.

  • Нет явной поддержки для транзакций в JavaBeans.

    EJB может быть транзакционным, а серверы EJB предоставляют транзакционная поддержка.

  • Компонентные мосты доступны для JavaBeans. Например, JavaBean также может быть развернут как элемент управления Activex.

    EJB не может быть развернут как элемент управления ActiveX, поскольку Элементы ActiveX предназначены для работы на рабочем столе и EJB являются компонентами на стороне сервера. Однако CORBA-IIOP совместимость посредством сопоставления EJB-to-CORBA определяется OMG.

Ответ 5

Мне было очень сложно понять из принятого ответа, так что googled несколько ссылок и получили ниже ответа.

Enterprise JavaBeans (EJB) 3.1 это спецификации J2EE, которые инструктируют сервер (сервер приложений) развернуть кусок кода в контейнере EJB.

Технология EJB является серверной архитектурой компонентов для разработки и развертывания бизнес-приложений на основе компонентов. Технология EJB позволяет быстро и упростить разработку распределенных, транзакционных, безопасных и переносимых приложений на основе технологии Java EE 6.

На простом языке: Если вы создаете EJB и развертываете его на сервере, его можно вызвать удаленно (используя какой-либо метод, то есть поиск JNDI с использованием RMI) или локально (например, в приложении).

С другой стороны, Java beans, это простой простой Java-класс с геттерами и сеттерами, и этот класс сериализуется, ниже пример:

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

   public MyBean()
   {
   }

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

   public int getMyValue()
   {
      return theValue;
   }
}

Итак, это означает, что нет никакого сравнения между EJB и Java Beans, оба совершенно разные понятия.