01 marca 2007

Przepis na środowisko do praktycznego poznawania JPA

Właśnie ukończyłem pisanie kolejnego artykułu, który jest opisem moich doświadczeń z integracji różnych projektów w celu zestawienia środowiska dla urozmaicenia lektury specyfikacji JPA. Z jego pomocą zamierzam jednocześnie czytać i programować, tj. tworzyć własne komponenty encyjne oraz wykonywać testy jednostkowe z nimi w roli głównej.

Nie tak dawno pisałem (a może jedynie myślałem o tym) o popróbowaniu się z TestNG. Było to w momencie, kiedy powracałem do lektury specyfikacji Java Persistence API (JPA), więc pomyślałem o połączeniu przyjemnego z pożytecznym, czyli o możliwości jednoczesnego testowania tego, co czytałem. Można było również inaczej postawić problem - najpierw próbować się z JPA, a później szukać wyjaśnień jej działania wertując kartki specyfikacji. Tak, czy owak nie chciałem jedynie relacjonować specyfikacji JPA, ale również prezentować możliwe zastosowania. Sprowokowało mnie to do zestawienia środowiska, w którym będę tworzył moje komponenty encyjne i aplikacje korzystające z nich oraz posiadał mechanizm wykonywania testów. Skoro dotykałem JPA to konieczna była baza danych - padło na Apache Derby. Do tego dorzuciłem Apache Maven 2 jako narzędzie spinające całość (i dostarczające wielu niewykorzystanych acz wielce produktywnych funkcjonalności), z Eclipse IDE w tle, co ostatecznie przemieniło się w bardzo produktywne środowisko do poznawania JPA w niezwykle praktyczny sposób - tworząc testy jednostkowe w trakcie lektury specyfikacji.

Początkowo miała to być jedynie relacja z moich doświadczeń, ale nie długo trwało zanim zorientowałem się, że wielkość materiału przekracza ramy relacji i wymaga stworzenia artykułu, co uczyniłem.

Jest to środowisko, które uatrakcyjni moją lekturę specyfikacji. Robi się w końcu coraz trudniej i możliwość zobaczenia tego, co się czyta wierzę, że jest ciekawym pomysłem na niwelowanie potencjalnych wybojów. Konfiguracja środowiska z wykorzystaniem JPA z Apache OpenJPA i Apache Derby oraz Apache Maven 2 i TestNG zapewnia mi powtarzalność wykonywania testów i jest jednocześnie ciekawym urozmaiceniem pogłębiania znajomości JPA. Tak "uzbrojony" jestem gotów do podjęcia się wyzwania rozpoznawania specyfikacji Java Persistence API w praktyce!

Artykuł zatytułowany jest Java Persistence API z OpenJPA i Derby oraz TestNG z Eclipse IDE w tle.