Dobrze zaprojektowana aplikacja przetwarzająca i prezentująca dane ma wiele
rożnych warstw i komponentow o określonych odpowiedzialnościach. Celem wykładu
jest zaprezentowanie, jak dobrze taki typ aplikacji zaprojektować i
oprogramować. Podczas wykładow 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 dwoch głownych 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 systemow
* wzorce integracyjne
* usługi danych, protokoł OData
* idea microservices
8. Skalowalność rozwiązań, wzorzec CQRS
9. Zarządzanie trasakcjami, transakcje rozproszone
10. Podejście nierelacyjne: praktyczne zastosowania
**Wymagania:** Umiejętność programowania na dowolnej platformie
programistycznej oraz znajomość materiału z kursu WWW