2009-09-01 2 views

ответ

33

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

В частности Ява боб:

  • имеет конструктор по умолчанию общественного;
  • Методы считываемых свойств предшествуют «get»;
  • методы, доступные для записи, предшествуют «множеству»; и
  • Serializable.

Например, боб Java со свойством «запасом» будет минимально выглядеть следующим образом:

public class MyBean implements Serializable { 
    private int margin; 

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

EJB, несмотря на название, это почти никак не связано.

+0

В JavaBeans есть немного больше (например, у вас может быть класс BeanInfo), но это часть широко используемого JavaBeans. –

+12

Можете ли вы объяснить, что такое EJB в дополнение к тому, чего нет? – allyourcode

+2

Вы можете улучшить раздел EJB, пожалуйста, – shareef

11

Посмотрите на эту статью - JavaBeans vs Enterprise JavaBeans

РЕЗЮМЕ:

JB

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

EJB

Enterprise JavaBeans использует подход высокого уровня для построения распределенных систем. Он освобождает разработчика приложения , чтобы сконцентрировать на программировании только бизнес-логики , при этом необходимо удалить все «сантехнический» код, который требуется в любом приложении предприятия.

+0

Этот ответ содержит полезную информацию, но не полную. –

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

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

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

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

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

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

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

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

  5. JavaBeans может иметь BeanInfo классы, редакторы недвижимости или заказчики.

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

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

    EJBs двух типов - сессионные бобы и сущности.

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

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

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

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

+0

Что вы подразумеваете под сессионными бобами и сущностями? –

4

Я нашел немного громоздким, чтобы понять из принятого ответа, так что в него было добавлено несколько ссылок и получено ниже ответа.

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, оба совершенно разные концепции.

Смежные вопросы