Mam umiarkowanie złożoną aplikację korzystającą z POJO, a teraz przyjmuję ją do migracji do EJB3.1, dzięki czemu można ją wdrożyć online, dostęp do niej za pośrednictwem usług REST i korzystanie ze środowiska kontenerowego (trwałość jest najważniejsza, ale transakcje byłyby użyteczne także).Java EE 6 - wzór trwałych obiektów domenowych - jakieś sukcesy?
Byłem z dala od Java EE od czasów J2EE, i walczę o to, aby zrozumieć moją "stratę" fasoli encji. Zajęło mi trochę czasu uświadomienie sobie, że Encje w EJB3.1 nie są tak naprawdę fasolami w starym sensie ... :) Czytałem wiele książek EJB3, w tym podręcznik "Java" 3.1 Java "O'Reilly Enterprise", z których wszystkie wyjaśniają koncepcje i komponenty EJB3, ale nie opcje wzorca implementacji.
W moich badaniach i dochodzeniach poszukujących wzorów Java EE 6, jestem raczej przyjęta przez podejście Adama Biena - szczególnie wzór "Persistent Domain Objects" (PDO) (w swojej książce, ale także skrócony tutaj: http://download.java.net/general/podcasts/real_world_java_ee_patterns.pdf), który pojawia się oferować najmniejszą złożoność i największą synergię z moją obecną aplikacją POJO. ChNP również ściśle dostosowuje się do tradycyjnych filozofii i podejścia zorientowanego na obiekt i naprawdę mi się podoba.
Zamiast zastanawiać się nad debatą na temat ChNP, chciałbym usłyszeć od osób, które ją wdrożyły i co zadziałało, a które napotkały trudności. W szczególności chciałbym dowiedzieć się, w jaki sposób nawiązano połączenia z z jednostek WZP na inne usługi w kontenerze (np. Połączenia z bezstanowymi zasobami sesji itp.).
Chciałbym również wiedzieć, czy istnieją alternatywy dla wzorca PDO, które pozwalają mi zachować strukturę aplikacji (używając polimorfizmu itp.) Bez konieczności tworzenia komponentu bean sesji i jednostki JPA dla każdej klasy w moim modelu. (Nie chcę tego robić częściowo z powodu ogromnych ćwiczeń wymaganych do refaktoryzacji wszystkich testów jednostkowych i integracyjnych, a częściowo dlatego, że - o ile widzę - skończę próbować replikować moją 1toMany w całej mojej fascynacji sesyjnej, która wydaje się szalona).
Czy ktoś ma jakieś doświadczenia dzielić się - lub jeśli chcesz, aby podkreślić, że jestem idiotą i coś przeoczyć podstawowych w Java EE 6, która byłaby „mile widziane” zbyt :)
TIA
Gratulujemy poprawki! Jeśli jesteś w stanie, upewnij się, że Twoja odpowiedź jest oznaczona jako "zaakceptowana", aby inni mogli zobaczyć odpowiedź na Twoje pytanie i nauczyć się z Twojego rozwiązania. Pozdrawiam ~ –