Dostęp do danych z wykorzystaniem Spring Data

Znajomość JDBC API to już dziś stanowczo za mało, by w pełni zrealizować potrzeby biznesowe klientów. Te spełni Spring Data. To  ułatwienie rozwoju aplikacji podczas pracy z różnymi modelami baz danych oraz ujednolicony model programowania. Spring Data promuje zasadę „convention over coding” – wykorzystuje dynamiczne proxy, dzięki czemu uwalnia nas od szablonowego kodu. Dzięki Spring Data zyskujecie czas na budowanie kompletnych modeli domeny. Wyższa jakość dostarczonego kodu w krótkim czasie- czego chcieć więcej? Spring Data dostarcza ponadto lekkie mechanizmy mapowania poszczególnych modeli danych na obiekty Javy.

Celem szkolenia jest zaznajomienie uczestników z różnymi wzorcami pracy z bazami danych, a także wyjście poza relacyjny model danych. Poznacie nieznane Wam wcześniej techniki modelowania, na nowo spojrzycie na sposoby pracy z danymi i wpływ różnych modeli na architekturę aplikacji. Podczas szkolenia stworzycie aplikację internetową, z wykorzystaniem różnych techniki modelowania w oparciu bibliotekę Spring Data. Poznacie takie bazy danych jak: MongoDb, Neo4j czy Redis.

Program szkolenia „Dostęp do danych z wykorzystaniem Spring Data”:

    1. Wzorce dostępu do warstwy danych w aplikacjach
      1. Budowanie warstwy abstrakcji dostępu do danych z wykorzystaniem Data Access Objects i Data Transfer Objects
      2. Anemic domain model vs Domain Driven Design vs Naked objects
      3. Praca z danymi – z wykorzystaniem wzorców Transaction Script, Table Data Gateway oraz Active Record
      4. Warstwa dostępu do danych i jej rola w kontekście aplikacji. Interakcja z warstwą dostępu do danych w kontekście wzorców Model View Controler i Command Query Responsibility Segregation
    2. Dostęp do relacyjnych baz danych z pomocą JPA (Java Persistance API) i Spring Data
      1. Repozytoria JPA, odstawowe operacje CRUD
      2. Zapytania z wykorzystaniem mechanizmu „query by convention”
      3. Zapytania z wykorzystaniem mechanizmu „query using annotations”
      4. Mechanizmy rozszerzania bazowej implementacji repozytorium JPA
      5. Operacje modyfikacji (dodawanie, usuwanie oraz aktualizacja danych)
      6. Wykorzystanie specyfikacji w tworzeniu dynamicznych zapytań
      7. Silnie typowane zapytania z wykorzystaniem biblioteki QueryDSL
    3. Wstęp do baz NoSQL
      1. Paradygmaty CAP, BASE i ACID, różne gwarancje spójności danych
      2. NoSQL i różne modele danych
      3. Dobór właściwego modelu danych do klasy problemu
    4. Kolekcje dokumentów czyli dostęp do danych w MongoDB
      1. Wprowadzenie do baz danych opartych o model dokumentów, na przykładzie MongoDB
      2. Modelowanie z wykorzystaniem dokumentów, podstawowe wzorce
      3. Mapowanie dokumentów do obiektów Java
      4. Tworzenie zapytań do MongoDB
      5. Wykorzystanie technik Map/Reduce
      6. Cross store z wykorzystaniem MongoDB i JPA
    5. Wierzchołki i krawędzie czyli grafy w 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
    6. Dostęp do baz typu klucz wartość na przykładzie Redis
      1. Redis – sposób na przechowywanie różnych struktur danych
      2. Dostęp do baz typu „klucz-wartość” na przykładzie Redis
      3. Mapowanie Java Collections do struktur danych dostępnych w Redis
      4. Model Publish Subscribe z wykorzystaniem Redis
      5. Redis jako implementacja Cache
    7. Pułapki i najlepsze praktyki
      1. Wykorzystanie Spring Data w aplikacjach internetowych
      2. Wykorzystanie Spring Data w kontenerach JavaEE
      3. Testowanie dostępu do danych z wykorzystaniem Spring Test

Zapytaj o szkolenie