Adresaci szkolenia:

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.

Cel szkolenia:

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.

Mocne strony szkolenia:

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.

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.

Parametry szkolenia:

5*8 godzin (5*7 godzin netto) wykładów i warsztatów (z wyraźną przewagą warsztatów). W trakcie warsztatów, oprócz prostych ćwiczeń, projektowana i implementowana jest prosta kompleksowa aplikacja.

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

Program szkolenia

  1. 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.
  2. Specyfikacja Managed Beans
  3. Warstwa logiki biznesowej – komponenty EJB
    1. Typy komponentów EJB 3.x
    2. Zasada działania
    3. Komponenty sesyjne:
      1. Stanowe
      2. Bezstanowe
      3. Komponenty typu Singleton*
      4. cykl życia komponentów, nasłuchiwanie i sterowanie cyklem życia
      5. Rodzaje dostępów
        1. Lokalny
        2. Lokalny bez-interfejsowy*
        3. Zdalny
        4. Zdalny przez usługę web service
      6. Wywołania asynchroniczne metod komponentów sesyjnych*
      7. Zagadnienia współbieżności w odwoływaniu się do komponentów:
        1. Zachowanie kontenera
        2. Współbieżność zarządzana przez kontener i współbieżność zarządzana przez komponent*
        3. Komponent stanowy w kontekście współbieżności
    4. Korzystanie z zasobów przez komponenty EJB
      1. Słowo o JCA
      2. Przestrzenie nazw JNDI i wyszukiwanie zasobów
      3. Inversion of Control w odwoływaniu do zasobów
    5. Interceptory
    6. Model wyjątków
    7. Komponenty Sterowane Wiadomością:
      1. Zasada działania
      2. Rodzaje komunikacji
    8. Bezpieczeństwo komponentów
    9. Transakcje zarządzane przez kontener i komponent
      1. Transakcje zarządzane przez kontener (CMT)
        1. Atrybuty transakcji w kontekście scenariuszy użycia
        2. Transakcje a wyjątki
        3. Synchronizacja stanu w komponencie stanowym
      2. Transakcje zarządzane przez komponent (BMT) – podstawy JTA
      3. Transakcje zarządzane przez klienta
    10. Usługi czasowe (TimerService)
      1. Interfejsy Timer i TimerService
      2. Automatyczne uruchamianie usług w oparciu o kalendarz*
    11. Usługi webservice w kontekście EJB
      1. Podstawy webservice
      2. JAX-WS a EJB
    12. Przygotowanie, kofigurowanie i wdrażanie aplikacji
      1. Jako samodzielny moduł EJB (jar)
      2. Jako składowa aplikacji Enterprise (ear)
      3. W obrębie aplikacji Web (war) *
      4. Kontener pełny (full) i lekki (light)*
      5. EJB w kontenerze zaembedowanym*
    13. Testowanie komponentów EJB
    14. Wzorce Projektowe warstwy logiki i dostępu do logiki
  4. Java Persistence API2
    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 – z uwzględnieniem krotności i kierunkowości
    4. Klucze
      1. Proste
      2. Złożone
      3. Automatyczne generowanie kluczy
    5. Nazewnictwo obiektów w bazie danych
      1. Domyślne mapowanie
      2. Zmiana domyślnych mapowań
    6. Kontekst trwałości (PersistentContext):
      1. Zarządzany przez kontener i zarządzany przez aplikację
      2. Transakcyjny(Transaction) i rozszerzony(Extended)
    7. Cykl życia encji
    8. Operacje na danych
    9. Transakcje
    10. Zapytania
      1. Tworzenie zapytań w JPQL
        1. Składnia
        2. Query i TypedQuery*
        3. Zapytania nazwane
      2. JPA2 Criteria API*
        1. Idea Criteria API, podstawowe składowe
        2. MetaModel
          1. Koncepcja
          2. Klasy MetaModel w postaci kanonicznej i niekanonicznej
          3. MetaModel API
        3. Tworzenie silnie typowanych zapytań
        4. Tworzenie słabo typowanych, dynamicznych zapytań
        5. Edycja zapytań
        6. Podejścia alternatywne: LIQUidFORM
      3. Typowe scenariusze, w tym serach-within i serach-by-example
      4. Zapytania Natywne, mapowanie wyników
    11. Metody nasłuchiwania cyklu życia
    12. Walidacja
      1. Bean Validation 1.0 (JSR 303)
        1. Koncepcja Bean Validation
        2. Definiowanie i nakładanie ograniczeń na typy, pola, metody
        3. Parametryzowanie ograniczeń
        4. Wbudowane ograniczenia
        5. Komponowanie ograniczeń złożonych
        6. Tworzenie Walidatorów
        7. Proces walidacji
          1. Pola, obiekty i grafy obiektów
          2. Grupy i sekwencje
          3. Blokowanie dostępu do pola oraz kaskadowego dostępu
        8. API i wyjątki
      2. JPA2 a Bean Validation
        1. Konfiguracja walidacji
        2. Zasada działania Bean Validation w kontekście JPA
        3. Ograniczenia walidujące a generacja obiektów bazy danych
    13. Modele i implementacja dziedziczenia
    14. Zagadnienia spójności danych
      1. optimistic locking
      2. pessimistic locking
      3. Rozszerzenia w JPA2 *
    15. Cache drugiego poziomu
      1. Idea cache 2 poziomu
      2. Konfiguracja i tryby pracy cache
      3. Konfiguracja encji
      4. Interakcja cache <-> baza
      5. Cache w oparciu o Hibernate (dla szkolenia bazującego na hibernate)
      6. Cache w oparciu o mechanizmy JPA2*
      7. Zagrożenia
    16. Testowanie komponentów wykorzystujących JPA
    17. Konfiguracja i deployment
      1. Jako aplikacja Java SE / dektop
      2. Jako moduł web
      3. 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)
      1. Hibernate API
      2. Wybrane dodatkowe możliwości
      3. Podprojekty Hibernate: Search, Shards, Validator, Envers
    20. Wzorce Projektowe warstwy dostępu do danych
  5. Interfejs Webowy
    1. Wprowadzenie do JSF
      1. Typowe problemy aplikacji Webowej
      2. Wprowadzenie do modelu komponentowo-zdarzeniowego
    2. Cykl przetwarzania żądania
      1. Rodzaje żądań
      2. Fazy cyklu
      3. Przetwarzanie pełne i częściowe
    3. Komponentowy model interfejsu
    4. Główne klasy i interfejsy
    5. Model zarządzania beanami logiki
      1. Idea i rodzaje zasięgów
      2. Konfiguracja
      3. Zasięgi „Custom”
    6. Expression Language
    7. Definiowanie widoku
      1. Przegląd dostępnych komponentów standartowych
        1. Biblioteka HTML
        2. Biblioteka Core
      2. View Declaration Language
      3. JSF w oparciu o facelets
        1. Korzyści wynikające z technologii
        2. Mechanizmy szablonowania
        3. Wbudowane znaczniki
        4. Tworzenie komponentów złożonych (Composite Components)
      4. Historia - JSF w oparciu o JSP
      5. JSF a REST
    8. Model konwersji
      1. Konwertery wbudowane
      2. Tworzenie konwerterów
    9. Model walidacji
      1. Walidatory wbudowane
      2. Tworzenie walidatorów
      3. Walidator domyślny
      4. Bean Validation 1.0 (JSR 303) a JSF
      5. Zdarzenia związane z walidacją
      6. Realizacja nietypowych/złożonych scenariuszy walidacji
    10. Model zdarzeń
      1. Zdarzenia i słuchacze – podstawy modelu zdarzeniowego
      2. Zdarzenia akcji i zmiany wartości
      3. Zdarzenia zmiany faz
      4. Zdarzenia systemowe
    11. Model nawigacji
      1. Nawigacja „klasyczna”
      2. Nawigacja skrócona
      3. Nawigacja warunkowa
      4. Dynamiczna konfiguracja nawigacji
      5. Pull i push MVC
    12. Główne składowe aplikacji JSF i internacjonalizacja
    13. Typowe problemy przy tworzeniu interfejsu min
      1. Formularz w postaci tabelki
      2. „Inteligentna” paginacja
      3. Master-Detail, LOV
    14. Obsługa błędów
    15. Zasoby aplikacji
      1. Żądanie o zasoby (Resuorce Request) i jego obsługa
      2. Zależności od zasobów
      3. Znaczniki i obiekty EL
      4. Pakowanie i internacjonalizacja zasobów
    16. Wzbogacanie komponentów – Behaviour
    17. Tworzenie komponentów „od zera”
      1. Tworzenie komponentów
      2. Tworzenie rendererów
      3. Tworzenie znaczników
    18. Pakowanie i konfiguracja aplikacji, fazy projektu
    19. Testowanie interfejsu zbudowanego na JSF (JSFUnit/Selenium)
    20. Zabezpieczanie aplikacji
  6. 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
      1. Znacznik f:ajax i Ajax Behaviour
      2. Przetwarzanie żądań typu Ajax
      3. Przetwarzanie częściowe (Partial processing)
      4. Selektywne działania na drzewie komponentów
      5. Kolejkowanie
      6. obsługa błędów
    6. Ajax4JSF
      1. Wady i zalety podejścia, porównanie z podejściem natywnym
      2. Architektura silnika – zasada działania
      3. Przegląd możliwości
      4. Zagadnienia związane z wydajnością (kolejkowanie, opóźnianie, unieważnianie żądań, zmniejszanie wielkości żądania)
      5. Wpływanie na cykl życia JSF
      6. Ajax4JSF a JSON
    7. Richfaces
      1. Przegląd możliwości Richfaces
      2. Konfiguracja wyglądu (skórki)
      3. Walidacja
      4. RichFacej a jquery, script.aculo.us
  7. CDI (webbeans)
    1. Podstawowe pojęcia
      1. Ziarno
      2. Kontekst
      3. Zasięg
      4. Wstrzeliwanie zależności
    2. Ziarna
      1. Managed beans
      2. Session means
      3. Specjalizacja
      4. Aktywne i nieaktywne ziarna
    3. Zasięgi
      1. „klasyczne” zasięgi wbudowane
      2. Zasięg konwersacji
      3. Zasięg zależny
      4. Tworzenie niestendartowych zasięgów
      5. Zasięg domyślny
      6. Cykl życia obietków kontekstowych
    4. Wstrzeliwanie zależności
      1. Miejsca docelowe wstrzeliwania
      2. Kwalifikatory, Alternatywy, stereotypy
      3. Wstrzykiwanie po nazwie
    5. Metody fabrykujące
    6. Model zdarzeń i słuchaczy
    7. Użycie CDI w kontekście aplikacji EJB/JSF

Pytania?

* Wymagane.


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