Szkolenie

J/EE6 Nowoczesne aplikacje internetowe oparte JEE6 (JSF2, EJB3.1, JPA2, CDI, AJAX)

O szkoleniu

Uczestnicy dowiedzą się jak projektować i implementować aplikacje na platformie JEE z wykorzystaniem technologii będących treścią szkolenia. Celem szkolenia jest 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:

Uczestnicy szczegółowo poznają technologię prezentacji JSF2.0 włącznie z tworzeniem własnych walidatorów, konwerterów czy komponentów. Zaznajomią się z popularnymi, bogatymi bibliotekami komponentów, takimi jak RichFaces, IceFaces. Nauczą się projektować i implementować warstwę logiki biznesowej w oparciu EJB 3.1, w połączeniu z mechanizmem mapowania relacyjno-obiektowego JPA2. Poznają specyfikację CDI standaryzującą część uznanego Framework Seam.
Kto powinien wziąć udział?
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 6, 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.

Program szkolenia

I. Wstęp
1. Wprowadzenie do platformy Java Enterprise Edition
2. Omówienie komponentów i specyfikacji JEE w tym JNDI, JMS, , Servlet, JSP, EJB, webserwisy,
3. Zagadnienia projektowania aplikacji na platformie JEE, doboru technologii, bezpieczeństwa etc.

II. Specyfikacja Managed Beans

III. Warstwa logiki biznesowej – komponenty EJB
1. Typy komponentów EJB 3.x
2. Zasada działania
3. Komponenty sesyjne:
a) Stanowe
b) Bezstanowe
c) Komponenty typu Singleton*
d) cykl życia komponentów, nasłuchiwanie i sterowanie cyklem życia
e) Rodzaje dostępów
- Lokalny
- Lokalny bez-interfejsowy*
- Zdalny
- Zdalny przez usługę web service
f) Wywołania asynchroniczne metod komponentów sesyjnych*
g) 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
4. Korzystanie z zasobów przez komponenty EJB
a) Słowo o JCA
b) Przestrzenie nazw JNDI i wyszukiwanie zasobów
c) Inversion of Control w odwoływaniu do zasobów
5. Interceptory
6. Model wyjątków
7. Komponenty Sterowane Wiadomością:
a) Zasada działania
b) Rodzaje komunikacji
8. Bezpieczeństwo komponentów
9. Transakcje zarządzane przez kontener i komponent
a) Transakcje zarządzane przez kontener (CMT)
- Atrybuty transakcji w kontekście scenariuszy użycia
- Transakcje a wyjątki
- Synchronizacja stanu w komponencie stanowym
b) Transakcje zarządzane przez komponent (BMT) – podstawy JTA
c) Transakcje zarządzane przez klienta
10. Usługi czasowe (TimerService)
a) Interfejsy Timer i TimerService
b) Automatyczne uruchamianie usług w oparciu o kalendarz*
11. Usługi webservice w kontekście EJB
a) Podstawy webservice
b) JAX-WS a EJB
12. Przygotowanie, kofigurowanie i wdrażanie aplikacji
a) Jako samodzielny moduł EJB (jar)
b) Jako składowa aplikacji Enterprise (ear)
c) W obrębie aplikacji Web (war) *
d) Kontener pełny (full) i lekki (light)*
e) EJB w kontenerze zaembedowanym*
13. Testowanie komponentów EJB
14. Wzorce Projektowe warstwy logiki i dostępu do logiki

