technologia ejbi jpa
Transkrypt
technologia ejbi jpa
TECHNOLOGIA EJB I JPA KOD: EJBJPA PROFIL UCZESTNIKA Uczestnik: • posiada minimum roczne doświadczenie w programowaniu w języku Java; • zna podstawy tworzenia aplikacji w Java SE / EE; • zna praktycznie relacyjne bazy danych; • zna założenia technologii Java EE; • chce poznać efektywne sposoby używania EJB i JPA w tworzeniu aplikacji internetowych. KORZYŚCI ZE SZKOLENIA 1. Duża intensywność szkolenia – w niedługim czasie uczestnik poznaje najbardziej użyteczne aspekty EJB i JPA, umożliwiające efektywne tworzenie aplikacji Java SE i Java EE z użyciem baz danych. 2. Aplikacje korporacyjne tworzone są w uznanym i sprawdzonym standardzie – EJB i JPA to wiodący standard w technologii Java. 3. Programista potrafi rozwiązywać problemy podczas tworzenia aplikacji – w trakcie szkolenia uczymy, w jaki sposób radzić sobie z potencjalnymi problemami, które mogą pojawić się w trakcie tworzenia projektu. Pokazujemy sprawdzone techniki i triki programistyczne. PARAMETRY SZKOLENIA Czas trwania: 4 dni – 32 godziny Forma zajęć: Ćwiczenia - 60%, wykład – 40%. Wielkość grupy: ok. 12 osób. SZCZEGÓŁOWY PROGRAM Nabyte wiedza i umiejętności, poruszane zagadnienia Moduły szkoleniowe • EJB w architekturze Java EE • Przegląd EJB Wprowadzenie • o Komponenty sesyjne o Obiekty encyjne o Komponenty sterowane zdarzeniami Przegląd o Usługi kontenera o Komponenty stanowe i bezstanowe o Definiowanie komponentu sesyjnego – adnotacje EJB o Implementacja, interfejsy zdalny i lokalny • Model wdrożeniowy: ejb-jar, EAR, kontener • JNDI o Koncept JNDI o InitialContext o JNDI w praktyce Komponenty sesyjne Komponenty sterowane komunikatami (opcja) • Tworzenie klienta EJB3 • Wstrzykiwanie zależności w EJB3 • Korzystanie z zasobów poprzez kontener • Cykl życia komponentu sesyjnego oraz interceptory • Stanowe komponenty sesyjne – tworzenie, cykl życia, aktywacja i pasywacja • Usługa mechanizmu Timer • Przegląd systemów opartych o komunikaty o Komunikacja poprzez kolejki i kanały tematyczne • • • Przegląd JMS API ConnectionFactory o Przesyłanie komunikatów JMS o Klient JMS Komponenty MDB o Założenia o Adnotacja @MessageDriven o Przykład komponentu MDB o Konfiguracja activeConfig Transakcje Transakcje i bezpieczeństwo • o o Przegląd koncepcji związanych z systemami transakcyjnymi o Deklaratywne zarządzanie transakcjami o Atrybuty transakcji o Zasięg transakcji Przegląd zagadnień bezpieczeństwa w systemach rozproszonych o Adnotacje @RolesAllowed, @PermitAll o Bezpieczeństwo obsługiwane w sposób programistyczny • Wprowadzenie do JDBC • Uzyskanie połączenia • Klasy o Connection o Statement o PreparedStatement o ResultSet Współpraca z relacyjnymi bazami danych • Wzorzec DAO • Koncepcja mapowania relacyjno-obiektowego • Podstawy mapowania • Przegląd JPA • Architektura warstw dostępu do danych • Mapowania oparte o POJO • Podstawy konfiguracji • EntityManager Wprowadzenie do JPA JPA w praktyce Zapytania o Rola EntityManager w JPA o Cykl życia o Najważniejsze API • Jednostki trwałości (PersistenceUnit i ich konfiguracja • Operacje CRUD • Mapowanie klas – klasy encji • Mapowania • Generatory identyfikatorów • Typy wbudowane • Cykl życia obiektu trwałego • Wprowadzenie do Java Persistence Query Language • Interfejs Query • Tworzenie i używanie zapytań • Zapytania nazwane, projekcje i agregaty • Zapytania poprzez kryteria (Criteria API) • Przegląd relacji • Mapowanie kolekcji wartości • Mapowanie: 1:N, N:1, 1:1, N:N • Mapowanie relacji Relacje i dziedziczenie • Relacje jedno- i dwukierunkowe • Inwersja w relacji • Kaskadowość • Wczesne i opóźnione ładowanie • Mapowanie dziedziczenia o Strategia „tabela na klasę” o Strategia „tabela na podklasę” o Strategia „tabela na klasę konkretną” • Techniki optymalnego mapowania • Cache (zapytań, encji) • Pułapki lazy loadingu (n+1 select problem) • Unikanie pobierania nadmiernych danych - rozwiązania • Blokowanie optymistyczne i wersjonowanie • Cache • Wydajność • Zagadnienia projektowe Optymalizacja Zagadnienia zaawansowane