Nowoczesne aplikacje internetowe oparte o JEE7 (JSF2.2, EJB3.2, JPA2.1, CDI1.1, AJAX)

LICZBA DNI: 5 (40h)

KOD KURSU: JEE7/JSF

Powiadom
o kolejnych terminach

# ejb3.2

# jsf2.2

# cdi1.1

# jpa2.1

# jee7

# ajax

Szkolenie na zamówienie

Szkolenie dostosowane do potrzeb Twojego zespołu. Dostępne wyłącznie na zamówienie.

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin

O szkoleniu

DLA KOGO?

Szkolenie adresowane jest do programistów aplikacji internetowych na platformie JEE, pragnących uzupełnić swoje kwalifikacje o najnowsze technologie, a także dla osób znających język Java i pragnących rozpocząć swoją przygodę z aplikacjami internetowymi od najnowszych technologii.

Szkolenie realizowane jest z użyciem najnowszej odsłony Java Enterprise Edition – wersji 7, która kusi możliwościami lecz nie ma jeszcze pełnego wsparcia u dostawców serwerów aplikacji. Dla osób pragnących pracować z ugruntowanymi technologiami polecamy szkolenie WEB2.

WYMAGANIA

Od uczestników wymagana jest przynajmniej podstawowa umiejętność programowania w języku Java (do poznania na kursie J/JP), podstawy relacyjnych baz danych i SQL.

ZALETY

Program obejmuje całościowo i wyczerpująco zagadnienia tworzenia aplikacji internetowych.

W przeciwieństwie do większości szkoleń, szkolenie to nie koncentruje się na jednej technologii, lecz zawiera najważniejsze zagadnienia z wybranych technologii.

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ę o pojawiające się nowe potrzeby.

Program jest ciągle uaktualniany tak, by uwzględniać nowo powstające trendy.

Cele szkolenia

Nauka projektowania i implementowania aplikacji na platformie JEE z wykorzystaniem technologii będących treścią szkolenia.

Zdobycie umiejętności tworzenia skalowanych aplikacji, zgodnie z arkanami sztuki: od komponentów biznesowych po wysoce ergonomiczne i funkcjonalne interfejsy wpisujące się w nurt WEB 2.0.

W szczególności: szczegółowe poznanie technologii prezentacji JSF2.2 włącznie z tworzeniem własnych walidatorów, konwerterów czy komponentów.

Zaznajomienie się z popularnymi, bogatymi bibliotekami komponentów, takimi jak RichFaces, IceFaces.

Nauka projektowania i implementowania warstwy logiki biznesowej w oparciu EJB 3.2, w połączeniu z mechanizmem mapowania relacyjno-obiektowego JPA2.1.

Poznanie specyfikacji CDI.

