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
**Cześć 1: DBMS**
1. Podstawy Microsoft SQL Server
2. Język SQL
3. Programowanie w T-SQL w tym kursory
4. Wyzwalacze, funkcje i procedury
5. Transakcje i blokady
6. Optymalizacja w tym normalizacja, indeksy i plany wykonania
**Cześć 2: System informatyczny**
1. Architektury aplikacji z bazą danych. Wprowadzenie do DDD
2. Podstawy testowania
3. Wzorzec repozytorium
* Narzędzia ORM na przykładzie NHibernate
* LINQ
4. Prezentacja danych
* sposoby prezentacji informacji
* stronicowanie, sortowanie, filtry i zastosowanie wzorca specyfikacji
5. Walidacja danych
6. Modele danych i automapper
7. Integracja systemów
* wzorce integracyjne
* usługi danych, protokół OData
8. Architektura microservices
9. Skalowalność rozwiązań, wzorzec CQRS
10. Zarządzanie trasakcjami, transakcje rozproszone
11. Podejście nierelacyjne: praktyczne zastosowania
**Wymagania:** Umiejętność programowania na dowolnej platformie
programistycznej oraz znajomość materiału z kursu WWW