Backendudvikling, drift og distribuerede systemer
Overordnede kursusmål
At designe, opbygge, idriftsætte og overvåge en moderne backend for en app eller webside.
At forstå teori og god praksis indenfor opbyggelsen af distribuerede systemer.
See course description in English
Læringsmål
- skelne mellem forskellige arkitekturer i moderne backends
- anvende resurseorienterede protokoller (såsom REST) som klient og server
- forstå metodeorienterede protokoller (såsom SOAP)
- forstå transaktionsbegrebet og transaktionsisolering i et distribueret system
- forstå sikkerhedsaspekterne i et distribueret system
- udvikle en implementering af et distribueret system
- udvælge og konfigurere en passende driftsplatform og idriftsætte en backend
- skelne mellem forskellige container-baserede virtualiseringsteknologier, såsom Docker, og moderne serverdrift
- anvende driftsovervågning på et distribueret system
- vurdere og integrere forskellige backends as a service (BaaS) som en del af et distribueret system
- vurdere bæredygtighed i forbindelse med valg af driftsplatform og backend
Kursusindhold
Arkitekturer og design af moderne backends som en del af et distribueret system: client/server, serviceorienterede arkitekturer (SOA) og webtjenester såsom SOAP, JSON REST og GraphQL.
Richardson’s maturity model for en REST service.
Arkitekturer inden for for webapplikationer (HTML, Javascript, serverside og klientside sprog og deres samspil)
Gode praksisser indenfor moderne backendudvikling
Håndtering af samtidighedsproblematikker i en backend
Kurset er projektorienteret og der arbejdes på udvikling af et distribueret system efter eget valg, typisk en backend med kommunikationen med en webside og en app.
Anbefalede forudsætninger
Kendskab til Java, objektorienteret programmering og basal forståelse for flertrådet programmering.
Kendskab til netværksprotokoller, herunder TCP/IP og HTTP.
Undervisningsform
Forelæsninger, øvelser og obligatoriske opgaver.
I kurset udvikler du en backend efter eget valg, der kan benyttes tværfagligt i bl.a. 02363
Fakultet
Bemærkninger
IoT og digital sikkerhed