Предмет | Микросервисна архитектура информационих система |
---|---|
Модул | Информациони системи и технологије |
Статус предмета | Изборни предмет |
Катедра | Катедра за информационе системе |
Број ЕСПБ бодова | 5 |
Стицање теоријских основа и практичних знања неопходних за развој ИС умикросервисној архитектури
Студенти ће бити оспособљени да:
-Дефинишу фундаменталне особине, предности и недостаткемикросервисне архитектуре ИС
-Анализирају и решавају основне проблеме развоја ИС у микросервисној архитектури
-Практично раде са појединим алатима и технологијама микросервисне архитектуре ИС
-Дефинишу процес и организацију развоја ИСу микросервисној архитектури
Предавања праћена одговарајућим електронским презентацијама. Лабораторијске вежбе базиране на илустративним и реалним примерима, кроз интерактивни рад са студентима. Након тога, студенти самостално или у групама раде на изабраној и одобреној теми.
Теоријска настава:
Кратак преглед класичних монолитних архитектура ИС. Основе карактеристике микросервисне архитектуре (МА).Поређење монолитнеархитектуреи МА. Основниаспекти и проблеми реализације МА. Приступмикросервисима (API gateway). Откривање сервиса. Међу-сервисна комуникација. Управљање децентрализованим подацима и дистрибуираним трансакцијама. „CAP“ и „PACELC“теореме. Доменски догађаји и „Извирање догађаја“ („Event sourcing“)пројектни узор. Реализација дуготрајних трансакција преко „Saga“ узоракоришћењем оркестрације или кореографије. Руковање парцијалним испадима и грешкама, „прекидач струјног кола“ узор. Стратегије инсталирања микросервиса. Алати и технологије за развој микросервиса засноване на виртуелним (Cloud) сервисима. Виртуелна инфраструктура као извршни код. Паковање микросервиса у контејнере и управљање контејнерима (Docker, Kubernetes). Анализа и пројектовање микросервиса. Развој вођен доменом (Domen Driven Design). Дефинисање опсега и идентификација микросервиса. Основни пројектни узори за реализацију микросервиса (трансакциони скрипт, агрегирани објекти). Процес имплементације микросервиса кроз интеграцију развоја и експлоатације (<енг<ДевОпс). Агилни развој, континуална интеграција и испорука (CI/CD). Организација развоја МА. Миграција постојећих монолитних апликација.
Практична настава:
Примери монолитнеархитектуре, СОА и микросервисне архитектуре. Упоредна анализа предности и недостатака. Практичан рад са технологијама и алатима за развој МА. Прибављање виртуалних ресурса. Практичан рад са Docker контејнерима. Реализација елемената „Извирање догађаја“ и „Saga“ пројектног узора. Пример развоја МА и организације тог развоја.
1. Richards M., Ford N. Fundamentals of Software Architecture: An Engineering Approach, 1st Edition O’Reilly Media 2020
2. Lankhorst M. Enterprise Architecture at Work: Modelling, Communication and Analysis (The Enterprise Engineering Series), 3rd Edition Springer 2012
3. Vernon V. Implementing Domain-Driven Design, 1st Editionv Addison-Wesley Professiona 2013
4. Vernon V. Strategic Monoliths and Microservices: Driving Innovation Using Purposeful Architecture, 1st Edition Addison-Wesley Professiona 2021
5. Richards M. Software Architecture Patterns, ISBN: 9781491924242 O’Reilly Media 2015
6. Microservices Patterns: With examples in Java, 1st Edition Manning 2018