Popis predmeta

Opis predmeta

Uvod u raspodijeljeno računarstvo zasnovano na Web uslugama. Programiranje i inženjerstvo zasnovano na uslugama. Web prilagođen ljudskom i programskom pristupu. Standardi, arhitekture, tehnologije i protokoli weba. Načela projektiranja i izgradnje web usluga sa svojstvima visoke učinkovitosti, razmjernog rasta i sigurnosti. HTTP, AJAX, SSE i Websocket protokoli. 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. Arhitektura zasnovana na mikrouslugama. Udomljavanje nezavisnih Web usluga na zajedničkoj računalnoj infrastrukturi. Algoritmi uravnoteženja opterećenja Web poslužitelja.

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)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Automatika i robotika (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Elektroenergetika (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Elektroničko i računalno inženjerstvo (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Elektronika (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Elektrostrojarstvo i automatizacija (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Informacijsko i komunikacijsko inženjerstvo (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Komunikacijske i svemirske tehnologije (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Programsko inženjerstvo i informacijski sustavi (profil)
Izborni predmet profila (1. semestar)
Računalno inženjerstvo (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Računalno modeliranje u inženjerstvu (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Računarska znanost (profil)
Jezgreni predmeti profila (1. semestar) (3. semestar)
Znanost o mrežama (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Znanost o podacima (profil)
Slobodni izborni predmeti (1. semestar) (3. 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

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

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)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Automatika i robotika (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Elektroenergetika (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Elektroničko i računalno inženjerstvo (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Elektronika (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Elektrostrojarstvo i automatizacija (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Informacijsko i komunikacijsko inženjerstvo (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Komunikacijske i svemirske tehnologije (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Programsko inženjerstvo i informacijski sustavi (profil)
Izborni predmet profila (1. semestar)
Računalno inženjerstvo (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Računalno modeliranje u inženjerstvu (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Računarska znanost (profil)
Jezgreni predmeti profila (1. semestar) (3. semestar)
Znanost o mrežama (profil)
Slobodni izborni predmeti (1. semestar) (3. semestar)
Znanost o podacima (profil)
Slobodni izborni predmeti (1. semestar) (3. 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

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