Adresaci szkolenia

Szkolenie adresowane jest do programistów mających praktyczne doświadczenia z Java Server Faces, pragnących poznać bardziej zaawansowane techniki pracy z JSF.

Cel szkolenia

Celem szkolenia jest praktyczne poznanie zaawansowanych technik programistycznych umożliwiających rozwiązywanie bardziej złożonych problemów na jakie napotyka się tworząc aplikacje oparte o JSF.

Kluczowe zagadnienia:

  • Tworzenie kodu z wykorzystaniem reguły DRY (w szczególności własne komponenty i ich ponowne użycie)
  • Tworzenie własnych walidatorów, konwerterów oraz zdarzeń
  • Obsługa walidacji oraz wyświetlania danych w relacjach rodzic-dziecko (posiadanie wielu list wyboru na jednym formularzy, które są zależne od siebie)
  • Nawigacja, w szczególności tworzenie zakładek (bookmarkable urls/buttons) i url-i przyjaznych dla użytkownika oraz wyszukiwarek (user-friendly urls, seo-friendly urls)
  • Wykorzystanie JavaScript (JavaScript, JQuery, ClientBehavior) do tworzenia bardziej złożonego interfejsu użytkownika
  • Praktyczne porównanie bibliotek Javascript min. JQuery, Prototype, Dojo w kontekście użycia w aplikacji JSF
  • Tworzenie struktur danych przyjaznych dla JavaScript (JSON) i wykorzystanie ich w JSF

Mocne strony szkolenia

Szkolenie skupia się na zagadnieniach, które bardzo często postrzegane są jako problematyczne, kłopotliwe do zaprogramowania z wykorzystaniem JSF. Każdy programista mający styczność z JSF prędzej czy później orientuje się, że JSF jak każda technologia ma swoje mocne i słabe strony i że nie wszystko da się zrobić niejako automatycznie i z wykorzystaniem podstawowych mechanizmów jakie oferuje JSF. Umiejętność rozwiązywania pewnej grupy problemów wymaga jednak posiadania głębszej wiedzy na temat funkcjonowania JSF i bieżące szkolenie ma na celu dostarczenie niezbędnych informacji w tym zakresie.

Wymagania:

Od uczestników szkolenia wymagana jest umiejętność programowania w języku Java (do poznania na kursie J/JP), znajomość podstawowych zagadnień związanych z Java Server Faces (do poznania na kursie J/JSF2) oraz podstawowa znajomość Javascript.

Parametry szkolenia

4*8 godzin (4*7 godzin netto) wykładów i warsztatów (z wyraźną przewagą warsztatów).

Wielkość grupy: maks. 8-10 osób.

