Programska potpora komunikacijskim sustavima

Opis predmeta

Programski jezici za web programiranja (npr. HTML5, Java Script, PHP, CSS). Asinhroni Web u stvarnom vremenu, razmjeran rast Weba i kvaliteta usluge, REST arhitekturalni stil, RESTful API oblikovanje, HTTP, AJAX i protokol websocket, Semantički web, Mikroservisi. Priključak i utičnica, programsko sučelje aplikacijske utičnice (API). Korisnički poslužitelj datagram protokola (UDP) i klijent. Poslužitelj i klijent protokola za kontrolu prijenosa (TCP). Protokol prijenosa hiperteksta (HTTP) i protokol za prijenos datoteka (FTP). Primjeri mrežnog programiranja u programskim jezicima Java i Python. Oblikovanje osnovnih funkcija DBMS-a. Oblikovanje relacijske baze podataka. Sučelje aplikacijskog programiranja za relacijske baze podataka, objektno-relacijska preslikavanja. Programski jezik SQL (definicija podataka, formulacija upita, ograničenja, integritet), selekcije, projekcije, složeni upiti, agregiranje i grupiranje.

Ishodi učenja

  1. objasniti načela rada asinkronog Weba u stvarnom vremenu
  2. analizirati načela izgradnje RESTful API Web sustava
  3. analizirati primjenjivost UDP i TCP protokola za oblikovanje pojedinih vrsta aplikacija
  4. objasniti osnovne funkcije DMBS sustava i načela oblikovanja relacijske baze podataka
  5. analizirati aplikacijska programska sučelja za operacije nad relacijskim bazama podataka u različitim programskim jezicima
  6. analizirati računalnu složenost i vrijeme izvođenja različitih upita u programskom jeziku SQL

Oblici nastave

Predavanja

Nastava na predmetu organizirana je u dva nastavna ciklusa. Prvi nastavni ciklus sastoji se od 7 tjedana nastave i međuispita dok drugi ciklus sadrži 6 tjedana nastave i završni ispit. Nastava se provodi kroz 15 tjedana s tjednim opterećenjem od 2 školska sata.

Laboratorij

Studenti samostalno rješavaju odabrane praktične zadatke za laboratorijske vježbe.

Tjedni plan nastave

  1. Programski jezici za izradu web-aplikacija (npr. HTML5. Javascript. PHP. CSS), Ograničenja web-platformi, Arhitekture i protokoli weba
  2. Web-standardi, Web-usluge za krajnjeg korisnika i za programski pristup, Programska potpora u obliku usluge
  3. Asinkroni web i web za usluge u stvarnom vremenu, Svojstvo razmjernog rasta i kvaliteta usluga na webu, Arhitekturni stil REST
  4. Oblikovanje programskog sučelja prema načelima arhitekturnog stila REST, Protokoli HTTP. AJAX i Websocket, Semantički web, Mikrousluge
  5. """Port"" i ""socket"". Aplikacijsko programsko sučelje: Socket (API). Naziv i adresa", """User Datagram Protocol"" (UDP): poslužitelj i klijent. Aplikacijski protokoli temeljeni na protokolu UDP"
  6. """Transmission Control Protocol ""(TCP): poslužitelj i klijent. Konkurentnost. Aplikacijski protokoli temeljeni na protokolu TCP. ""Hypertext Transfer Protocol"" (HTTP) i ""File Transfer Protocol"" (FTP). Jednostavni HTTP poslužitelj", "Opcije sučelja ""Socket"". Sučelje ""Raw""", "Demoni i super-server ""inetd""", "Multipleksiranje ulazno izlaznih operacija. Dretve", "Sve odredišno i više odredišno adresiranje i aplikacije"
  7. "Aplikacije temeljene na protokolu SCTP (""Stream Control Transmission Protocol"")", "Sigurnosna pitanja i smjernice za programiranje", "Primjeri mrežnog programiranja u Javi i Pythonu"
  8. Međuispit
  9. (en) Design of core DBMS functions (e.g., query mechanisms, transaction management, buffer management, access methods), Arhitektura baza i nezavisnost podataka, Sigurnost u bazama podataka
  10. Načela modeliranja podataka, Konceptualni modeli (ER modeli. UML dijagrami), Tablični modeli, Relacijski model podataka, Dimenzijski model, Modeli ključ-vrijednost. graf. zajednica stupaca. dokument, Objektno orijentirani model podataka, Polustrukturirani model (izražen kao XML. XML schema. JSON), Oblikovanje prostornih i vremenskih podataka, Oblikovanje podataka u semantičkom webu (RDF. OWL)
  11. Preslikavanje konceptualnog modela u relacijski model, Entitet i integritet stranog ključa, Relacijska algebra i relacijski predikatni račun, Oblikovanje relacijske baze podataka, Funkcijske ovisnosti
  12. Dekompozicija shema. pridruživanje bez gubitaka informacija. dekompozicija uz očuvanje ovisnosti, Mogući ključevi i nadključevi, Normalne forme, Pohrana i pretraživanje teksta u relacijskim bazama podataka, Izgradnja programskog sučelja s relacijskim bazama podataka, Objektno-relacijsko preslikavanje
  13. SQL (definicija podataka. stvaranje upita. izmjena podataka. integritetska ograničenja), Selekcija, Projekcija, Selekcija - projekcija - pridruživanje, Agregacija i grupiranje
  14. Podupiti, Okidači, Pohranjene funkcije i procedure, Funkcije prozora. rekurzija. pivotiranje
  15. Završni ispit

Studijski programi

Sveučilišni diplomski
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Jezgreni predmeti profila (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)
Izborni predmeti (2. semestar)

Literatura

(.), L. Richardson, S. Ruby (2007.), RESTful Web Services, O'Reilly Media,
(.), M. Masse (2011.), REST API Design Rulebook, O'Reilly Media,
(.), Elliotte Rusty Harold (2013), Java Network Programming, O'Reilly Media; Fourth Edition edition,
(.), Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom (2008), Database Systems: The Complete Book, Pearson,

Predavanja

Laboratorijske vježbe

Za studente

Izvedba

ID 222729
  Ljetni semestar
5 ECTS
R2 Engleski jezik
R1 E-učenje
30 Predavanja
0 Seminar
0 Auditorne vježbe
26 Laboratorijske vježbe
0 Konstrukcijske vježbe

Ocjenjivanje

izvrstan
vrlo dobar
dobar
dovoljan