Enterprise JavaBeans - что это

Enterprise JavaBeans (также часто употребляется в виде аббревиатуры EJB) — спецификация технологии написания и поддержки серверных компонентов, содержащих бизнес-логику. Является частью Java EE.

Enterprise JavaBeans обычно применяется, когда бизнес-логика требует как минимум один из следующих сервисов, а часто все из них:

  1. поддержка сохранности данных (persistence); данные должны быть в сохранности даже после остановки программы, чаще всего достигается с помощью использования базы данных
  2. поддержка распределённых транзакций
  3. поддержка конкурентного изменения данных и многопоточность
  4. поддержка событий
  5. поддержка именования и каталогов (JNDI)
  6. безопасность и ограничение доступа к данным
  7. поддержка автоматизированной установки на сервер приложений
  8. удалённый доступ

Каждый EJB-компонент является набором Java-классов со строго регламентированными правилами именования методов (верно для EJB 2.0, в EJB 3.0 за счет использования аннотаций выбор имён свободный).

Бывают трёх основных типов:

  1. объектные (Entity Bean) — перенесены в спецификацию Java Persistence API
  2. сессионные (Session Beans), которые бывают
    • stateless (без состояния)
    • stateful (с поддержкой текущего состояния сессии)
    • singleton (один объект на все приложение; начиная с версии 3.1)
  3. управляемые сообщениями (Message Driven Beans) — их логика является реакцией на события в системе