Program szkolenia

  1. Wstęp
    1. Przypomnienie podstawowych koncepcji JSF
    2. Praktyczne zapoznanie się z aplikacją która będzie punktem wyjścia do ćwiczeń realizowanych w ramach szkolenia
    3. Przypomnienie (z wykorzystaniem aplikacji tam gdzie jest to technicznie możliwe) kluczowych zagadnień i koncepcji związanych z JSF oraz JEE
      1. Rola JSF w świecie JEE, alternatywne rozwiązania (JSF vs Struts2, JSF vs GWT, JSF vs JSP)
      2. Dostępne implementacje (RichFaces, PrimeFaces, IceFaces itd.)
      3. MVC, MVP, CDI
      4. Model komponentowy JSF
      5. Cykl życia (Lifecycle)
      6. ManagedBeans
      7. Nawigacja
      8. Walidacja
      9. Facelets
    4. Wprowadzenie do kluczowych zagadnień omawianych na szkoleniu
      1. Composite Components
      2. JavaScript (JQuery, Ajax, JSON, Client Behaviors)
      3. Nawigacja
  2. Tworzenie komponentów - podstawy
    1. Praktyczne zapoznanie się z kluczowymi koncepcjami, których znajomość jest niezbędna do tworzenia własnych komponentów
      1. Komponent czy Renderer?
      2. Przestrzeń nazw „composite” (composite namespace)
      3. Tagi: composite:interface, composite:attribute, composite:implementation
    2. Stworzenie prostych komponentów z wykorzystaniem zdobytej do tej pory wiedzy – jeden komponent, wiele możliwości jego wykorzystania
      1. Komponenty wykorzystujące kontrolki typu “input” (wprowadzanie danych)
      2. komponenty wykorzystujące kontrolki typu “select” (wybór danych z list wyboru)
    3. RichFaces CDK
  3. Tworzenie komponentów – zagadnienia zaawansowane
    1. Współpraca komponentu z logiką realizowaną po stronie serwera
      1. Pozyskiwanie przez komponent danych udostępnianych przez backing beany
      2. Przekazywanie danych z komponentu do backing beana
    2. Tworzenie własnych zdarzeń
      1. Kolejkowanie zdarzeń
      2. Zdarzenia inicjujące przetwarzanie po stronie serwera (Action listeners)
      3. Zdarzenia związane ze skutkami (events) czynności inicjowanych na poziomie interfejsu użytkownika (Event listeners)
      4. Zdarzenia związane z fazami cyklu życia JSF - Phase Listeners
      5. Własne zdarzenia a cykl życia JSF
    3. Walidacja oraz konwersja
      1. Tworzenie własnych walidatorów oraz konwerterów
      2. Omijanie pełnej walidacji (czynności typu „Cancel”, atrybut immediate i jego wpływ na przetwarzanie żądania, walidacja warunkowa, częściowa)
      3. BeanValidation (JSR303) a JSF
      4. Standardowy cykl życia JSF a konieczność jego modyfikacji w praktyce
    4. Relacje rodzic-dziecko w świecie JSF – zależności pomiędzy listami wyboru (dostępność/niedostępność w zależności od wyboru wartości w liście rodzica/dziecka)
    5. Inteligentne pobieranie danych (np. paginacja w tabelach czy strukturach złożonych takich jak drzewa)
  4. Wykorzystanie Javascript, Ajax
    1. Rozszerzenie możliwości komponentu poprzez wykorzystanie Javascript
      1. Tworzenie struktur danych przyjaznych dla JavaScript (JSON)
      2. JSON w aplikacjach JSF
    2. Ajax
      1. Techniki pozyskiwania danych dla strony webowej (Pull, Comet aka Push/Reverse Ajax)
      2. Kontrolowanie kolejności wysyłania żądań (Callbacks, Kolejkowanie)
      3. Renderowanie fragmentów strony (Partial Rendering, Partial Requests)
      4. Wykorzystanie mechanizmów zawartych w dostępnych implementacjach standardu JSF (RichFaces, PrimeFaces)
        1. Biblioteka „a4j” w RichFaces
        2. Realizacja zachowań „ajaxowych” z wykorzystaniem PrimeFaces
    3. Wykorzystanie JQuery – korzyści jakie daje nam wykorzystanie tego rozwiązania
    4. Wzbogacenie interfejsu użytkownika poprzez wprowadzenie efektów „specjalnych” (np. Fading, Sliding)
  5. Tworzenie kodu JavaScript, który może zostać ponownie wykorzystany
    1. Wykorzystanie ClientBehavior oraz ClientBehaviorHolder do implementacji reużywalnego kodu JavaScript
  6. Nawigacja (z wykorzystaniem PrettyFaces)
    1. Zakładki (bookmarkable urls/buttons)
    2. Url-e przyjazne dla użytkownika oraz dla SEO
    3. View Parameters
    4. Back button problem
  7. Komunikacja w JSF oparta o zdarzenia
    1. Tradycyjne podejście do komunikacji między obiektami
    2. Wzorzec Obserwator w implementacji mechanizmów komunikacji
    3. Wykorzystanie CDI do komunikacji między obiektami (implementacja rozwiązania typu „EventBus”)
  8. Podsumowanie

Pytania?

* Wymagane.
** Szczegóły promocji w Regulaminie.


Konsultant on-line
Skorzystaj z usług naszego konsultanta on-line.
Naciśnij przycisk ‘Skorzystaj’ aby przejść do okienka czatu
Kontakt
ul. Nowogrodzka 62c
02-002 Warszawa
Telefon +48 22 2035600
Fax +48 22 2035601
Email