Zaufali Nam

  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam
  • Zaufali Nam

Kod Szkolenia: J/WEB2b

Tytuł Szkolenia: Nowoczesne aplikacje internetowe oparte na Spring Framework, JSF, JPA i AJAX.

Karta Szkolenia

Adresaci Szkolenia:

Szkolenie adresowane jest do programistów Java pragnących dowiedzieć się jak tworzyć bezpieczne aplikacje internetowe w oparciu o Spring Framework oraz warstwę dostępu do danych realizowaną przez Hibernate.

Cel szkolenia:

Celem szkolenia jest poznanie zasad budowania aplikacji internetowych w oparciu o Spring Framework wraz z zagadnieniami takimi jak: mapowanie obiektowo-relacyjne i tworzenie warstwy dostępu do danych za pomocą JPA, tworzenie warstwy usług przy pomocy kontenera Spring IoC, oprogramowanie frontendu web dzięki JSF.

W szczególności uczestnicy:

  • poznają wzorzec Dependency Injection i nauczą się stosować go w praktyce przy użyciu kontenera IoC Spring Framework
  • dowiedzą się jak konfigurować komponenty z poziomu deskryptorów XML Spring Framework i za pomocą adnotacji Java
  • poznają zasadę mapowania relacyjno-obiektowego, i nauczą się projektować warstwę trwałości w oparciu o JPA począwszy od prostych encji po złożone zagadnienia takie jak dziedziczenie
  • dowiedzą się jak odczytywać i utrwalać encje, zapewniać transakcyjność operacji
  • dowiedzą się jak dbać o spójność danych i wydajność aplikacji
  • nauczą się budować bogate interfejsy użytkownika w oparciu o Java Server Faces z użyciem JSF i faceletów
  • nauczą się wykorzystywać gotowe komponenty biblioteczne JSF jak również tworzyć własne
  • dowiedzą się jak zwiększyć wygodę interfejsu użytkownika za pomocą AJAX
  • poznają zaawansowane zagadnienia takie jak AOP
  • dowiedzą się jak testować ww. komponenty
  • poznają zagadnienia związane z bezpieczeństwem i niezawodnością aplikacji internetowych
  • dowiedzą się jak uruchamiać stworzone w powyższy sposób aplikacje na serwerach Tomcat i Jetty

Wymagania:

Od uczestników szkolenia wymagana jest umiejętność programowania w języku Java (do poznania na kursie J/JP), podstawy relacyjnych baz danych i SQL, podstawowa znajomość HTML. Zalecana jest również umiejętność tworzenia aplikacji webowych w technologiach Servlet/JSP (do poznania na kursie J/WEB1).

Mocne strony szkolenia:

Program obejmuje całościowo i wyczerpująco zagadnienia tworzenia aplikacji internetowych. W przeciwieństwie do większości szkoleń, szkolenie nie koncentruje się na jednej technologii, lecz zawiera najważniejsze zagadnienia z wybranych techonologii. Dzięki temu, uczestnicy po skończeniu szkolenia, będą mogli tworzyć samodzielnie kompletne aplikacje WWW, uzupełniając już we własnym zakresie wiedzę w miarę potrzeb. Program jest ciągle uaktualniany tak, by uwzględnić nowo powstające trendy.

Parametry szkolenia:

5*7 godzin wykładów i warsztatów w proporcji 1/3. W trakcie warsztatów, oprócz prostych ćwiczeń, projektowana i implementowana jest prosta kompleksowa aplikacja.

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

Polecane szkolenia poprzedzające:

J/JP, J/WEB1

Szczegółowy Program

