В каких ситуациях используются EJB? Требуются ли они при разработке сайтов / веб-приложений?

Используются ли EJBS на веб-сайтах, поддерживаемых базой данных (которые доступны для всех)?

2 ответа

Решение

Ничего не требуется, конечно. Если бы вы хотели, вы могли бы создать веб-приложение как одну большую функцию на C CGI,

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

EJB не содержит никаких API-интерфейсов баз данных, но он очень хорошо интегрируется с JPA. Вы можете ввести EntityManager в нем исчезает требование запускать и фиксировать / откатывать транзакции самостоятельно. Это значительно упрощает ваш код.

Хотя вы можете поместить код, связанный с БД (JPA или JDBC), прямо в свои сервлеты или даже страницы JSP, эта практика обычно не одобряется. Сервлеты и JSP предназначены для отображения, и любая бизнес-логика или логика персистентности просто не существует. Очень практическая причина этого заключается в том, что вы не можете обратиться к середине страницы JSP, чтобы повторно использовать некоторую часть бизнес-логики.

Таким образом, разделение вашей бизнес-логики - это главное достоинство хороших веб-приложений, а EJB-компоненты являются назначенными компонентами для этого в Java EE.

Для получения дополнительной информации см. Эти два ответа на похожие вопросы:

Для роли EJB в общей картине архитектуры вашего веб-приложения:

EJB - это каркасные конструкции ( см. Здесь объяснение высокого уровня).

Вы можете использовать их во многих ситуациях, чтобы отделить задачи, такие как бизнес-логика, от других проблем, таких как хранение данных. Высокопоставленным конкурентом EJB (для контраста) является среда Spring.

Отвечая на ваш вопрос, нет, они НЕ ТРЕБУЮТСЯ для разработки веб-сайтов и веб-приложений, хотя они являются способом сделать это. Другими методами веб-разработки на Java являются Servlets, JSP.

Сервлеты являются наиболее простыми в коде. Его возможности ограничены, но для простых веб-приложений этого достаточно.

Другие вопросы по тегам