25 października 2012

Ja z TomEE na JDD 2012 w Krakowie

Nie mam co do tego jakichkolwiek wątpliwości - krakowskie JDD na stałe wpisało się w harmonogram polskiej społeczności javowej, a ostatnie ruchy proidei ku umiędzynarodowieniu jej przynoszą wciąż niewielkie, ale zauważalne rezultaty. Wciąż jednak uważam, że JDD to bardzo lokalna konferencja, która jedynie przez swoje usytuowanie (Kraków) potrafi przyciągnąć uczestników i prelegentów. Na moje oko przewinęło się przez nią 200 osób w szczycie, a prelegenci wciąż nie zachwycają. Wciąż brakuje mi na niej nazwisk, które mogłyby gwarantować poziom wystąpienia i możliwość zamienienia słowa już po. Właśnie ta cecha konferencji, gdzie siedzę z prelegentami (częściej) i uczestnikami (rzadziej) sprawia, że JDD i inne konferencyjne propozycje inspirują mnie do dalszego rozwoju i poszukiwań.

Konferencja JDD 2012 trwa 2 dni - 25.10 (czwartek) i 26.10 (piątek) - ale ze względu na kolejne wyjazdy konferencyjne na Ukrainę na JavaDay musiałem zadowolić się jedynie pierwszym dniem i spotkaniem wieczornym dzień wcześniej. Podczas dnia konferencyjnego wystąpiłem z prezentacją o Apache TomEE, który jak zapewne uczestnicy już dobrze pamiętają, jest "zwykłym" Apache Tomcat plus dodatki. Owe dodatki sprawiają jednak, że pracujemy z certyfikowanym środowiskiem spełniającym wymogi specyfikacji Java EE 6 Web Profile (TomEE). Mamy również do dyspozycji edycje rozszerzone o JAX-RS (TomEE JAX-RS) czy JAX-WS i JMS (TomEE+). Jak możnaby to określić - dla każdego coś dobrego.

Tylko po co mi kolejny serwer aplikacyjny? I to jeszcze jakiś tam TomEE? Zajrzyj do prezentacji, a może coś jednak znajdziesz w TomEE dla siebie?



Gdyby zliczać liczbę wystąpień frazy "TomEE is Tomcat" to pewnie byłaby to najczęściej wspominana fraza podczas mojego wystąpienia. Moim założeniem było odpowiedzenie na pytanie "Dlaczego TomEE?" i mimo, że robiłem, co mogłem, to i tak na koniec padło pytanie "Po co mi TomEE?" :-) Możnaby zapłakać, ale faktycznie ucieszyłem się. W końcu kiedy to pytanie padło, to skoro padło, to znaczy, że niewystarczająco dobrze wyjaśniłem tę kwestię, a pytanie z tłumu posłużyło jako dodatkowy katalizator, aby inni zwrócili uwagę na moją odpowiedź, co życzyłbym sobie, aby było na samym początku. Siła pytania od publiczności uważam, że jest porównywalna z moimi staraniami, aby odpowiedź przebiła się do umysłów uczestników i każda pomoc mile widziana. Mam wrażenie, że teraz, po 50 minutach mojego wystąpienia, kilku zgodziłoby się na spędzenie kilku chwil z TomEE w swoich rozwiązaniach. Naprawdę warto, bo wszystko, co nowe rozwija, a praca z TomEE to praca z Tomcatem plus uzupełnienia do profilu webowego Java EE 6. Nie będę gołosłowny, kiedy powiem, że tworzenie aplikacji webowych z TomEE jest znacznie przyjemniejsze niż z czystym Tomcatem. Spróbuj i postaraj się skontrować moje tezy.

Nadmienię, że w zanadrzu mam(y) przecież jeszcze IBM WebSphere Application Server V8.5 Liberty Profile, którym jestem zafascynowany i który może wydawać się być łudząco podobny do Apache Tomcat czy Apache TomEE, ale faktycznie nimi nie jest i ma również swoje małe poletko, na którym rządzi niepodzielnie lub za chwilę będzie - patrz Enterprise OSGi i wykorzystanie kodów źródłowych pełnego WASa. To dla związanych z WASem stanowi niebagatelny powód, aby przystanąć w rzędzie korzystających z Liberty Profile. W końcu, jeśli docelowym środowiskiem uruchomieniowym będzie IBM WebSphere Application Server, to ostatnią rzeczą, jaką należałoby zrobić, jako programista, to korzystać z serwera alternatywnego, a najgorszym rozwiązaniem byłoby korzystanie z serwera o mniejszych możliwościach, chociażby na płaszczyźnie pełności wsparcia dla specyfikacji Java EE. Czyż praca z Tomcatem przed wejściem na WASa, to nie obdzieranie ze skóry możliwości WASa i obniżania wartości cech, które udostępnia?! Warto o tym pamiętać, na długo zanim zacznie się psioczyć na środowisko docelowe - może to być związane z niewłaściwymi oczekiwaniami, których sami jesteśmy autorem (!)

