Računarstvo zasnovano na uslugama
Opis predmeta
Opće kompetencije
Predmet osposobljava studente za oblikovanje, izgradnju i analizu raspodijeljenih računalnih sustava zasnovanih na web uslugama. Studenti su osposobljeni primijeniti načela REST arhitekturnog stila za projektiranje web usluga sa svojstvima visoke učinkovitosti, razmjernog rasta i sigurnosti. Nadalje, studenti su osposobljeni provesti analizu usklađenosti postojećih web usluga s načelima REST arhitekturnog stila, uočiti nedostatke i predložiti korake koji će dovesti do poboljšanja svojstava visoke učinkovitosti, razmjernog rasta i sigurnosti. Studenti stječu praktična znanja o programskom ostvarenju web poslužitelja, web klijenata, posrednika za privremeno spremanje i isporuku web sadržaja te asinkronih web usluga zasnovanih na suvremenom Websocket protokolu.
Ishodi učenja
- definirati uslugu kao programsku cjelinu te razlikovati usluge od objekata i komponenti
- prepoznati hijerarhiju protokola i standarda u računarstvu zasnovanom na uslugama
- primijeniti objektno-orijentiranu programsku paradigmu i tehnologije zasnovane na komponentama u izgradnji usluga
- definirati postupak izgradnje raspodijeljenih sustava povezivanjem postojećih usluga
- dizajnirati i izgraditi raspodijeljeni primjenski sustav postupkom kompozicije usluga
- objasniti koordinaciju i upravljanje sustavima zasnovanim na uslugama
- objasniti kompoziciju usluga zasnovanu na semantičkom opisivanju usluga
- ocijeniti i vrednovati sigurnost i pouzdanost sustava zasnovanih na uslugama
Oblici nastave
Predavanja popraćena PowerPoint projekcijom uz demonstraciju programske izvedbe prikazanih teorijskih načela
Provjere znanjaDva pismena ispita
Laboratorijske vježbeOblikovanje i izgradnja web usluge zasnovane na REST načelima, Hadoop. Studenti samostalno programski ostvaruju laboratorijski zadatak i povremeno demonstriraju napredak u radu asistentima.
KonzultacijePojedinačne konzultacije s nastavnicima i asistentima organiziraju se po potrebi na zahtjev studenta.
Način ocjenjivanja
Kontinuirana nastava | Ispitni rok | |||||
---|---|---|---|---|---|---|
Vrsta provjere | Prag | Udio u ocjeni | Prag | Udio u ocjeni | ||
Laboratorijske vježbe | 43 % | 35 % | 43 % | 0 % | ||
Sudjelovanje u nastavi | 0 % | 5 % | 0 % | 0 % | ||
Međuispit: Pismeni | 0 % | 30 % | 0 % | |||
Završni ispit: Pismeni | 0 % | 30 % | ||||
Ispit: Pismeni | 43 % | 100 % |
Napomena / komentar
Kontinuirana nastava: Prag (Međuispit: Pismeni + Završni ispit: Pismeni + Prisutnost i sudjelovanje u nastavi) = 50 %
Tjedni plan nastave
- Uvod; definicija uslužno usmjerenog računarstva kao paradigme razvoja i uporabe programske potpore; primjeri dualnog pristupnog sučelja (korisničko i programsko) popularnih web usluga; kratki povijesni pregled razvoja weba
- Osnove HTTP protokola; HTTP zahtjev i HTTP odgovor; struktura HTTP poruke: linija zahtjeva i statusna linija, zaglavlja, tijelo; URL adresa; klijentski algoritam dohvata web sredstva; programsko ostvarenje jednostavnog klijentskog programa za komunikaciju HTTP protokolom
- REST arhitekturni stil i web usluge zasnovane na REST arhitekturnom stilu; ograničenja REST arhitekturnog stila kod oblikovanja mreže, sadržaja i međudjelovanja; REST ograničenja kod oblikovanja mreže: klijent-poslužitelj arhitektura, višeslojna arhitektura; posrednici u komunikaciji
- REST ograničenja kod oblikovanja sadržaja: adresibilnost; arhitektura zasnovana na sredstvima; naslovljavanje sredstava; URI, URL i URN
- REST ograničenja kod oblikovanja sadržaja: povezanost; reprezentacije sredstava; hipermedija; hipermedijske tehnologije: HTML, XML, JSON; tipovi podataka za reprezentaciju sredstava u HTTP protokolu; pregovaranje o sadržaju
- REST ograničenja kod oblikovanja međudjelovanja: ujednačeno sučelje i komunikacija bez očuvanja stanja; HTTP metode; HTTP povratne vrijednosti; neškodljivost i ponovljivost HTTP metoda; primjer programskog ostvarenja HTTP poslužitelja primjenom Java servlets tehnologije
- REST ograničenja kod oblikovanja međudjelovanja: privremeno spremanje sadržaja na posredniku i isporuka izvodljivog koda na zahtjev; uvjetni HTTP zahtjev i utjecaj na svojstvo razmjernog rasta; topologije posredničkih sustava za privremeno spremanje i isporuku sadržaja; algoritam obrade korisničkog zahtjeva uz primjenu posredničkog sustava za privremeno spremanje i isporuku sadržaja; REST trokut; model za ocjenu usklađenosti web usluge s preporukama REST arhitekturnog stila
- Međuispit
- Oblikovanje REST usluge; oblikovanje sredstava i URL adresa; modeliranje sredstava; izbor pristupnih metoda i povratnih vrijednosti; oblikovanje metapodataka o sredstvima; HTTP protokol u režimu rada postojane mrežne veze; HTTP protokol u cjevovodnom režimu rada
- Web tehnologije za asinkronu komunikaciju i komunikaciju u stvarnom vremenu; AJAX; paradigme i tehnologije za isporuku podataka od poslužitelja prema klijentu: prozivanje ponavljajućim upitom i blokirajuće prozivanje odgođenim odgovorom; Server Sent Events (SSE) protokol i programsko sučelje; Websocket protokol i programsko sučelje; usporedba radnih svojstava i svojstva razmjernog rasta komunikacije zasnovane na prozivanju, blokirajućem prozivanju i Websocket protokolu; WebRTC protokol;
- Izgradnja web usluga primjenom WS-* skupa standarda: SOAP, WSDL, XML, XML Schema
- Sigurnost u sustavima zasnovanim na uslugama
- Kakvoća usluge u sustavima zasnovanim na uslugama
- Arhitektura zasnovana na mikrouslugama
- Završni ispit