niedziela, 16 czerwca 2013

Oracle ADF Design & Architecture Principles Training – moje subiektywne wrażenia

W tym tygodniu miałem przyjemność uczestniczyć w 5-cio dniowym szkoleniu zorganizowanym przez Oracle dla swoich pracowników i partnerów. Ta się składa, że mój obecny pracodawca jest jednym z  partnerów Oracle w Polsce, w związku z czym, nie omieszkałem wykorzystać okazji i wraz z kolegą z naszego Oracle Competence Center udaliśmy się do stolicy. Już same nazwiska prowadzących zapowiadały wysoki poziom zajęć. Szkolenie prowadzili sami mistrzowie ze szkoły Jedi :) - Frank Nimphius i Chris Muir. Z oboma panami znam się od ładnych paru lat z community,  ale nigdy nie mieliśmy okazji poznać się osobiście. Tym bardziej więc nie mogłem się doczekać, bo co innego dyskutować mailowo lub na forum, a co innego wymienić opinie bezpośrednio.
Pierwsze co zaskoczyło mnie na wejściu to nieobecność programistów z polskich partnerów Oracle - trochę to dziwne. Zjechali się natomiast ADF'owcy z całej Europy i to było super, ze względu na możliwość wymiany doświadczeń.
Ale do rzeczy. Szkolenie miało formę prezentacji tematycznych i dyskusji. Nie było hands-on lab'ów i dobrze, bo ilość materiału z jaką przyjechali prelegenci byłaby nie do przekazania w 5 dni. Omawiane zagadnienia nie dotyczyły problemów typu how-to. Advanced i complex to były słowa klucze do wszystkich omawianych problemów.
Tematy, o których poniżej, to subiektywny wycinek całości, zasługujący na szczególną uwagę. Aczkolwiek muszę podkreślić - nie było zagadnień niepotrzebnych czy o charakterze marketingowym - czyste techniczne tematy.

Budowanie zespołu Application Development Framework

Tutaj wszyscy mieli podobne doświadczenia i byli zgodni co do jednego. Jest problem z doświadczonymi programistami, którzy przychodzą ze świata Hibernate i Spring. Zamiast szukać rozwiązań w ramach frameworka implementują własne rozwiązania. Konkluzja na koniec była taka, że chyba lepiej brać niedoświadczonych ludzi do zespołu :). To co powinni umieć na początek to SQL (dobrze), Java (na poziomie podstawowym), podstawy JEE (oczywiście JSF obowiązkowo).


ADF Architectural Patterns

Temat bardzo ważny z punktu widzenia architekta aplikacji. Chris omawiał różne podejścia do budowy struktury projektu, wszystkie za i przeciw. Część omawianych zagadnień można odsłuchać i obejrzeć na jego screancaście "Angels in the ADF Architecture".

Task Flow Data Control Scope Options and Task Flow Transaction Options


Temat rzeka i naprawdę złożony. Widoczne na pierwszym obrazku lista rozwijalna i checkbox, w różnych kombinacjach całkowicie zmieniają mechanizm zarządzania transakcjami i połączeniami do bazy danych. Ja wreszcie dowiedziałem się co to jest Current Data Control Frame :). Zagadnienie z kategorii absolutely must know. Dokumentacja jak przyznał sam prowadzący jest niestety słaba jak herbata w akademiku. Na szczęście główne problemy opisał na "Oracle ADF Architecture Square".

Task Flow Communication Patterns

Temat zaawansowany. Nie jest obowiązkowy ale warto i wypada znać. Jedyne czego zabrakło mi w zakresie to omówienie wzorca "Dynamic Tabs UI Shell Template Functional UI Pattern". Zainteresowanych odsyłam do artykułów Franka na OTN. Jest tam większość omawianych zagadnień.

ADF Region Interaction Functional Pattern
Contextual Events Introduction
Master- commander: reusable contextual event solution
Contextual Events: Callback pattern
Parent view initializing region navigation

Service Integration Architectures and ADF Service Architectures

Jeden z najbardziej interesujących mnie tematów. Jak budować aplikację ADF opartą o usługi Web Services. Tak naprawdę ścierają się tutaj dwie koncepcje i możliwości. Można zawrapować proxy w komponenty biznesowe i pracować tak jakby pod spodem była baza danych. Można też wygenerować ADF Data Controls dla Java Beanów. Nie mam zdania co jest lepsze. W pierwszym wypadku zyskujemy łatwość tworzenia GUI. Należy jednak pamiętać, że BC to framework stworzony do komunikacji z bazą danych z nie bezstanowymi usługami. Trzeba dysponować zaawansowaną wiedzą, żeby dostosować działanie BC do Web Service'ów. Obszerna dyskusja nad właściwym podejściem toczyła się już zresztą wcześniej na ADF  Enterprise Methodology Group (Best practices for ADF Frontend on top of OSB or SOA Suite). Konkluzja Franka była następująca: Oracle używa obu podejść. On osobiście preferuje podejście POJO Proxy, szczególnie, że można tam zapiąć Coherence.
To zagadnienie potraktowałem jako ciekawostkę. ADF Business Components mają możliwość wystawiania w postaci SDO Web Services. Podobno zostało to już dopracowane i nie ma błędów.

Więcej o ADF i WS można poczytać i posłuchać tutaj:

Oracle Magazine "Service Please" By Frank Nimphius
Oracle Magazine "Consume Early, Consume Often" By Frank Nimphius
Best Practices for Integrating SOAP and REST services into Oracle ADF

Application Customization and MDS


Temat kastomizacji aplikacji z wykorzystaniem Metadata Services (MDS) został potraktowany przez Franka bardzo obszernie i kompleksowo. Okazało się jednak, że w rzeczywistości nikt tego nie używa w praktyce poza WebCenter. Cóż, obawa o performace? Dodatkowe koszty projektu w stosunku do tego co się zyskuje? Ja osobiście widzę pewne istotne zastosowanie ale może o tym przy innej okazji.

Architecting for ADF Mobile Integration

ADF Mobile to chyba najmłodsze dziecko Oracle. Zagadnienie w zasadzie na osobne szkolenie. Tak, da się w ADF robić aplikacje mobilne. Co więcej jest do dość łatwe dla ludzi ze znajomością framework'a. Chris pokazał to na żywo w 10 min. (jedyne demo przez całe 5 dni). Zagadnienie w zasadzie na osobne szkolenie.

Error Handling

Gruby temat jeśli chce się to zrobić porządnie. W zasadzie obowiązkowe do zapoznania się: Oracle Magazine "Catch Me If You Can" By Frank Nimphius

Programming Best Practices

Wzorce, wzorce i jeszcze raz wzorce. Wrócił temat pisania kodu obok framework'a i zakresu umiejętności developerów. Dziedziczenie vs. klasy narzędziowe. W zasadzie tematy obowiązkowe dla każdego ADFowca.

Afterpaty :)

Goście zafascynowani byli Warszawą i polskim jedzeniem. Potwierdziła się też teoria, że nasze piwo i Żubrówka likwidują wszystkie bariery językowo-kulturowe :).


Podsumowanie

To było super 5 dni. Chyba jedno z najlepszych i najbardziej merytorycznych szkoleń na jakich byłem.

Brak komentarzy:

Prześlij komentarz