Poprawne podejście do aplikacji JEE

0

Cześć, zabieram się za tworzenie pierwszej aplikacji z wykorzystaniem java ee7.
Mam jednak kilka dylematów na które nie moge znaleźć odpowiedzi odnośnie poprawności wymyślonego przeze mnie szkieletu aplikacji.
Aplikacje mam podzieloną na 4 moduły:
EAR

WEB - wykorzystam JSF oraz komponenty CDI. Dodatkowo porobię obiekty które będą mi opakowywać encje bazodanowe ktore zostaną mi zwrócone z fasad z modułu ejb.

EJB - tutaj chcę trzymać fasady do których będę uderzał przy pomocy komponentów CDI z modułu webowego. Te fasady będą jedynym sposobem aby dobrać repozytorów, które będą operować na bazie.

JPA - drugi moduł ejb który będzie miał w sobie czyste encje z adnotacjami jpa oraz repozytoria, które będą wykonywać operacje CRUD na bazie.

Będę wdzięczy na informację czy takie podejście jest słuszne. Wszystko będę odpalał na Glassfish wbudowanym w NetBeans'a bazą będzie pewnie jakiś Postgres czy coś.

0

Nie wiem jakie jest słuszne podejście, ale mogę opisać jak ja bym to zrobił:
Jeden projekt + radial encapsulation (http://edmundkirwan.com/general/radial.html)

0

Pomysl wyglada ok, tylko ten modul JPA nie musi wcale byc modulem EJB, zastanow sie czy potrzebujesz te byty opakowujace twoje encje JPA - moze mozesz zywac te encje bezposrednio, oszczedzajac sobie mapowanie? Na koniec, moze zrob wszystko w jednym module web chyba ze naprawde potrzebujesz / chcesz EAR i osobne moduly.

0

Muszę mieć ear taki wymóg. Czyli w Waszej ocenie robienie oddzielnego modułu do jpa jest przekombinowaniem? Równie dobrze możę to wszystko siedzieć w module ejb?

0

Ogólnie lubię podział według ddd:

  • ui lub jak kto woli presentation - html,css, jsp
  • application - kontrolery jeśli cqrs podzielone na 2 moduły
  • domain - model, logika
  • infrastructure -baze, wysyłanie maili, kolejki

1 użytkowników online, w tym zalogowanych: 0, gości: 1