Program

  • Wprowadzenie do platformy Java Enterprise Edition
  • Omówienie komponentów i specyfikacji JEE w tym JNDI, JMS, Servlet, JSP, EJB, CDI, webserwis
  • Zagadnienia projektowania aplikacji na platformie JEE, doboru technologii, bezpieczeństwa etc.
  • Typy komponentów EJB 3.x
  • Zasada działania
  • Komponenty sesyjne:
  • Stanowe
  • Bezstanowe
  • Komponenty typu Singleton
  • Cykl życia komponentów, nasłuchiwanie i sterowanie cyklem życia
  • Rodzaje dostępów
  • Lokalny
  • Lokalny bez-interfejsowy
  • Zdalny
  • Zdalny przez usługę web service
  • Wywołania asynchroniczne metod komponentów sesyjnych
  • Zagadnienia współbieżności w odwoływaniu się do komponentów:
  • Zachowanie kontenera
  • Współbieżność zarządzana przez kontener i współbieżność zarządzana przez komponent
  • Komponent stanowy w kontekście współbieżności
  • Korzystanie z zasobów przez komponenty EJB
  • Słowo o JCA
  • Przestrzenie nazw JNDI i wyszukiwanie zasobów
  • Inversion of Control w odwoływaniu do zasobów
  • Interceptory
  • Model wyjątków
  • Komponenty Sterowane Wiadomością:
  • JMS2.0
  • Zasada działania
  • Rodzaje komunikacji
  • Bezpieczeństwo komponentów
  • Transakcje zarządzane przez kontener i komponent
  • Transakcje zarządzane przez kontener (CMT)
  • Atrybuty transakcji w kontekście scenariuszy użycia
  • Transakcje a wyjątki
  • Synchronizacja stanu w komponencie stanowym
  • Transakcje zarządzane przez komponent (BMT) – podstawy JTA
  • JTA a JTS, CORBA
  • Transakcje zarządzane przez klienta
  • Usługi czasowe (TimerService)
  • Interfejsy Timer i TimerService
  • Automatyczne uruchamianie usług w oparciu o kalendarz
  • @Schedule, @Schedules, @Timeout
  • Usługi webservice w kontekście EJB
  • Podstawy webservice
  • JAX-WS/JAX-RS a EJB/CDI
  • Przygotowanie, konfigurowanie i wdrażanie aplikacji
  • Jako samodzielny moduł EJB (jar)
  • Jako składowa aplikacji Enterprise (ear)
  • W obrębie aplikacji Web (war)
  • Kontener pełny (full) i lekki (light), profile serwera JEE
  • EJB w kontenerze zaembedowanym
  • Testowanie komponentów EJB
  • Wzorce Projektowe warstwy logiki i dostępu do logiki
  • 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 – z uwzględnieniem krotności i kierunkowości
  • Klucze
  • Proste
  • Złożone
  • Automatyczne generowanie kluczy
  • Nazewnictwo obiektów w bazie danych
  • Domyślne mapowanie
  • Zmiana domyślnych mapowań
  • Kontekst trwałości (PersistentContext):
  • Zarządzany przez kontener i zarządzany przez aplikację
  • Transakcyjny(Transaction) i rozszerzony(Extended)
  • Cykl życia encji
  • Operacje na danych
  • Transakcje
  • Zapytania
  • Tworzenie zapytań w JPQL
  • Składnia
  • Query i TypedQuery
  • Zapytania nazwane
  • Zapytania natywne
  • JPA2.1 Criteria API
  • Idea Criteria API, podstawowe składowe
  • MetaModel
  • Koncepcja
  • Klasy MetaModel w postaci kanonicznej i niekanonicznej
  • MetaModel API
  • Tworzenie silnie typowanych zapytań
  • Tworzenie słabo typowanych, dynamicznych zapytań
  • Edycja zapytań
  • Podejścia alternatywne: LIQUidFORM
  • Typowe scenariusze, w tym serach-within i serach-by-example
  • Zapytania natywne, mapowanie wyników
  • Metody nasłuchiwania cyklu życia
  • Walidacja
  • Bean Validation 1.1
  • Koncepcja Bean Validation
  • Definiowanie i nakładanie ograniczeń na typy, pola, metody
  • Parametryzowanie ograniczeń
  • Wbudowane ograniczenia
  • Komponowanie ograniczeń złożonych
  • Tworzenie walidatorów
  • Proces walidacji
  • Pola, obiekty i grafy obiektów
  • Grupy i sekwencje
  • Blokowanie dostępu do pola oraz kaskadowego dostępu
  • API i wyjątki
  • Dostosowywanie treści błędów walidacyjnych
  • JPA2.1 a Bean Validation
  • Konfiguracja walidacji
  • Zasada działania Bean Validation w kontekście JPA
  • Ograniczenia walidujące a generacja obiektów bazy danych
  • Modele i implementacja dziedziczenia
  • Zagadnienia spójności danych
  • Optimistic locking
  • Pessimistic locking
  • Rozszerzenia w JPA2.1
  • Cache drugiego poziomu
  • Idea cache 2 poziomu
  • Konfiguracja i tryby pracy cache
  • Konfiguracja encji
  • Interakcja cache < - > baza
  • Cache w oparciu o Hibernate (dla szkolenia bazującego na hibernate)
  • Cache w oparciu o mechanizmy JPA2.1
  • Zagrożenia
  • Testowanie komponentów wykorzystujących JPA
  • Konfiguracja i deployment
  • Jako aplikacja Java SE/dektop
  • Jako moduł web
  • W obrębie modułu ejb
  • JPA a biblioteki dostawców (Hibernate, Toplink, EclipseLink, OpenJPA)
  • Zagadnienia specyficzne dla Hibernate (dla szkolenia bazującego na hibernate)
  • Hibernate API
  • Wybrane dodatkowe możliwości
  • Podprojekty Hibernate: Search, Shards, Validator, Envers
  • Wzorce Projektowe warstwy dostępu do danych
  • Wprowadzenie
  • Cykl życia servletu
  • Współdzielenie informacji
  • Tworzenie i inicjalizacja servletu
  • Obsługa żądań i odpowiedzi
  • Filtrowanie żądań
  • Uploading plików, Media-typy
  • Dostęp do WebContext
  • Asynchroniczność
  • Nieblokujące operacje I/O
  • Wsparcie dla HTTP 1.1
  • Bezpieczeństwo z poziomu servletu
  • Wprowadzenie do JSF
  • Typowe problemy aplikacji Webowej
  • Wprowadzenie do modelu komponentowo-zdarzeniowego
  • Cykl przetwarzania żądania
  • Rodzaje żądań
  • Fazy cyklu
  • Przetwarzanie pełne i częściowe
  • Komponentowy model interfejsu
  • Główne klasy i interfejsy
  • Model zarządzania beanami logiki
  • Idea i rodzaje zasięgów
  • Konfiguracja
  • Zasięgi „Custom”
  • Expression Language
  • Definiowanie widoku
  • Przegląd dostępnych komponentów standardowych
  • Biblioteka HTML
  • Biblioteka Core
  • View Declaration Language
  • JSF w oparciu o facelets
  • Korzyści wynikające z technologii
  • Mechanizmy szablonowania
  • Wbudowane znaczniki
  • Tworzenie komponentów złożonych (Composite Components)
  • Historia - JSF w oparciu o JSP
  • JSF a REST
  • Wsparcie dla HTML5
  • Model konwersji
  • Konwertery wbudowane
  • Tworzenie konwerterów
  • Model walidacji
  • Walidatory wbudowane
  • Tworzenie walidatorów
  • Walidator domyślny
  • Bean Validation 1.1 a JSF
  • Zdarzenia związane z walidacją
  • Realizacja nietypowych/złożonych scenariuszy walidacji
  • Model zdarzeń
  • Zdarzenia i słuchacze – podstawy modelu zdarzeniowego
  • Zdarzenia akcji i zmiany wartości
  • Zdarzenia zmiany faz
  • Zdarzenia systemowe
  • Model nawigacji
  • Nawigacja „klasyczna”
  • Nawigacja skrócona
  • Nawigacja warunkowa
  • Dynamiczna konfiguracja nawigacji
  • Pull i push MVC
  • Główne składowe aplikacji JSF i internacjonalizacja
  • Typowe problemy przy tworzeniu interfejsu min
  • Formularz w postaci tabelki
  • „Inteligentna” paginacja
  • Master-Detail, LOV
  • Obsługa błędów
  • Zasoby aplikacji
  • Żądanie o zasoby (Resuorce Request) i jego obsługa
  • Zależności od zasobów
  • Znaczniki i obiekty EL
  • Pakowanie i internacjonalizacja zasobów
  • Wzbogacanie komponentów – Behaviour
  • Tworzenie komponentów „od zera”
  • Tworzenie komponentów
  • Tworzenie rendererów
  • Tworzenie znaczników
  • Pakowanie i konfiguracja aplikacji, fazy projektu
  • Testowanie interfejsu zbudowanego na JSF (JSFUnit/Selenium)
  • Zabezpieczanie aplikacji
  • Koncepcja AJAX i modele komunikacji
  • Przegląd podejść do tworzenia aplikacji AJAX (warstwowe – JSF, klient-serwer – GWT, …)
  • Tworzenie aplikacji AJAX „od zera” (XMLHttpRequest)
  • JSON
  • Wprowadzenie
  • Java API for JSON Processing
  • JSON w RESTFull webservice
  • Podstawy bibliotek Prototype i JQuery w kontekście manipulacji drzewem DOM i komunikacji AJAX
  • „Natywne” podejście JSF2
  • Znacznik f:ajax i Ajax Behaviour
  • Przetwarzanie żądań typu Ajax
  • Przetwarzanie częściowe (Partial processing)
  • Selektywne działania na drzewie komponentów
  • Kolejkowanie
  • Obsługa błędów
  • Popularne biblioteki współpracujące z JSF
  • PrimeFaces
  • OmniFaces
  • RichFaces
  • PrettyFaces
  • IceFaces
  • Podstawowe pojęcia
  • Ziarno
  • Kontekst
  • Zasięg
  • Wstrzeliwanie zależności
  • Ziarna
  • Managed beans
  • Session means
  • Specjalizacja
  • Aktywne i nieaktywne ziarna
  • Zasięgi
  • „Klasyczne” zasięgi wbudowane
  • Zasięg konwersacji
  • Zasięg zależny
  • Tworzenie niestendartowych zasięgów
  • Zasięg domyślny
  • Cykl życia obietków kontekstowych
  • Wstrzykiwanie zależności
  • Miejsca docelowe wstrzeliwania
  • Kwalifikatory, alternatywy, stereotypy
  • Wstrzykiwanie po nazwie
  • Metody fabrykujące
  • Model zdarzeń i słuchaczy
  • Użycie CDI w kontekście aplikacji EJB/JSF

POLITYKA COOKIES:

Korzystamy z plików cookies, by móc jak najlepiej dostosować stronę do Twoich potrzeb oraz wyświetlać Ci przydatne i adekwatnych dla Ciebie reklamy w serwisie i poza nim. Możesz kontrolować ustawienia ciasteczek w swoich ustawieniach swojej przeglądarki. Odwiedzając tę stronę, wyrażasz zgodę na wykorzystywanie przez nas plików cookies.