Софтверске компоненте

Циљ и исход предмета

Упознавање са принципима развоја софтвера заснованог на компонентама, као и са алатима за управљање и повезивање софтверских компоненти, затим сервисно-оријентисаном софтверском архитектуром и концептом микросервиса. Студент разуме појам софтверске компоненте у смислу физиче и логичке модуларности, рејузабилности и апстракције компоненте, разуме улоге интерфејса и сервиса компоненте, проблеме зависности од других компоненти и познаје алате за паковање и повезивање софтверских компоненти. Студент разуме појам сервисно оријентисане софтверске архитектуре, познаје концепте микросервисне софтверске архитектуре као алтернативе монолитној архитектури.

Теоријска настава

Циљеви и предности развоја софтвера заснованог на компонентама. Појам софтверске компоненте. Основне карактеристике софтверске компоненте. Појам физичке и логичке модуларности. Пракса одвајања спецификације од имплементације софтверске компоненте. Поштовање SOLID принципа и примена дизајн патерна у развоју заснованом на компонентама. Документовање софтверске компоненте. Појам билд алата и управљање повезаним компонентама. Преглед савремених билд алата за програмске језике Java и Python. Стандарди за развој модуларних система за Java платформу – OSGi i Jigsaw. Софтверске лиценце и верзије. Сервисно оријентисана софтверска архитектура и веб сервиси. Технологије и стандарди за имплементацију веб сервиса – SOAP и REST. Појам микросервиса и поређење са другим архитектурама. Интеграција микросервиса и комуникација између микросервиса. Микросервиси и кориснички интерфејс, микросервиси и базе података. Кораци у провођењу монолитне у микросервисну архитектуру.

Практична настава

Приказ илустративног примера софтверске компоненте која користи друге компоненте и њено проширење додатним функционалностима. Илустрација особине рејузабилности компоненте. Рад са системима за управљање верзијама. Коришћење билд алата за Javu – Apache Ant, Apache Maven и Gradle. Креативна вежба креирања компоненте са одвојеном спецификацијом. HTTP протокол и REST архитектура. Имплементација микросервисне апликације коришћењем Spring Boot технологије. Рад са базама података у микросервисној архитектури укључујући релационе и нерелационе базе. Коришћење Hiberante ORM алата за перзистенцију података у релациону базу. Комуникација између микросервиса и коришћење система за размену порука.

3067-softverske-komponente

sbobet88 slot agb99 situs slot slot777 toto AMANAHTOTO slot SLOT GACOR AMANAHTOTO toto slot88 ASIA200 ASIA200 ASIA200 bayijudy.com situs resmi bayitoto slot gacor popotogel login situs slot eropa99 hoki99 roma77 babe138 roma77 roma77 hoki99 abadicash