Prototype Podstawy AOP: konfiguracja, zastosowanie, przykład (Spring)
Aug 07

EJB 3 in Action 11 maja 2006 roku JSR 244 i jego pochodne uzyskały status Final Release i pojawiło nam się JEE 5.0. Blisko rok później, ukazała się długo oczekiwana książka wydawnictwa Manning traktująca o trzonie “piątki”. EJB 3 in Action jest jedną z pierwszych książek o Enterprise JavaBeans w wersji trzeciej, a także o nowym sposobie dostępu do baz danych – Java Persistence API 1.0.

Książka ukazała się na anglojęzycznych rynkach 15 kwietnia 2007 roku. Jest to całkiem obszerna “cegła” licząca 712 stron. Wydana prawie idealnie: świetna, dosyć duża czcionka; spore odstępy między liniami; dobrej jakości papier. Od razu rzuca nam się to w oczy, gdyż znacząco kontrastuje z polskimi wydawnictwami, gdzie literki są małe, a papier słaby. Książka podzielona została na 5 części:

  1. Overview of the EJB landscape
  2. Building business logic with EJB 3
  3. Diving into the Java Persistence API (JPA)
  4. Putting EJB 3 into action
  5. Migration and interoperability issues

Razem daje nam to 16, na tyle krótkich, rozdziałów, że każdy z nich przeczytać można jednym tchem w przeciągu 2 – 3 godzin.

Część pierwsza to spojrzenie na EJB z wysokości 20000 stóp oraz pierwsza aplikacja. Krótki opis tego z czym właściwie mamy do czynienia, opis poszczególnych typów beanów oraz klas entity. Znajdziemy tutaj też różnice, jakie pojawiły sie w stosunku do wersji 2.1 oraz poznamy podstawowe wykorzystywane adnotacje.

Pierwsze dwa akapity książki, opowiadają nam historie chłopca imieniem Sadhu, któremu Bóg podarował trzy życzenia. Chłopiec poprosił o trzy reinkarnacje: w biedronkę (żeby każdy na świecie podziwiał go za jego piękno i wybaczył to, że nic nie robi); w słonia (aby mógł zjeść ogromną ilość jedzenia i nie zostać wyśmianym); w krowę (aby być kochanym przez wszystkich i dla wszystkich użytecznym). Okazało się, że autorzy EJB 3 in Action widzą analogię pomiędzy reinkarnacją chłopca i reinkarnacją Enterprise JavaBeans. Wszyscy zachwycali się innowacjami EJB 1, ale także narzekali na jego duże ograniczenia. EJB 2 jest ciężkie jak słoń, a EJB 3 jest użyteczne jak krowa, która karmi nas wszystkich swoim mlekiem. Fajne ! ;)

Druga część książki przenosi nas w głębiny komponentów sesyjnych (tych stateless i tych stateful) oraz komponentów sterowanych komunikatami (MDB). Poznajemy cykl życia beanów oraz szczegółowo wnikamy w adnotacje. Wkraczamy w zaawansowany świat EJB: wstrzykiwanie zależności, JNDI, interceptory (czyli AOP w świecie EJB), transakcje, bezpieczeństwo i timer’y. Pojawiają się także wzmianki o wydajności. Wszystko wytłumaczone bardzo przystępnym językiem. Tutaj należy też wspomnieć, że mimo, iż książka jest napisana w języku angielskim, to stosowane słownictwo będzie zrozumiałe dla każdego, kto choć kilkanaście godzin spędził nad jakąś dokumentacją techniczną z zakresu j2ee.

Część trzecia to meandry JPA. Znajdziemy w niej dokładny opis tego, co można osiągnąć w świecie odwzorowań obiektowo – relacyjnych (nowości w Java Enterprise Edition 5.0) oraz jak w jaki sposób tego dokonać. Krok po kroku poznajemy zasady tworzenia aplikacji bazodanowych: modelowanie dziedziny, mapowanie obiektowo – relacyjne, manipulowanie danymi za pomocą EntityManager i na sam koniec API zapytań oraz język JPQL. Książka przedstawia w sposób wyczerpujący poruszaną tutaj tematykę.

Czwarta część książki wydaje mi się najciekawsza i konieczność jej przeczytania jest właściwie niezbędna. To w tym właśnie miejscu nauczymy się “sklejać” wiadomości z dwóch poprzednich części w jedną spójną całość oraz przeistaczać ją w działającą(!) aplikację.

Z rozdziału 12. dowiadujemy się jak należy zintegrować EJB z innymi warstwami aplikacji. Poznajemy wzorce projektowe:

  • Fasadę – pozwalającą ograniczyć ilość wywołań kierowanych z warstwy webowej do komponentów EJB, a co za tym idzie zwiększyć wydajność całej aplikacji;
  • EAO – czyli stare dobre Data Access Object lecz w nowej wersji z której, ze względu na to, iż obiekty Entity mają teraz charakter POJO, usunięto DTO/VO.

W tej części książki poruszane są także tematy związane z wydajnością oraz skalowalnością (radzenie sobie z “lockami” na obiektach entity, tworzenie klastrów itp.). Mój entuzjazm związany z tą częścią publikacji wiąże się także z faktem, że w książce Head First: EJB brakowało tego typu informacji, co zawsze rodziło we mnie agresje ;)

Ostatnia część EJB3 in Action to informacje na temat migracji z EJB 2 do EJB 3, wystawianie metod EJB 3 w postaci WebSerwice’u oraz integracja EJB 3/JPA ze Spring’iem. Ze względu, że nie czytałem tego wszystkiego zbyt dokładnie pozwolę sobie porzucić dalsze dywagację na ten temat ;)

W książce znajdziemy także 5 “dodatków”:

  1. Omówienie RMI i JNDI
  2. Wstęp do relacyjnych baz danych
  3. Dokładny opis wszystkich adnotacji
  4. Dokładny opis deskryptorów
  5. Instalacja i konfiguracja serwera Glassfish

Podsumowując z książki jestem zadowolony nawet bardziej niż bardzo. Cały czas przewijają się przez nią “Best practices”, które pomagają w rozwiązywaniu niejednego problemu napotkanego na naszej drodze. Książkę można nabyć poprzez serwis amazon.com za $45, lub już za $25,49 od jednego z partnerów. Osobiście wybrałem drugą z wymienionych opcji i do tej pory cieszę się z zaoszczędzonych 20 dolarów :)

Moja ocena EJB 3 in Action to 9/10 !

Podziel się z innymi:
  • Wykop
  • Digg
  • del.icio.us
  • StumbleUpon
  • Slashdot

One Response to “EJB 3 in Action”

  1. Michał Porzożyński Says:

    Dodam tylko, że korektę wykonał Michał Mally, za co bardzo dziękuje :)

Leave a Reply

Security Code: