Услуги EJB 3 против POJO в JSF 2 / Seam - PullRequest
1 голос
/ 27 ноября 2011

В чем разница между сервисами EJB 3 и POJO? Теперь, когда EJB легок и прост в разработке и хорошо работает с JPA?

1) Преимущества 2) Performace

Оба имеют встроенный EntityManager

Любые ссылки на результаты исполнения с сервисами EJB & POJO

Ответы [ 2 ]

1 голос
/ 27 ноября 2011

EJB3-сессионные компоненты могут считаться POJO в наши дни.

Если вы используете XML для включения сервисов, они в основном пропускают каждое определение POJO.Если вы используете аннотации, они проходят более слабое определение POJO.

Основное отличие от других сред, которые расширяют POJO сервисами (например, CDI), заключается в том, что в сервисах CDI могут применяться более мелкозернистые.С EJB-сессионными компонентами одна аннотация дает вам множество сервисов за один раз.Среднесрочным и долгосрочным планом, по-видимому, является модернизация EJB как набора услуг CDI (http://java.net/jira/browse/EJB_SPEC-26 является ярким примером этого, с конкретными примерами, такими как http://java.net/jira/browse/EJB_SPEC-1).

С другой стороны, если под «сервисами POJO» вы подразумеваете классы без каких-либо сервисов, применяемых к ним с помощью фреймворка (EJB, CDI, Spring и т. Д.), То ответ заключается в том, что эти сервисы, добавляемые фреймворком,общие вещи, которые в противном случае вам пришлось бы реализовывать самостоятельно.

Вы будете либо создавать свою собственную инфраструктуру, которая делает то же самое, но, возможно, не так хорошо, поскольку вы вряд ли будете работать только с этой структурой свся команда, ИЛИ вы снова и снова решаете эти проблемы в своих службах.Это загромождает их, делает их более многословными и, вероятно, означает, что вы будете копировать / вставлять их снова и снова.

0 голосов
/ 27 ноября 2011

EJB имеют бесплатные транзакции, жизненный цикл и перехватчики, тогда как POJO - нет.

...