• Angielski
  • Polski
  • Kontakt
  • Wiedza
    • Do pobrania
    • Blogi
    • DDD-CqRS Sample
  • Aktualności
  • Pracownia programistyczna
  • Doradztwo
    • Techniczne
    • R & D
    • IT dla biznesu
    • Audyty i ekspertyzy
    • Asysta HR
  • Oferta szkoleń
    • Szkolenia
    • Szkolenia otwarte
    • Szkolenia++
    • Szkolenia - moduły
    • Mentoring
    • Wystąpienia
    • Jak pracujemy
  • O nas
    • Strona główna
    • Trenerzy
    • Nasi klienci
    • Jakość
    • Metodyka
Bottega

Praktycy dla Praktyków
Szkolenia i doradztwo

Sławomir Sobótka

Główny trener, programujący architekt specjalizujący się w Java EE, prezes SSEPP.

Szkolenie: Java Persistence API - zagadnienia zaawansowane

Informacje ogólne

zapytaj o szkolenie
Nazwa: Java Persistence API - zagadnienia zaawansowane
Kod: JPA-pro
Kategoria: Java Enterprise Edition
Grupa docelowa: Architekci, Projektanci, programiści
Czas trwania: 2 dni
Forma: 50% wykłady / 50% warsztaty
Pobierz program szkolenie-jpa-pro.pdf

Wydajność jest częstym problemem systemów opartych o ORM dlatego program szkolenia dobrano pod kątem optymalizacji wykorzystania JPA.

Szkolenie przedstawia typowe błędy programistyczne wpływające na drastyczny spadek wydajności, sposoby ich wykrywania oraz zapobiegania.

Materiał uzupełniono o specyficzne zagadnienia Hibernate, takie jak cache orz strategie mapowania encji.

Zalety szkolenia:
  • Zwracamy szczególną uwagę na wydajność
  • Prezentujemy typowe jak i mniej typowe pułapki
  • Wskazujemy rozwiązania każdego z omawianych problemów



Program szkolenia:


  • 1. Modelowanie encji z wykorzystaniem technik Obiektowych

    • 1.1. Elementy Domain Driven Design

    • 1.2. Mapowanie powiązań, sterowania kierunkiem właściciela

    • 1.3. Mapowania dziedziczenia - klasy bazowe dla Agregatów

    • 1.4. Wprowadzania do modelu ValueObjects zapewniających immutability i zwiększających siłę wyrazu modelu (adnotacja Embeded)

    • 1.5. Enkapsulaja modelu

    • 1.6. Określanie wyraźnej granicy grafu obiektu - określanie jednostki zmiany

  • 2. Architektura dostępu do danych w aplikacjach warstwowych

    • 2.1. Abstrakcja źródeł danych

    • 2.2. Wzorce DAO i Repository

    • 2.3. Wpływ na testability

    • 2.4. Wpływ na przenośność i skalowalność systemu

    • 2.5. Base DAO/Repository

    • 2.6. Umieszczenie dostępu do danych w architekturze aplikacji

    • 2.7. Projekt architektury pod kątem testowalności

  • 3. Wydajność dostępu do danych

    • 3.1. Pułapki wydajności JPA

      • 3.1.1. „n+1 Select problem” - wykrywanie i zapobieganie

    • 3.2. Pułapki Lazy Loadingu oraz zbyt chciwego pobierania danych

      • 3.2.1. Nadmierne pobieranie danych

      • 3.2.2. Racjonalne wykorzystanie Lazy Loadingu

    • 3.3. Optymalne mapowanie encji

      • 3.3.1. Nadmiarowość pobierania danych

      • 3.3.2. Problemy z leniwym ładowaniem pól

    • 3.4. Pobieranie konkretnych atrybutów

  • 4. JPA czy native SQL – dobór odpowiedniego narzędzia do konkretnego problemu

    • 4.1. Podejście pragmatyczne: refaktoryzacja z JPA na SQL przy pomocy DAO i wstrzykiwania zależności

    • 4.2. Dostęp do danych w kontekście architektury Command-query Responsibility Segregation

      • 4.2.1. Dedykowany model do odczytu - pobieranie danych odpowiednich do prezentacji

      • 4.2.2. Uaktualnianie modelu do odczytu

  • 5. Hibernate cache – niezastąpione rozwiązanie.

    • 5.1. Idea działania i konfiguracja

    • 5.2. Cache pierwszego poziomu

    • 5.3. Cache drugiego poziomu

    • 5.4. Cache zapytań - najlepsze praktyki

    • 5.5. Mapowanie encji zorientowanie na cacheowanie

  • 6. Entity Manager - tryb rozszerzony

    • 6.1. Naturalna granica jednostki pracy

    • 6.2. Transakcje aplikacyjne

    • 6.3. Model konwersacji

    • 6.4. Manualne opróżnianie kontekstu

  • 7. Testowanie

    • 7.1. Racjonalizacja architektury w kontekście piramidy testów

    • 7.2. Testowanie operacji na JPA

    • 7.3. Unikanie mockowania źródeł danych w testach jednostkowych

    • 7.4. Preferowanie testów end-to-end gdy pobieramy dane

    • 7.5. Zwiększanie pokrycia poprzez testy jednostkowe

  • 8. Transakcje w Java EE

    • 8.1. Deklaratywne (zarządzane przez kontener)

    • 8.2. Koncepcja transakcji sterowanych wyjątkami

    • 8.3. Zarządzane przez Bean

    • 8.4. Zarządzane przez klienta – praktyczne wykorzystanie w przypadku łączenia z operacjami nie tylko bazodanowymi

    • 8.5. Zagadnienie propagacji transakcji - Praktyczne przykłady na każdy z typów

    • 8.6. Zagadnienie izolacji transakcji – wpływ na wydajność

    • 8.7. Transakcje rozproszone w środowisku JEE

      • 8.7.1. Konfiguracja

      • 8.7.2. Zasada działania „double commit”

