Celem przedmiotu jest omówienie ze studentami zagadnień projektowania współczenych Systemów Informatycznych i architektur rozproszonych. Poczynając od założeń MVC, poprzez architektury chmurowe, mikroserwisy, a na clean architecture i kontenerach kończąc. Nie zabraknie też tematów związanych z niezawodnością, zapewnieniu wysokiej wydajności i wykorzystaniu Internetu Rzeczy i Big Data w Przemyśle 4.0.
ASI - Architektury systemów informatycznych
dr inż. Paweł Tadejko
WAŻNE TEMATY ZWIĄZANE Z ARCHITEKTURĄ
O KTÓRYCH BĘDZIEMY MÓWIĆ
Dobrze zaprojektowana
Architektura Systemów Informatycznych ma spełniać wymagania biznesu. Współczesne systemy są najczęściej rozproszone. Ale niezależnie, czy to WWW, czy aplikacja mobilna, projektowanie to wyzwanie.
Wydajna
Czym większe wymagania niezawodnościowe, bezpieczeństwa, transakcyjności, tym bardziej skomplikowana jest konstrukcja architektury. Są jednak sprawdzone wzorce, które mogą pomóc.
Niezawodna
Współczesne architektury rozproszone oparte są często na chmurze, usługach i mikroserwisach. Zalety mikroserwisów, czasem stają się wadami. Opowiemy o czym należy pamiętać projektując architekturę.
Oparta na dobrych wzorcach
Współczesne architektury są kontynuacją podejścia SOA (Service Oriented Architecture). I choć rządzą mikroserwisy, to rozwiązania Message Driven czy Service Bus są ich uzupełnieniem, zwłaszcza w bardziej wymagających rozwiązaniach.
Firmy w których zdobywałem doświadczenie
Pełnych sensorów, integracji, API, serwisów i komunikacji pomiędzy urządzeniami.
systemów smart city i bezpieczeństwa publicznego
Opartych o hurtownie danych i rozwiązania do składowania i analizy danych i big data.
dla Ministerstwa zdrowia
i Ministerstwa Finansów
Zbudowanych z aplikacji WEBowych, rozproszonych systemów baz danych i usług komunikacyjnych, także z urządzeniami mobilnymi.
systemów dowodzenia dla Służb mundurowych
Przy projektach
Sylabus przedmiotu
Wykład:
Wprowadzenie do zagadnienia architektury systemów informatycznych. Dokumentowanie architektury w podejściu 4C - Context, Containers, Components, Classes
Podejście warstwowe. Różnice pomiędzy Layer a Tier. Wzorce warstwy dostępu do danych
Problemy integracji poszczególnych komponentów. Trójwarstwowy podział aplikacji: prezentacji, usług / logiki biznesowej, persystencji
Architektura przetwarzania w chmurze (Cloud Computing) i elementy aplikacji rozproszonych
Architektura współczesnej aplikacji WEB. Architektura zorientowana na usługi SOA.
Rozwiązania typu monolit i microservices. Zalety i wady.
Koncepcja ESB. Szyna usług. Zalety i wady. Rozwiązania i frameworki klasy enterprise i microservices.
Rozwiązania wydajnościowo-niezawodnościowe. Systemy klasy Enterprise. Transakcyjne systemy rozproszone.
Command-Query Responsibility Segregation – rozszerzona architektura warstwowa. Wsparcie dla Domain Driven Design; Event Sourcingu; Architektura microservices a CQRS/ES
Clean Architecture a MVC i inne rozwiązania hybrydowe
Architektura korporacyjna (TOGAF).
Zarządzanie usługami IT w przedsiębiorstwie.
Pracownia specjalistyczna
Jak opisać procesy biznesowe w przedsiębiorstwie, których dotyczą wymagania na systemy informatyczne.
Archimate - elementy z perspektywy strategii i biznesu. Warstwy architektury wg. notacji Archimate: Warstwa biznesowa, Warstwa systemów informatycznych, Warstwa infrastrukturyArchimate: Ćwiczenia z modelowania. Zadanie projektowe.
Wybrane zajęcia z tworzenia i administracji zasobami Microsoft Azure na bazie materiałów AZ-900 (Microsoft Azure Fundamentals), AZ-104 (Microsoft Azure Fundamentals) i AZ-204 (Developing Solutions for Microsoft Azure).
Czym jest architektura monolityczna, a czym microserwisów? Jakie są wady i zalety obu typów architektur? Jak można poradzić sobie z architekturą microserwisów, która ma kilkaset microserwisów?
Jak projektować koncepcje architektury Systemów Informatycznych i rozwiązań rozproszonych w kontekście Przemysłu 4.0. Technologie Cloud Computing, Edge/Fog Computing i ich rola w architekturze współczesnych rozwiązań Przemysłowego Internetu Rzeczy.
Problemy integracji, zbierania i składowania danych oraz ich dalszej analizy, w rozwiązaniach informatycznych Przemysłu 4.0.
Implementacja w Microsoft Azure koncepcji systemu rozproszonego na przykładzie Fabryki Przyszłości. Zakres: zbieranie i składowanie danych, integracja z systemami firmy, analiza danych na potrzeby systemów menadżerskich.
Literatura podstawowa:
Sam Newman, Od monolitu do mikrousług : ewolucyjne wzorce przekształcania systemów monolitycznych, Gliwice: Helion, 2020
Krzysztof Bończak, W poszukiwaniu zwinności w architekturze systemów IT, Warszawa: Wydaw. Naukowe PWN, 2017
Nathan Marz James Warren, Big Data: najlepsze praktyki budowy skalowanych systemów obsługi danych w czasie rzeczywistym, Gliwice: Helion, 2016
Alebrahim, Azadeh, Bridging the Gap Between Requirements Engineering and Software Architecture: A Problem-Oriented and Quality-Driven Method, Wiesbaden: Springer Fachmedien Wiesbaden GmbH, Elsevier Science, 2017
Mistrik, Ivan ; Bahsoon, Rami ; Ali, Nour ; Heisel, Maritta ; Maxim, Bruce, Software Architecture for Big Data and the Cloud, San Francisco: Elsevier Science & Technology, 2017
Szymon Drejewicz, Zrozumieć BPMN : modelowanie procesów biznesowych, Helion, 2017