Dobrze zaprojektowana aplikacja przetwarzająca i prezentująca dane ma wiele warstw i komponentów o określonych odpowiedzialnościach. Celem wykładu jest zaprezentowanie, jak dobrze taki typ aplikacji zaprojektować i oprogramować.
Podczas wykładów oraz towarzyszących im pracowni będziemy poznawać i budować kolejne elementy rozwiązania, aby ostatecznie otrzymać kompletny, działający system.
**Program**
Składa się z dwóch głównych części
**Część 1: DBMS**
1. Podstawy Microsoft SQL Server
2. Język SQL
3. Programowanie w T-SQL
4. Kursory, wyzwalacze, funkcje i procedury
5. Transakcje i blokady
6. Optymalizacja w tym normalizacja, indeksy i plany wykonania
7. Przegląd wybranych baz danych typu NoSQL
**Część 2: System informatyczny**
1. Podstawy uruchomienia rozwiązania w chmurze
2. Architektura Microservices, podstawy konteneryzacji
3. Architektury aplikacji z bazą danych
4. Przegląd Domain-Driven Design
5. Wzorce CQRS i Event Sourcing
6. Podstawy testowania
7. Wzorzec repozytorium, w tym narzędzia ORM i LINQ
8. Walidacja danych
9. Modele danych i automapper
10. Prezentacja danych, w tym
- sposoby prezentacji informacji
- stronicowanie, sortowanie, filtry
- wzorzec specyfikacji
11. Integracja systemów, w tym
- wzorce integracyjne
- usługi danych, protokół OData
- API management
- podstawy federacji tożsamości
12. Skalowalność rozwiązań,
13. Zarządzanie transakcjami, transakcje rozproszone
14. Podstawy analizy danych i raportowania
**Wymagania:** Umiejętność programowania na dowolnej platformie
programistycznej oraz znajomość materiału z kursu WWW