Računarstvo zasnovano na uslugama

Opis predmeta

Uvod u raspodijeljeno računarstvo zasnovano na uslugama. Programiranje i inženjerstvo zasnovano na uslugama. Primjena u poduzetništvu i poslovanju. 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 i Websocket protokol. REST arhitekturni stil. Primjena načela REST arhitekturnog stila u projektiranju, programskom ostvarenju i analizi web usluga. Semantičke web usluge.

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

  1. definirati uslugu kao programsku cjelinu te razlikovati usluge od objekata i komponenti
  2. prepoznati hijerarhiju protokola i standarda u računarstvu zasnovanom na uslugama
  3. primijeniti objektno-orijentiranu programsku paradigmu i tehnologije zasnovane na komponentama u izgradnji usluga
  4. definirati postupak izgradnje raspodijeljenih sustava povezivanjem postojećih usluga
  5. dizajnirati i izgraditi raspodijeljeni primjenski sustav postupkom kompozicije usluga
  6. objasniti koordinaciju i upravljanje sustavima zasnovanim na uslugama
  7. objasniti kompoziciju usluga zasnovanu na semantičkom opisivanju usluga
  8. ocijeniti i vrednovati sigurnost i pouzdanost sustava zasnovanih na uslugama

Oblici nastave

Predavanja

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

Provjere znanja

Dva pismena ispita

Laboratorijske vježbe

Oblikovanje i izgradnja web usluge zasnovane na REST načelima, Hadoop. Studenti samostalno programski ostvaruju laboratorijski zadatak i povremeno demonstriraju napredak u radu asistentima.

Konzultacije

Pojedinač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

  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 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
  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: klijent-poslužitelj 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 HTTP poslužitelja primjenom Java servlets tehnologije
  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; 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;
  11. Izgradnja web usluga primjenom WS-* skupa standarda: SOAP, WSDL, XML, XML Schema
  12. Sigurnost u sustavima zasnovanim na uslugama
  13. Kakvoća usluge u sustavima zasnovanim na uslugama
  14. Arhitektura zasnovana na mikrouslugama
  15. Završni ispit

Studijski programi

Sveučilišni diplomski
Programsko inženjerstvo i informacijski sustavi (profil)
Predmeti specijalizacije profila (1. semestar) (3. semestar)
Računalno inženjerstvo (profil)
Predmeti specijalizacije profila (1. semestar) (3. semestar)
Računarska znanost (profil)
Predmeti specijalizacije profila (1. semestar) (3. semestar)
Telekomunikacije i informatika (profil)
Predmeti specijalizacije profila (1. semestar) (3. semestar)

Literatura

L. Richardson, S. Ruby (2007.), RESTful Web Services, O'Reilly Media
M. Masse (2011.), REST API Design Rulebook, O'Reilly Media
D. Gourley, B. Totty, M. Sayer, A. Aggarwal, S. Reddy (2002.), HTTP The Definitive Guide, O'Reilly Media
E. Newcomer, G. Lomow (2004.), Understanding SOA with Web Services, Addison-Wesley Professional
T. Erl (2004.), Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services, Prentice Hall

Predavanja

Laboratorijske vježbe

Izvedba

ID 86518
  Zimski semestar
4 ECTS
R1 Engleski jezik
R1 E-učenje
30 Predavanja
0 Auditorne vježbe
15 Laboratorijske vježbe
0 Konstrukcijske vježbe

Ocjenjivanje

88 izvrstan
75 vrlo dobar
63 dobar
50 dovoljan