Lista szkoleń
nasi klienci więcej
  • asseco
  • eurobank
  • blstream
  • streamsoft
Bottega na konferencjach
  • konferencje
  • img

    Konferencja 33rd degree

    data: 19-31/03/2012

    Warsztaty DDD i 2 prezentacje

  • img

    Konferencja 4 Developers

    data: wiosna 2012

    TBD

Wydarzenia i Aktualności
  • img

    Softdevcon 2012 - Warszawa

    dodano 31/03/2012

    Zapraszamy na prezentację poświęconą technikom strukturyzacji aplikacji, która zostanie wygłoszona 8. maja podczas konferencji Softdevcon

  • 33rd Degree 2012 - Kraków

    dodano 02/01/2012

    Zapraszamy do Krakowa na konferencję 33rd Degree, gdzie nasz trener - ...

  • Softdevcon 2012 - Wrocław

    dodano 02/01/2012

    Zapraszamy na warsztat poświęcony podstawom Domain Driven Design, któr...

metodyka dreyfus
img

Wspinanie się po szczeblach kompetencji.

Metodyka nauczania w naszej firmie została oparta o jeden ze standardowych psychologicznych modeli kompetencji: pięciostopniowy model Dreyfus.

więcej
mobilne centrum szkoleniowe
img

Oferujemy usługi szkoleniowe w oparciu o własne Mobilne Centrum Szkoleniowe. MCS pozwala na przeprowadzenie szkoleń w dowolnym, dogodnym dla klienta miejscu.

Możesz wybrać dowolną lokalizację szkoleń a my zajmiemy się infrastrukturą techniczną.

więcej
Materiały do pobrania

Sprawdź próbkę naszych kompetencji.

video i prezentacje
  • video
  • Software Craftsmanship i Wzorce projektowe


    prezentacja z konferencji Javarsovia 2010

  • video
  • Domain Driven Design


    prezentacja z konferencji Confitura 2011

więcej materiałów
artykuły
  • pdf
  • Domain Driven Design – projektowanie złożonych modeli


    Artykuł opublikowany w Software Developer's Journal nr 08/2011

  • pdf
  • Modelowa ścieżka rozwoju kompetencji – Model Dreyfus


    Artykuł opublikowany w Software Developer's Journal nr 02/2010

więcej artykułów
bottega - [z j. włoskiego] pracownia;
w renesansie było to miejsce gdzie
spotykał się humanizm, sztuka i rzemiosło
© Bottega 2011 Wszelkie prawa zastrzeżone
Jesteśmy członkiem: 
ssepp
Projekt:  
hello
facebook blog twitter linkedin