IV. Java Persistence API2
1. Koncepcja Mapowania relacyjno-obiektowego
2. Klasy Encyjne
a) klasy proste
b) klasy zagnieżdżone
c) Pola i dostęp do pól
d) Pola będące kolekcjami *
3. Asocjacje – z uwzględnieniem krotności i kierunkowości
4. Klucze
a) Proste
b) Złożone
c) Automatyczne generowanie kluczy
5. Nazewnictwo obiektów w bazie danych
a) Domyślne mapowanie
b) Zmiana domyślnych mapowań
6. Kontekst trwałości (PersistentContext):
a) Zarządzany przez kontener i zarządzany przez aplikację
b) Transakcyjny(Transaction) i rozszerzony(Extended)
7. Cykl życia encji
8. Operacje na danych
9. Transakcje
10. Zapytania
a) Tworzenie zapytań w JPQL
- Składnia
- Query i TypedQuery*
- Zapytania nazwane
b) JPA2 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
c) Typowe scenariusze, w tym serach-within i serach-by-example
d) Zapytania Natywne, mapowanie wyników
11. Metody nasłuchiwania cyklu życia
12. Walidacja
a) Bean Validation 1.0 (JSR 303)
- 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
b) JPA2 a Bean Validation
- Konfiguracja walidacji
- Zasada działania Bean Validation w kontekście JPA
- Ograniczenia walidujące a generacja obiektów bazy danych
13. Modele i implementacja dziedziczenia
14. Zagadnienia spójności danych
a) optimistic locking
b) pesimistic locking
c) Rozszerzenia w JPA2 *
15. Cache drugiego poziomu
a) Idea cache 2 poziomu
b) Konfiguracja i tryby pracy cache
c) Konfiguracja encji
d) Interakcja cache baza
e) Cache w oparciu o Hibernate (dla szkolenia bazującego na hibernate)
f) Cache w oparciu o mechanizmy JPA2*
g) Zagrożenia
16. Testowanie komponentów wykorzystujących JPA
17. Konfiguracja i deployment
a) Jako aplikacja Java SE / dektop
b) Jako moduł web
c) W obrębie modułu ejb
18. JPA a biblioteki dostawców (Hibernate,Toplink,EclipseLink,OpenJPA)
19. Zagadnienia specyficzne dla Hibernate (dla szkolenia bazującego na hibernate)
a) Hibernate API
b) Wybrane dodatkowe możliwości
c) Podprojekty Hibernate: Search, Shards, Validator, Envers
20. Wzorce Projektowe warstwy dostępu do danych

V. Interfejs Webowy
1. Wprowadzenie do JSF
a) Typowe problemy aplikacji Webowej
b) Wprowadzenie do modelu komponentowo-zdarzeniowego
2. Cykl przetwarzania żądania
a) Rodzaje żądań
b) Fazy cyklu
c) Przetwarzanie pełne i częściowe
3. Komponentowy model interfejsu
4. Główne klasy i interfejsy
5. Model zarządzania beanami logiki
a) Idea i rodzaje zasięgów
b) Konfiguracja
c) Zasięgi „Custom”
6. Expression Language
7. Definiowanie widoku
a) Przegląd dostępnych komponentów standartowych
- Biblioteka HTML
- Biblioteka Core
b) View Declaration Language
c) JSF w oparciu o facelets
- Korzyści wynikające z technologii
- Mechanizmy szablonowania
- Wbudowane znaczniki
- Tworzenie komponentów złożonych (Composite Components)
d) Historia - JSF w oparciu o JSP
e) JSF a REST
8. Model konwersji
a) Konwertery wbudowane
b) Tworzenie konwerterów
9. Model walidacji
a) Walidatory wbudowane
b) Tworzenie walidatorów
c) Walidator domyślny
d) Bean Validation 1.0 (JSR 303) a JSF
e) Zdarzenia związane z walidacją
f) Realizacja nietypowych/złożonych scenariuszy walidacji
10. Model zdarzeń
a) Zdarzenia i słuchacze – podstawy modelu zdarzeniowego
b) Zdarzenia akcji i zmiany wartości
c) Zdarzenia zmiany faz
d) Zdarzenia systemowe
11. Model nawigacji
a) Nawigacja „klasyczna”
b) Nawigacja skrócona
c) Nawigacja warunkowa
d) Dynamiczna konfiguracja nawigacji
e) Pull i push MVC
12. Główne składowe aplikacji JSF i internacjonalizacja
13. Typowe problemy przy tworzeniu interfejsu min
a) Formularz w postaci tabelki
b) „Inteligentna” paginacja
c) Master-Detail, LOV
14. Obsługa błędów
15. Zasoby aplikacji
a) Żądanie o zasoby (Resuorce Request) i jego obsługa
b) Zależności od zasobów
c) Znaczniki i obiekty EL
d) Pakowanie i internacjonalizacja zasobów
16. Wzbogacanie komponentów – Behaviour
17. Tworzenie komponentów „od zera”
a) Tworzenie komponentów
b) Tworzenie rendererów
c) Tworzenie znaczników
18. Pakowanie i konfiguracja aplikacji, fazy projektu
19. Testowanie interfejsu zbudowanego na JSF (JSFUnit/Selenium)
20. Zabezpieczanie aplikacji

