Adresaci szkolenia:

Szkolenie adresowane jest do programistów Java pragnących zapoznać się z zasadami tworzenia rozproszonych komponentów logiki biznesowej w oparciu o EJB i warstwy trwałości opartej na JPA.

Cel szkolenia:

Celem szkolenia jest poznanie zasad tworzenie rozproszonych komponentów logiki biznesowej w oparciu o EJB 3.0/3.1 oraz warstwy trwałości w oparciu o JPA 1.0/2.0 wraz z zagadnieniami integracji, testowania oraz skalowania.

W szczególności uczestnicy:

  • zapoznają się z problemami architektury rozproszonej oraz sposobem jej realizacji przy pomocy EJB.
  • poznają komponenty sesyjne stanowe i bezstanowe oraz komponenty sterowane wiadomością wraz z ich zastosowaniem.
  • dowiedzą się jak kontener zarządza transakcjami oraz bezpieczeństwem.
  • poznają zasady uruchamiania i integracji aplikacji opartych na EJB.
  • 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 dbać o spójność danych i wydajność aplikacji.
  • dowiedzą się jak testować ww. komponenty.

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:

3*8 godzin (3*7 godzin netto)(w wariancie EJB3.0/JPA1) lub 4*8 godzin (4*7 godzin netto) (w wariancie EJB3.1/JPA2), wykładów i warsztatów (z wyraźną przewagą warsztatów). W trakcie warsztatów, oprócz prostych ćwiczeń, projektowana i implementowany jest backend prostej aplikacji.

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

Program szkolenia

* pozycje oznaczone gwiazdką dotyczą jedynie wariantu EJB3.1/JPA2

  1. Wstęp
    1. Wprowadzenie do platformy Java Enterprise Edition
    2. Omówienie komponentów i specyfikacji JEE w tym JNDI, JMS, RMI, Servlet, JSP, EJB, webserwisy,
    3. Zagadnienia projektowania aplikacji na platformie JEE, doboru technologii, bezpieczeństwa etc.
  2. 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
    4. Wywołania asynchroniczne metod komponentów sesyjnych*
    5. 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
    6. 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
    7. Interceptory
    8. Model wyjątków
    9. Komponenty Sterowane Wiadomością
      1. Zasada działania
      2. Rodzaje komunikacji
    10. Bezpieczeństwo komponentów
    11. 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
    12. Usługi czasowe (TimerService)
      1. Interfejsy Timer i TimerService
      2. Automatyczne uruchamianie usług w oparciu o kalendarz*
    13. Usługi webservice w kontekście EJB
      1. Podstawy webservice
      2. JAX-WS a EJB
      3. 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*
      4. Testowanie komponentów EJB
      5. Wzorce Projektowe warstwy logiki i dostępu do logiki
  3. Java Persistence API
    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. Podstawy 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

Pytania?

* Wymagane.
** Szczegóły promocji w Regulaminie.


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