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

Laboratorij

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

Za studente

Izvedba

ID 222729
  Ljetni semestar
5 ECTS
R3 Engleski jezik
R1 E-učenje
30 Predavanja
26 Laboratorijske vježbe