Witam,
Jak wiadomo w czasach JEE5 najczęściej stosowano DAO oparte o EJB. W dzisiejszych czasach pojawiają się opinie, że DAO warto realizować przez CDI, a cały projekt trzymać w archiwum .war, niekoniecznie .ear.
Osobiście jestem zwolennikiem DAO opartym o EJB ponieważ:
- jest trywialne, a IDE doskonale wspiera tworzenie tego typu obiektów
- działa out-of-the-box
- doskonale wspierane również w JEE7
- posiadanie kilku projektów składających się na ear jest wygodne, ponieważ dzięki temu kompozycja projektu jest lepsza (trochę jak z tworzeniem różnych pakietów do klas, które niekoniecznie są ze sobą związane)
Poza tym:
- w DAO EJB mam dostęp do timer service out-of-box
- łatwo mogę udostępniać interfejsy zdalne
- dependency injection jest trywialne (podobnie jak w CDI)
Pytania:
- Jakie są główne przyczyny zainteresowania ludzi DAO opartym o CDI?
- Jakie są zalety projektu .war nad projektem .ear?
Pozdrawiam,