Program szkolenia:

  1. Wprowadzenie - przegląd omawianych zagadnień
    1. Warstwowa architektura aplikacji internetowych
    2. Wzorce: IoC, DI, MVC
    3. Warstwa danych: JPA
    4. Warstwa webowa: JSF, AJAX
    5. Zagadnienia integracji systemów, webserwisy
    6. Programowanie zorientowane aspektowo: AOP
    7. Zagadnienia związane z testowaniem i bezpieczeństwem
  2. Warstwa logiki biznesowej – Spring IoC
    1. Wzorce Inversion of Control i Dependency Injection
    2. Struktura aplikacji w Spring Framework
    3. Uruchamianie kontenera
    4. Definiowanie fasolek
      1. Konstruktory, fabryki
      2. Własności proste
      3. Własności złożone, kolekcje
      4. Łączenie kolekcji
      5. Dziedziczenie
      6. p-namespace
    5. Specyfikacja zależności
    6. Leniwa inicjalizacja
    7. Autowiring
    8. Zasoby
    9. Współpraca z kontenerem
    10. Zasięg fasolek
      1. singleton, prototype, request, session
      2. zasięgi własne
    11. Wstrzykiwanie metod
    12. Cykl życia fasolki i nasłuchiwanie
    13. Zamykanie kontenera
    14. Wydzielanie części konfiguracji do plików z właściwościami
    15. Lokalizacja
    16. Zdarzenia
    17. Wstrzykiwanie zasobów
    18. Walidacja i konwersja danych w Spring
      1. Interfejs Validator
      2. Zamiana kodów błędów walidacji na komunikaty
      3. Edytory właściwości
      4. Konwersja typów
      5. Formatowanie
      6. Specyfikowanie ograniczeń
    19. Spring Expression Language
      1. Przegląd możliwości
      2. Składnia
      3. Użycie
  3. Warstwa danych – Spring ORM i JPA
    1. Koncepcja Mapowania relacyjno-obiektowego
    2. Klasy Encyjne
      1. Klasy proste
      2. Klasy zagnieżdżone
      3. Pola i dostęp do pól
      4. Pola będące kolekcjami
    3. Asocjacje
      1. Jednokierunkowe
      2. Dwukierunkowe
      3. Propagacja kaskadowa
    4. Klucze
      1. Proste
      2. Złożone
      3. Automatyczne generowanie kluczy
    5. Kompozycja obiektowa
    6. Dziedziczenie
    7. Nazewnictwo obiektów w bazie danych, własne systemy nazw
    8. Kontekst trwałości:
      1. Zarządzany przez kontener i przez aplikację
      2. Konfiguracja kontekstu trwałości
      3. Integracja ze Spring Framework
      4. Konfiguracja DAO
    9. Cykl życia encji
    10. Operacje na danych
    11. Transakcje
      1. Poziomy izolacji transakcji
      2. Podsystem transakcji w Spring
      3. Deklaratywna specyfikacja transakcji
      4. Blokowanie pesymistyczne i optymistyczne
      5. Długie konwersacje
    12. Zapytania EJB-QL
    13. Nasłuchiwanie cyklu życia encji
    14. Wydajność
      1. Pobieranie leniwe i zachłanne
      2. Cache 2 poziomu (rozszerzenie Hibernate)
      3. Cache zapytań (rozszerzenie Hibernate)
    15. Ujednolicona obsługa wyjątków
    16. Zagrożenia
  4. Warstwa web – JSF
    1. Wprowadzenie do JSF
      1. Typowe problemy aplikacji Webowej
      2. Wprowadzenie do modelu komponentowo-zdarzeniowego
    2. Cykl przetwarzania żądania
    3. Fazy cyklu
    4. Zagadnienia obejmujące kilka faz
    5. Komponentowy model interfejsu
      1. Komponenty JSF zarządzane przez kontener Spring IoC
    6. Model konwersji
      1. Konwertery wbudowane
      2. Tworzenie konwerterów
    7. Model walidacji
      1. Walidatory wbudowane
      2. Tworzenie walidatorów
      3. Wykorzystanie walidacji ze Spring Framework
    8. Model zdarzeń
    9. Główne klasy i interfejsy
    10. Przegląd dostępnych komponentów standardowych
    11. Model zarządzania beanami logiki
    12. Expression Language
      1. Delegacja wywołań EL do Spring EL
    13. Model nawigacji
    14. Główne składowe aplikacji JSF i internacjonalizacja
    15. Zarządzanie cyklem żądania
    16. JSF w opraciu o JSP
      1. Podstawy JSP
      2. Biblioteka HTML
      3. Biblioteka Core
    17. JSF w oparciu o facelets
      1. Korzyści wynikające z technologii
      2. Instalacja i konfiguracja
      3. Mechanizmy templatowania
      4. Tagi wbudowane
    18. Tworzenie własnych Tagów
      1. Typowe problemy przy tworzeniu interfejsu min
      2. Formularz w postaci tabelki
      3. „Inteligentna” paginacja
      4. Master-Detail, LOV
      5. Tworzenie własnych komponentów
      6. Tworzenie komponentów
      7. Tworzenie rendererów
      8. Tworzenie Tagów
    19. Testowanie interfejsu zbudowanego na JSF
  5. Warstwa web – nawigacja za pomocą Spring WebFlow
    1. Konfiguracja
    2. Definiowanie przepływów
    3. Język wyrażeń WebFlow Expression Language
      1. Zmienne specyficzne dla WebFlow
    4. Renderowanie widoków
    5. Akcje
    6. Persystentne przepływy
    7. Bezpieczeństwo przepływów
    8. Dziedzieczenie przepływów
    9. Integracja z JSF
    10. Testowanie przepływów
  6. Warstwa Web – AJAX
    1. Koncepcja AJAX i modele komunikacji
    2. Przegląd podejść do tworzenia aplikacji AJAX(warstwowe – JSF, klient-serwer – GWT, …)
    3. Tworzenie aplikacji AJAX „od zera” (XMLHttpRequest)
    4. Podstawy bibliotek Prototype i Jquery w kontekście manipulacji drzewem DOM i komunikacji AJAX
      1. Ajax4JSF
      2. Wady i zalety podejścia
      3. Architektura silnika – zasada działania
      4. Przegląd możliwości
      5. Zagadnienia związane z wydajnością (kolejkowanie, opóźnianie, unieważnianie żądań, zmniejszanie wielkości żądania)
      6. Wpływanie na cykl życia JSF
      7. Ajax4JSF a JSON
    5. Richfaces
      1. Przegląd możliwości Richfaces
      2. Konfiguracja wyglądu (skórki)
      3. Walidacja
      4. RF a jquery, script.aculo.us
    6. Przegląd innych bibliotek JSF
      1. IceFaces
      2. myFaces
      3. Tomahawk
      4. Woodstock
      5. Inne
  7. Podstawy Spring AOP
    1. Podstawowa terminologia: aspekt, join point, advice, pointcut
    2. Typy akcji
    3. Konfiguracja
  8. Testowanie
  9. Wprowadzenie do Spring Security
    1. Wprowadzenie – przegląd możliwości
    2. Konfiguracja
    3. Bezpieczeństwo warstwy web
      1. Rodzaje autentykacji
      2. Autentykacja "pamiętaj mnie"
      3. Poufność kanału HTTP/HTTPS
      4. Zarządzanie sesją
      5. Wsparcie dla OpenID
      6. Definiowanie własnych filtrów
    4. Zabezpieczanie metod