Jeśli chcesz spróbować się z WAS V8.5 Liberty Profile, zachęcam do lektury moich artykułów. Oferuję dodatkowo swoją pomoc (licząc, że sam ją również otrzymam). Ty zadajesz pytania, ja odpowiadam - wirtualnie przez artykuły, fizycznie, siedząc przy kompie ramię w ramię. Podejmiesz wyzwanie? Spotkania WJUGowe czekają :-)

Organizatorzy konferencji wraz z radą programową, w skład której wchodził m.in. ten Sławek Sobótka, pozwoliła mi na uchylenie rąbka tajemnicy o sensowność zastosowania TomEE. Okazało się, że pytanie o wdrożenie produkcyjne, które skwitowałem niemiłym ruchem ramionami na znak niewiedzy, już po moim wystąpieniu, sprowokowało jednego z uczestników do podzielenia się swoimi doświadczeniami w produkcyjnym użyciu TomEE. Jest jednak w Polsce produkcyjne wdrożenie, którego wyłącznym celem było przesyłanie plików za pomocą Web Services i Tomcat^H^H^H...ekhm...to znaczy TomEE...świetnie się do tego nadawał. Osoba rekomendująca nie miała problemów z wyborem po krótkim spotkaniu z TomEE. Działa i na to użycie sprawdza się znakomicie. Branża bankowa.

Mieć wybór - to lubię najbardziej! Jeśli wydawało Ci się, że świat kończy się na JBoss AS, Glassfish czy Tomcat, to teraz dorzucam jeszcze WAS V8.5 Liberty Profile, Apache TomEE, Apache Geronimo i jeszcze nie sposób nie wspomnieć o Oracle WebLogic Server czy Jetty. Mnogość rozwiązań może przerazić, a to pewnie i tak jedynie ułamek wiedzy, której się od nas wymaga.

A skoro o wiedzy, to podczas spotkania wieczornego, Kuba z Allegro pozwolił sobie przypomnieć mi o referencjach w Javie - Weak-, Soft- oraz PhantomReference. Zawsze jakoś odkładałem rozpoznanie ich na półkę z innymi rzeczami oczekującymi mojej uwagi, ale teraz zostałem przywołany do porządku i muszę usiąść nad nimi i zrozumieć ich zastosowanie w praktyce. W końcu to jedynie 5 klas z pakietu java.lang.ref (!) Znasz? Korzystasz? Podziel się wrażeniami! Zawsze to przyjemniej być prowadzonym przez bardziej doświadczone osoby.

Właśnie to najbardziej cenię sobie w możliwości udziału w konferencjach - bezpośredni kontakt z osobami, z którymi trudno byłoby mi się spotkać w innych sytuacjach. Jakkolwiek moim obecnym marzeniem byłoby omówienie TomEE i Liberty Profile, to sam TomEE dał mi również wiele satysfakcji. Był także miły wieczór w doborowym towarzystwie i było wystąpienie na drugi dzień - nie mogę narzekać. Tylko trochę żałuję, że nie mogłem zostać na imprezie integracyjnej z czwartku na piątek, bo wydawało mi się, że wielu mogłoby jeszcze zagadnąć mnie o sensowność TomEE, Liberty Profile czy wręcz Clojure. Szkoda.

Moje slajdy z prezentacji Apache Tomcat + Java EE 6 Web Profile = Apache TomEE znajdują się już na slideshare. Miłego oglądania i gorąco zachęcam do komentarzy. Kiedy dwóch rozmawia, to nierzadko prowokuje do konfrontacji aktualnej wiedzy, której kwestionowanie prowadzi do dalszego rozwoju. Skoro ciągła integracja jest tak ważna w naszej profesji, to można wnioskować, że ciągła integracja społeczna również. Czego Tobie życzę.

p.s. Nagrania z prezentacji mają się pojawić w Sieci wkrótce. Podobnie zdjęcia.

