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