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