11 komentarzy:

  1. Chyba troche przesadziles Jacku z tym brakiem znanych prelegentow. Kogo Ci dokladnie brakowalo? Teda Newarda po raz n-ty? Neala Forda? Venkata? Mysle, ze "lokalna" konferencja z mniej znanymi ludzmi moze byc rownie dobra (chociaz JDD12 nie potrafie merytorycznie ocenic, bo nie bylem).

    Szczerze mowiac ja jestem juz troche znudzony sluchaniem w kolko tych samych "rockstars" ;) Zgadzam sie, ze JDD jest bardziej lokalnym eventem, ale chyba nigdy nie aspirowalo do ligi Devoxxa czy chocby Geecona.

    OdpowiedzUsuń
    Odpowiedzi
    1. Nie potrafię dokładnie wskazać kogo mi brakowało, ale wiem, że Ci, którzy byli nie sprawili, że chciałem się pojawić na ich wystąpieniach (piszę o zagranicznych prelegentach).

      Dobrze, że byli polscy prelegenci, bo ich (bez względu na markę) lubię posłuchać (może jedynie przez grzeczność lub sentyment). Niestety, kolejny raz nie uczestniczyłem w prezentacji Sławka i Waldiego, jak również Kuby i Wiktora, z tak prozaicznej przyczyny jak ostatnie poprawki do mojego wystąpienia. Zawsze sobie obiecuję zarzucić te usprawnienia na ostatnią chwilę, ale wciąż kończy się na obiecankach.

      Usuń
    2. Tak z ciekawosci - dlaczego nie sprawili, ze chciales sie pojawic na ich wystapieniach? Znasz ich i wiesz ze slabo to robia? Malo zachecajace tematy?

      Usuń
    3. Należy to położyć na barki stresu przed moim wystąpieniem, który zrobił swoje i przytrzymał mnie w pokoju do ostatniej chwili, a Wiktor występował równocześnie ze mną. Objaw ciągłego usprawniania slajdów i przemówienia.

      Nad tym pracuję, aby w dzień konferencji wjeżdżać wyluzowany i w pełni gotowy na potyczki słowne z innymi i pełny odsłuch.

      p.s. Teraz też siedzę przed kompem zamiast integrować się z ukraińskimi pobratyńcami. Ciągle jednak poprawiłbym coś w tych slajdach :( Już, już...

      Usuń
    4. Bardziej chodzilo mi o zagranicznych prelegentow, ktorzy skutecznie Cie zniechecili.

      Usuń
    5. Ach. Po prostu nie ta tematyka. Żaden z tematów nie miał w sobie czegoś przekonującego poza Jessica Kerr z "Functional Principles for Object Oriented Development", ale wtedy byłem w gorączce przygotowań do swojego wystąpienia i przegapiłem.

      Dodam, że uwagi dotyczą wyłącznie pierwszego dnia, bo kolejnego już nie miałem okazji doświadczyć - byłem w drodze do domu i na Ukrainę.

      Usuń
  2. Odnośnie "brakuje mi na niej nazwisk, które mogłyby gwarantować poziom wystąpienia"... to wg mnie nie jest wcale takie proste. Na tegorocznym Geeconie wprost roiło się od nazwisk które myślałem że swoim wystąpieniem wbiją mnie w krzesło. Ale Bruce Eckel nie powiedział absolutnie nic ciekawego, podobnie w sumie jak Ivar Jacobson oraz Gavin King... Zresztą, ta sama osoba potrafi przygotować bardzo ciekawą prezentację i bardzo przeciętną, czego dowodem choćby Jessica Kerr właśnie na JDD - z tego co słyszałem jej "Functional Principles" było na bardzo wysokim poziomie, a już "Android Essentials" raczej zbierało kiepskie opinie (przynajmniej no podstawie kilku głosów które słyszałem). Więc jak to zrobić, aby zapewnić wysoki poziom całej konferencji - to jest bardzo trudne pytanie.

    OdpowiedzUsuń
    Odpowiedzi
    1. Pełna zgoda. Każdemu osobno, aby wszystkim nic! Jako przykład wartościowej prezentacji przytoczę wystąpienie Simona Rittera nt. lambda w Java 8. Podobało się językowo i merytorycznie. Udało mi się również zaczerpnąć trochę z jego warsztatu prezenterskiego, co również kładę na plus wystąpienia. Czegoś takiego mi brakuje.

      Usuń
    2. Odnośnie Jessiki Kerr - całkowita zgoda, uważam że "Functional Principles" było znakomite, "Android Essentials" już co najwyżej poprawne. Chociaż nie raz zdarzało się, że ta sama prezentacja była oceniania bardzo różnie przez różne osoby. Na przykład słyszałem Jacku dość skrajne opinie na temat Twojego wystąpienia (którego osobiście nie wiedziałem), z jednej strony bardzo pozytywne ("jedna z najlepszych prezentacji na JDD, widać było ogromną energię i zaangażowanie u prowadzącego"), po dość negatywne ("wyszedłem w połowie, gość wszystko co ciekawe powiedział w ciągu pierwszych 5 minut, potem powtarzał już tylko 'TomEE is Tomcat', stwierdziłem że jak to usłyszę po raz 40ty, to oszaleję" ;-)).

      Usuń
  3. Jacku,

    Po pierwsze nie ogólnie z Allegro a konkretnie z PayU :)

    Po drugie, odnośnie referencji wylano już sporo wody, więc szanując Twój czas odsyłam do bardzo skrótowego, opisowego i jasnego artykuliku:
    http://mindprod.com/jgloss/phantom.html

    A jak będziesz miał chwilę przy porannej kawie wtedy polecam szerszy materiał:
    http://crazybobs-talks.googlecode.com/svn/trunk/out/references.pdf

    Pozdrawiam,
    Kuba

    OdpowiedzUsuń
    Odpowiedzi
    1. Linki odnotowane i po turnee konferencyjnym zabieram się za nie. Dzięki Kubo z PayU!

      Usuń