Spring Data (JPA i noSQL)

Kod: nosql-data
Kategoria: NoSQL
Forma: 40% wykłady / 60% warsztaty
Czas trwania: 3
Grupa docelowa: architekci
developerzy

Poznasz techniki dostępu do prezentowanych baz danych.

 Zrozumiesz w jaki sposób różne modele danych można dobrać do potrzeby twojej aplikacji oraz jak przy pomocy cross store tworzyć aplikacje, które realizują dostęp do różnych baz danych, czyli zapoznamy się z koncepcja poliglot persistence.

Podczas szkolenia zapoznamy się z czterema różnymi modelami danych, w tym JPA 2.0, klucz-wartość z wykorzystaniem Redis, bazy danych dokumentów z wykorzystaniem MongoDB oraz baz danych opartych o model grafu z wykorzystaniem Neo4j.

Spring Data to rodzina projektów rozwijanych przez społeczność SpringSource, która ma na celu dostarczenie uwspólnionego zestawu mechanizmów, wspierającego pracę z różnymi modelami baz danych. Sukces nowych modeli danych, które odbiegają od dobrze nam znanego modelu relacyjnego, postawił programistów w trudnej sytuacji. Coraz częściej przychodzi nam pracować z aplikacjami, które wymagają interakcji z bazami NoSQL. Każda z tych baz udostępnia unikalne API, które wymaga od architektów i programistów zaznajomienia się z mnogością technik i sposobów dostępu do baz danych. Bardzo często znajomość JDBC API w obecnych czasach już nie wystarcza, aby w pełni zrealizować potrzeby biznesowe klientów.

Spring Data ułatwia rozwój aplikacji podczas pracy z różnymi modelami baz danych. Od relacyjnych baz danych, poprzez JDBC, mapowania O / R i JPA, po najnowsze bazy danych NoSQL, które obejmują rozwiązania oparte o model klucz-wartość (key value stores), bazy dokumentów (document stores) oraz systemy oparte o model grafów.

Spring Data stara się wprowadzić ujednolicony mechanizm komunikacji, a także zapewnia jednolity model programowania. Dzięki wykorzystaniu dynamicznych proxy uwalnia nas od pisania szablonowego kodu, promując zasadę convention over coding. Dzięki temu możemy się skupić się na budowaniu kompletnych modeli domeny, skutkuje to wyższą jakością dostarczonego kodu w krótszym czasie. Spring Data dostarcza też lekkie mechanizmy mapowania poszczególnych modeli danych na obiekty Javy.

Wyróżniki szkolenia

Podczas zajęć możesz oczekiwać szczególnych akcentów położonych na poniższe aspekty:

  • Szeroki wachlarz noSQL
  • Dobór modelu danych do problemu
  • Rozszerzenie o aspekty architektury

Program Szkolenia

Pobierz program w formacie PDF
  1. Wstęp
    1. Architektura systemu
    2. Architektura aplikacji
    3. Miejsce dostępu do danych w architekturze
      1. Warstwy
      2. Ports and Adapters
    4. Transakcje
    5. Propagacja
    6. Open session in view
      1. Za i przeciw
      2. Pułapki
    7. Audyt
  2. Repozytoria JPA
    1. Podstawowe operacje CRUD z wykorzystaniem repozytoriów JPA
    2. Zapytania z wykorzystaniem mechanizmu “query by convention”
    3. Zapytania z wykorzystaniem mechanizmu “query using annotations”
    4. Mechanizmy rozszerzania bazowej implementacji repozytorium JPA
    5. Operacji modyfikacji (dodawanie, usuwanie oraz aktualizacja danych)
    6. Wykorzystanie specyfikacji w tworzeniu dynamicznych zapytań
    7. Silnie typowane zapytania z wykorzystaniem biblioteki QueryDSL
    8. Automatycznie generowane zapytania i własne implementacje
    9. Modelowanie Agregatów (DDD) vs struktury danych
      1. Konsekwencje
      2. Implikacje w konkretnych technologiach
  3. Wstęp do noSQL
    1. Paradygmat CAP
    2. Podejścia do noSQL
    3. Dobór podejścia do klasy problemu
  4. Repozytoria MongoDB,
    1. Wprowadzenie do baz danych opartych o model dokumentów, na przykładzie
  5. MongoDB
    1. Modelowanie z wykorzystaniem dokumentów, podstawowe wzorce
    2. Mapowanie dokumentów do obiektów Java
    3. Tworzenie zapytań do MongoDB
    4. Wykorzystanie technik Map/Reduce
    5. Cross store z wykorzystaniem MongoDB i JPA
  6. Repozytoria Neo4j
    1. Wprowadzenie do świata grafów, na przykładzie Neo4j
    2. Mapowanie wierzchołków i krawędzi w grafie do obiektów Java
    3. Tworzenie zapytań do Neo4j
    4. Wykorzystanie DSLi Gremlin oraz Cypher do przemierzania struktury grafów
    5. Cross store z wykorzystaniem JPA
  7. Dostęp do baz typu klucz wartość na przykładzie Redis
    1. Redis, sposób na przechowywanie różnych struktur danych
    2. Mapowanie Java Collections do struktów danych dostępnych w Redis
    3. Model Publish Subscribe z wykorzystaniem Redis
    4. Redis jako implementacja Cache
  8. Pułapki i najlepsze praktyki
  9. Wykorzystanie Spring Data w aplikacjach internetowych
  10. Wykorzystanie Spring Data w kontenerach JavaEE
  11. Testowanie dostępu do danych z wykorzystaniem Spring Test

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

  • MySQL pod obstrzałem
    KATEGORIE: Bazy danych

    Skalowanie i tuning MySQL.

    Autor Bottega:

    Mariusz Gil

Zapytaj o szkolenie

Imię i nazwisko:
Firma:
E-mail/Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń