W czasie mojej przerwy znalazłem czas na lekturę zaległych książek, m.in. Enterprise JavaBeans 3.0 wydanie 5. autorstwa Bill Burke oraz Richard Monson-Haefel. Autorzy to weterani rynku rozwiązań EJB począwszy od wersji 1.0, więc dobra zabawa gwarantowana. Pierwszy z nich - Bill to głównodowodzący projektem JBoss AS, w tym i kontenera EJB, a Richard był założycielem projektu Apache OpenEJB (jeszcze zanim ktokolwiek myślał o przystąpieniu do Apache Software Foundation), który jest implementacją specyfikacji EJB3. Odzwyczaiłem się od czytania książek informatycznych bez dostępu do komputera, więc jest to dla mnie nie lada wyzwanie. Książka wciąga, wyjaśnia zawiłości EJB3, jednakże nie uchroniła się od wielu merytorycznych błędów, w których prym wiedzie wykorzystanie konwencji zapytania JPQL (aka EJBQL) bazując na uproszczonej notacji dostępnej w Hibernate, czyli zapytania bez obowiązkowej klauzuli SELECT, np. FROM Employee e. W EJBQL jest to niedopuszczalne, podczas gdy Hibernate EntityManager pozwala na takie uproszczenia. Uwag jest wiele, ale nie zamierzam ich publikować zanim nie zakończę lektury książki i planuję przedstawić je w postaci recenzji (w ten sposób jako grupa Warszawa JUG mamy prawo o ubieganie się o kolejne pozycje całkowicie za darmo. Zapraszam do Biblioteki Warszawskiego JUGa). A na zakończenie promocji książki dodam, że wyszło jej polskie tłumaczenie - Enterprise JavaBeans 3.0. Wydanie V wydawnictwa Helion. Patrząc na oceny polskiego tłumaczenia książki - jedna trójka - zastanawiam się, czy głosowano na jakość tłumaczenia, czy samej merytorycznej zawartości książki? W/g mnie ocena nieadekwatna względem wydania angielskojęzycznego. Książkę widziałem w piątek w Traffic Club na Brackiej (Warszawa).
Właśnie dzisiaj zgłoszono problem z implementacją EJB 3.0 w wykonaniu Apache Geronimo 2.0.1, a właściwie Apache OpenEJB, który jest kontenerem EJB 3.0 w Geronimo - Stateless Session EJBs cannot contain a remove() method. Postanowiłem tym samym upiec dwie pieczenie na jednym ogniu (dla dociekliwych wersja angielska tego powiedzenia nie dotyczy pieczeni a ptaków i rzucania w nich kamieniami: kill two birds with one stone) - doszukać się informacji o metodzie remove() i napisać poprawkę. Padło na rozdział 3 zatytułowany Strona kliencka ziarna sesyjnego specyfikacji EJB Core Contracts and Requirements. Specyfikacja EJB Core Contracts and Requirements jest podstawowym źródłem wiedzy nt. EJB3, a w razie niejasności wyjaśnieniem służy implementacja referencyjna (ang. reference implementation) w postaci serwera GlassFish. Nim się również zajmę, aby przygotować przykład demonstrujący użycie, bądź jego braku, metody remove() jako metody biznesowej (wciąż nie wiem, czy użycie remove w tym trybie jest możliwe). Zacznę od specyfikacji, ale już nie dzisiaj (urlop rozleniwia).
Natrafiłem dzisiaj w Empiku na gazetę Software Developer's Journal wydanie wrześniowe i nie ukrywam, że zawarte tematy wydały mi się warte jej zakupienia, przede wszystkim ASM i JBoss Seam (nie, nie kupiłem ostatecznie jej, ale to inna historia). Zacząłem czytać o ASMie i przypomniała mi się prezentacja Piotra Kobzdy na JAVArsovi (wciąż czekam na trochę czasu, aby poważniej przyjrzeć się ASM, a Piotrek przedstawił temat w bardzo przystępny sposób). Pozostałe artykuły z dużym zainteresowaniem przejrzałem. Ech, gdyby nie córka, która mnie wygnała z Empiku, przeczytałbym gazetę od deski do deski. Piotr Maj zwykł przedstawiać recenzję gazety na Java Developer's Network, więc tylko czekać na jego powrót z wakacji i zapoznać się z jego spojrzeniem na zawartą tematykę.
Nadeszła pora, aby pomyśleć o kolejnych spotkaniach Warszawa JUG i przyszłej jesiennej konferencji. Jest już nazwa, więc pozostaje zarezerwować domenę i ogłosić przygotowania. Niebawem więcej informacji.
Skoro przy konferencjach, to nadchodzi Java Developers Day 2007 - 26. października w Krakowie. Po powrocie z urlopu znalazłem zaproszenie na konferencję od organizatorów i to w roli prelegenta!
Słyszeliśmy o Pana świetnym wystąpieniu na SFI w Krakowie i w związku z tym zastanawiamy się, czy nie ma Pan ciekawego pomysłu na prezentację podczas naszej konferencji. Gdyby był Pan zainteresowany, proszę o kontakt.
Zabawny jest fakt, że dzień wcześniej dowiedziałem się o organizacji JDD 2007 i zastanawiałem się jakby tu przekonać organizatorów o moim udziale i jakie tematy zaprezentować. Szczęśliwie nie musiałem długo myśleć o wymyślnych technikach perswazji i ostatecznie zaproponowałem 3 tematy:
- Tworzenie aplikacji Java EE z Apache Geronimo 2
- Technologiczna strona SOA - Service Component Architecture w wykonaniu Apache Tuscany
- Tworzenie wtyczek Apache Maven 2 w języku Groovy
I na koniec - na prośbę Adama Czyściaka - pojawił się egzamin Sun Certified Enterprise Architect (SCEA) 5 i to całkowicie za darmo - FREE: SCEA 5 Beta Certification Exam (Three Parts). Na razie w wersji BETA, ale podobnie jak miało to miejsce podczas bety SCBCD5 zaliczenie egzaminu to zaliczenie jego wersji finalnej. Warto rozważyć uczestnictwo w egzaminie, skoro jest za darmo, nieprawdaż? Pisze się ktoś? Ja na pewno!
I mimo, że raz już zadeklarowałem koniec tym razem temat na koniec - NetCAT 6.0, czyli NetBeans 6.0 Community Acceptance Testing (NetCAT). Uczestniczyłem w NetCAT 5.0, 5.5, więc i tym razem nie mogłem odmówić sobie przyjemności zgłoszenia swojej kandydatury do programu. Ogłoszenie nominowanych odbędzie się w nadchodzący poniedziałek. Czekam z niecierpliwością, choć nie z założonymi rękoma.
Wyszła również wersja finalna GWT 1.4, ale skoro miał być koniec to kończę. O pozostałych ciekawostkach później - będzie jeszcze sporo czasu.
Tym samym kończę swoje urlopowanie. Zakasuję rękawy - zabieram się za kontynuowanie rozpoznania EJB3 i wzbudzenie Warszawa JUG z wakacyjnego letargu.
Witamy spowrotem :) Czasem mam wrazenie Jacku, ze jestes jedyna osoba, ktorej to upraszczanie EJBQLa przeszkadza (na swiecie :-) ).
OdpowiedzUsuńDo zobaczenia wkrotce na JUGach...