VI. Tworzenie aplikacji WWW z użyciem technologii AJAX i JSF
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
5. „Natywne” podejście JSF2
a) Znacznik f:ajax i Ajax Behaviour
b) Przetwarzanie żądań typu Ajax
c) Przetwarzanie częściowe (Partial processing)
d) Selektywne działania na drzewie komponentów
e) Kolejkowanie
f) obsługa błędów
6. Ajax4JSF
a) Wady i zalety podejścia, porównanie z podejściem natywnym
b) Architektura silnika – zasada działania
c) Przegląd możliwości
d) Zagadnienia związane z wydajnością (kolejkowanie, opóźnianie, unieważnianie żądań, zmniejszanie wielkości żądania)
e) Wpływanie na cykl życia JSF
f) Ajax4JSF a JSON
7. Richfaces
a) Przegląd możliwości Richfaces
b) Konfiguracja wyglądu (skórki)
c) Walidacja
d) RichFacej a jquery, script.aculo.us

VII. CDI (webbeans)
1. Podstawowe pojęcia
a) Ziarno
b) Kontekst
c) Zasięg
d) Wstrzeliwanie zależności
2. Ziarna
a) Managed beans
b) Session means
c) Specjalizacja
d) Aktywne i nieaktywne ziarna
3. Zasięgi
a) „klasyczne” zasięgi wbudowane
b) Zasięg konwersacji
c) Zasięg zależny
d) Tworzenie niestendartowych zasięgów
e) Zasięg domyślny
f) Cykl życia obietków kontekstowych
4. Wstrzeliwanie zależności
a) Miejsca docelowe wstrzeliwania
b) Kwalifikatory, Alternatywy, stereotypy
c) Wstrzykiwanie po nazwie
5. Metody fabrykujące
6. Model zdarzeń i słuchaczy
7. Użycie CDI w kontekście aplikacji EJB/JSF

Czas trwania

czas trwania - 5 dni

czyli:

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.

aktualne terminy oraz dodatkowe informacje na stronie:
http://www.sages.com.pl/szkolenia-katalog

Prelegenci

Cytat
Doświadczeni trenerzy Sages

Gdzie i kiedy

Warszawa 5 - 9 grudnia 2011
Sages Sp. z o.o.

02-796 Warszawa

Wąwozowa 11

woj. mazowieckie

Weź udział

Cena 1
cena netto
4750 PLN
Cena zawiera:
  • materiały szkoleniowe, lunch, przerwy kawowe
Weź udział

Organizator

Sages Sp. z o.o.
02-796 Warszawa
ul. Wąwozowa 11
woj. mazowieckie
FAQ

Najczęściej zadawane pytania

Prosimy o przejście do sekcji Weź udział, aby wypełnić formularz zgłoszenia w wydarzeniu. Po jego wysłaniu organizator skontaktuje się celem potwierdzenia przyjęcia zgłoszenia i przekazania szczegółów organizacyjnych.

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.

W celu zgłoszenia się na szkolenie, prosimy o kontakt telefoniczny: 22.2035600
lub mailowy: j.ambroziak@sages.com.pl

Kontakt

Masz pytania? Napisz do nas

Wypełnij formularz

Uzupełnij pole
Wybierz termin wydarzenia
Uzupełnij pole
Uzupełnij pole
Uzupełnij wiadomość
Potwierdź, że nie jesteś botem.
Musisz zaakceptować regulamin.
Wiadomość została wysłana!

Dane kontaktowe

Sages Sp. z o.o.
02-796 Warszawa ul. Wąwozowa 11
Darmowy biuletyn informacyjny

Zapisz się do newslettera i otrzymuj powiadomienia o nowych wydarzeniach!