czwartek, 22 stycznia 2009

Visual VM oraz Hibernate Tools

Kolejną sekcją były prezentacje: Tools in Action

VisualVM - new extensible monitoring platform
- tak na prawdę nie ma o czym pisać, po prostu zostało przedstawione narzędzie i jakiś tam mały przykład. Prezentacja bardzo podobna do tej autorstwa Adam Dudczaka http://www.jug.poznan.pl/wp-content/uploads/2008/10/jmx.pdf. Nawet jeśli Kirk Pepperdine przedstawił jakieś tips'n tricks ja tego nie wyłapałem.

Making full use of Hibernate Tools - zaczęło się od przestrogi: "Don't overdo it". Max Rydahl Andersen pokazał działanie Hibernate Tools w JBoss Developer Studio. Podpowiadanie kodu w zapytaniach HQL i plikach .hbm, odpalanie zapytań bezpośrednio z IDE oraz duża ilość wizzardów do generacji różnych artefaktów wzbudziło zainteresowanie. Nie dało się ukryć, że nie wiele osób z widowni na bieżąco śledzi co się dzieje w Hibernate Tools.

Omówiono bardziej szczegółowo mechanizm generowania artefaktów za pomocą Hibernate Tools, a cały schemat jest przedstawiony na rysunku poniżej.


Centralną część stanowi meta model reprezentowany przez klasę org.hibernate.Configuration, i który to może zostać zbudowany na podstawie różnych źródeł: pliki .hbm, klasy java z adnotacjami (Hibernate lub JPA), połączenie JDBC do baza danych . Następnie meta model jest "obrabiany" za pomocą odpowiedniego exportera, który może generować określone artefakty, np. pliki .hbm, klasy JAVA z adnotacjami, schemat bazy danych oraz jego dokumentacje. Osobiście spodobała mi się wbudowana możliwość użycia biblioteki freemarker jako exportera - wystarczy jedynie stworzyć odpowiedni template. Dodatkowo Hibernate Tools daje możliwość dostępu do klas użytkownika z poziomu template, dzięki temu bardziej złożona logika generowania może zostać zawarta w javie a nie bezpośrednio w template.

Reszta prezentacji została poświęcona na różne aspekty związane z konfiguracją odczytywania meta modelu z bazy danych oraz mapowanie go do modelu Hibernate (reverse engineering strategy). Dostępna out-of-box strategia jest bardzo mocno konfigurowalna (nawet per tabela/kolumna), ale jeśli pojawią się specjalne wymagania to zawsze można stworzyć własną implementację.

Wszystko te mechanizmy są dostępne w JBoss Developer Studio lub JBoss Tools(plugin do eclipse) w postaci wizzardów, ale takze z poziomu anta. Max Rydahl Andersen zapewniał, że wszystko to co można "wyklikać" w JBoss Tools jest jednocześnie dostępne jako taski ant.

Brak komentarzy:

Prześlij komentarz