Arhitektura, protokoli i usluge weba

Opis predmeta

Uvod u raspodijeljeno računarstvo zasnovano na web-uslugama. Programiranje i inženjerstvo zasnovano na uslugama. Korisničko i programsko sučelje web-usluga. Standardi, arhitekture, tehnologije i protokoli weba. Načela projektiranja i izgradnje web-usluga sa svojstvima visoke učinkovitosti, razmjernog rasta i sigurnosti. Protokoli HTTP i Websocket. Tehnologije AJAX i SSE. Paradigme i tehnike poslužiteljskih dojava. Arhitekturni stilovi REST i RPC. Primjena načela arhitekturnog stila REST i RPC u projektiranju, programskom ostvarenju i analizi web-usluga. Udomljavanje web-usluga. Algoritmi uravnoteženja opterećenja web-poslužitelja. Arhitektura zasnovana na mikrouslugama.

Ishodi učenja

  1. objasniti načela rada klijentsko-poslužiteljske arhitekture i njene primjene na Web-u
  2. objasniti podjelu uloga između klijenta, poslužitelja i posrednika te njen utjecaj na skalabilnost Web-a
  3. procijeniti svojstva skalabilnosti Web-a u cjelini i pojedinačnih Web usluga
  4. analizirati primjenjivost i radna svojstva različitih Web protokola
  5. analizirati primjenjivost različitih arhitekturnih stilova za izgradnju Web-a u cjelini i pojedinačnih Web usluga
  6. primijeniti načela arhitekturnih stilova REST i RPC tijekom izgradnje Web usluga
  7. suprotstaviti prikladnost sinkronih i asinkronih protokola za komunikaciju na Web-u
  8. primijeniti načela arhitekture zasnovane na mikrouslugama tijekom izgradnje Web usluga
  9. usporediti svojstva različitih algoritama za uravnoteženje opterećenja Web poslužitelja

Oblici nastave

Predavanja

Predavanja popraćena PowerPoint projekcijom uz demonstraciju programske izvedbe prikazanih teorijskih načela

Laboratorij

Oblikovanje i izgradnja web-usluge zasnovane na arhitekturnom stilu REST. Oblikovanje i izgradnja web-usluge zasnovane na protokolu Websocket. Studenti samostalno programski ostvaruju laboratorijski zadatak i povremeno demonstriraju napredak u radu asistentima.

Način ocjenjivanja

Kontinuirana nastava Ispitni rok
Vrsta provjere Prag Udio u ocjeni Prag Udio u ocjeni
Laboratorijske vježbe 50 % 40 % 50 % 0 %
Međuispit: Pismeni 50 % 30 % 0 %
Završni ispit: Pismeni 50 % 30 %
Ispit: Pismeni 50 % 100 %
Ispit: Usmeni 100 %

Tjedni plan nastave

  1. 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
  2. Osnove protokola HTTP; 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
  3. 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: klijentsko-poslužiteljska arhitektura, višeslojna arhitektura; posrednici u komunikaciji
  4. REST ograničenja kod oblikovanja sadržaja: adresibilnost; arhitektura zasnovana na sredstvima; naslovljavanje sredstava; URI, URL i URN
  5. 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
  6. 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 poslužiteljske komponente web-usluge zasnovane na arhitekturnom stilu REST
  7. 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
  8. Međuispit
  9. 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
  10. Web-tehnologije za asinkronu komunikaciju i komunikaciju u stvarnom vremenu; paradigme i tehnologije za ostvarenje poslužiteljskih dojava: prozivanje ponavljajućim upitom i blokirajuće prozivanje s odgođenim odgovorom; tehnologije AJAX i Server Sent Events (SSE); protokol Websocket; usporedba radnih svojstava i svojstva razmjernog rasta komunikacije zasnovane na prozivanju, blokirajućem prozivanju i Websocket protokolu
  11. Udomljavanje web-usluga; udomljavanje na namjenskoj računalnoj infrastrukturi; udomljavanje na zajedničkoj računalnoj infrastrukturi
  12. Uravnoteženje optećenja web-poslužitelja; Kakvoća usluge u sustavima zasnovanim na uslugama
  13. Sustavi za potporu pozivima udaljenih procedura; web-usluge zasnovane na pozivima udaljenih procedura
  14. Arhitektura zasnovana na mikrouslugama
  15. Završni ispit

Studijski programi

Sveučilišni diplomski
Audiotehnologije i elektroakustika (profil)
Izborni predmeti (1. semestar)
Automatika i robotika (profil)
Izborni predmeti (1. semestar)
Elektroenergetika (profil)
Izborni predmeti (1. semestar)
Elektroničko i računalno inženjerstvo (profil)
Izborni predmeti (1. semestar)
Elektronika (profil)
Izborni predmeti (1. semestar)
Elektrostrojarstvo i automatizacija (profil)
Izborni predmeti (1. semestar)
Informacijsko i komunikacijsko inženjerstvo (profil)
Izborni predmeti (1. semestar)
Komunikacijske i svemirske tehnologije (profil)
Izborni predmeti (1. semestar)
Programsko inženjerstvo i informacijski sustavi (profil)
Izborni predmeti (1. semestar) Izborni predmet profila (1. semestar) Predmeti specijalizacije profila (1. semestar)
Računalno inženjerstvo (profil)
Izborni predmeti (1. semestar) Predmeti specijalizacije profila (1. semestar)
Računalno modeliranje u inženjerstvu (profil)
Izborni predmeti (1. semestar)
Računarska znanost (profil)
Jezgreni predmeti profila (1. semestar) Predmeti specijalizacije profila (3. semestar)
Telekomunikacije i informatika (profil)
Predmeti specijalizacije profila (1. semestar)
Znanost o mrežama (profil)
Izborni predmeti (1. semestar)
Znanost o podacima (profil)
Izborni predmeti (1. semestar)

Literatura

Leonard Richardson, Sam Ruby (2007.), RESTful Web Services, "O'Reilly Media, Inc."
Mark Masse (2011.), REST API Design Rulebook, "O'Reilly Media, Inc."
David Gourley, Brian Totty, Marjorie Sayer, Anshu Aggarwal, Sailu Reddy (2002.), HTTP: The Definitive Guide, "O'Reilly Media, Inc."
Ilya Grigorik (2013.), High Performance Browser Networking, "O'Reilly Media, Inc."
Eric Newcomer, Greg Lomow (2005.), Understanding SOA with Web Services, Addison-Wesley Professional
Thomas Erl (2005.), Service-oriented Architecture: A Field Guide to Integrating XML and Web Services, Prentice Hall

Predavanja

Laboratorijske vježbe

Za studente

Izvedba

ID 222464
  Zimski semestar
5 ECTS
R1 Engleski jezik
R1 E-učenje
30 Predavanja
5 Laboratorijske vježbe

Ocjenjivanje

88 izvrstan
75 vrlo dobar
63 dobar
50 dovoljan