Sadržaj se učitava...
mdi-home Početna mdi-account-multiple Djelatnici mdi-script Studiji mdi-layers Katedre mdi-calendar-clock Raspored sati FOI Nastava search apps mdi-login
Napredne WEB tehnologije i servisi
Advanced Web technologies and Services
2023/2024
6 ECTSa
Baze podataka i baze znanja 1.4 (BPBZ)
Informacijsko i programsko inženjerstvo 1.4 (IPI)
Katedra za teorijske i primijenjene osnove informacijskih znanosti
RI
2. semestar
Osnovne informacijemdi-information-variant Izvođači nastavemdi-account-group Nastavni plan i programmdi-clipboard-text-outline Model praćenjamdi-human-male-board Ispitni rokovimdi-clipboard-check-outline Rasporedmdi-calendar-clock Konzultacijemdi-account-voice
Izvođenje kolegija
Studij Studijski program Semestar Obavezan
Baze podataka i baze znanja 1.4 (BPBZ) 2 izborni
Informacijsko i programsko inženjerstvo 1.4 (IPI) 2 obavezan
Cilj kolegija
Cilj kolegija Napredne Web tehnologije i servisi je upoznavanje studenata s naprednim tehnologijama kojima se mogu realizirati složene Web aplikacije. Nakon ovog kolegija, studenti će biti sposobni samostalno razvijati napredne Web projekte. Studenti će moći brzo evaluirati, svladavati, instalirati i koristiti prednosti novih paketa i programskih okvira. Svrha kolegija je da studenti nauče planirati, voditi i završiti relativno velike programske projekte, te je to razlog njegove projektne orijentiranosti. Naglašena je primjena naprednog Java programiranja pri čemu se tehnike (rad s mrežnom utičnicom, web aplikacije, web servisi, kontejneri, računalni oblak i sl.) mogu koristiti u kombinaciji s temeljnim Java klasama. Jezgra kolegija je programski okvir Jakarta Enterprise Edition (Jakarta EE), koji služi za konstrukciju višeslojnih, web usmjerenih i složenih aplikacija. U kolegiju se daje pregled arhitektura (monolitne, servisno usmjerene, mikroservisne, bez poslužitelja) uz diskusiju o komponentama, koje su sadržane u Jakarta EE te se uspoređuje s drugim programskim okvirima. Polaznicima se, uz razumijevanje svrhe i značaja Jakarta EE, daje uvid gdje se trebaju fokusirati njihovi planovi razvoja te kako se utvrđuje koje tehničke vještine trebaju posjedovati članovi razvojnog tima.
Preduvjeti
Kolegij nema definirane preduvjete
Norma kolegija
Predavanja
30 sati
Vježbe u praktikumu
45 sati
Nastavnik Uloga na kolegiju Oblik nastave Tjedana Sati Grupa
Kermek Dragutin Nositelj Predavanja
Vježbe u praktikumu
13
15
2
3
1
1
Novak Matija Nositelj Predavanja
Vježbe u praktikumu
2
15
2
3
1
3
Sadržaj predavanja
  • Uvod
    Povijest programskog jezika Java. Osobine programskog jezika Java. Sličnost s drugim programskim jezicima. Razvoj programa. Neovisnost o platformi. Vrste verzija i edicija (standardna-SE, mikro-ME i poslovna-EE). Okolina programskog jezika Java. Sučelja i njihova uloga u realizaciji apstraktnih arhitektura. Grupiranje klasa u pakete i module. Kreiranje biblioteke klasa. Ugrađene klase i sučelja. Obrada pogrešaka i iznimaka. Dretve i višedretveni rad. Sinkronizacija dretvi. U/I podrška. Korištenje tokova podataka. Lamdba izrazi. Karakteristike JavaBeans komponente: refleksija i serijalizacija objekta. Anotacije. Jedinično testiranje na bazi okvira JUnit. Optimizacija programskog koda.
  • Programiranje mrežnih resursa
    Osnovni koncepti mreže računala. Internet standardi. Uspostavljanje veze između računala primjenom mrežnu utičnice i mrežnih vrata. Realizacija vlastitog poslužitelja. Testiranje klijenata.
  • Elementi za pristup do baze podataka
    Model povezivanja na baze podataka i vrste JDBC upravljačkih programa. Realizacije rada s bazom podataka. Rad s meta podacima. Skupni/transakcijski pristup bazi podataka. Pretvaranje podataka u i iz XML i JSON korištenjem poznatih biblioteka klasa.
  • Arhitektura i osnovni elementi web aplikacije
    Arhitektura i životni ciklus web aplikacije i servleta. Praćenje rada korisnika primjenom kolačića i sesija. Uloga i korištenje slušača i filtera. JSP i JSF arhitektura i realizacija korisničkog sučelja u okviru MVC. Sigurnost web aplikacije i web poslužitelja (certifikat). Konfiguriranje isporuke web aplikacije.
  • Servisi imenika i direktorija te injektiranje
    Osnove servisa imenovanja i direktorija (JNDI). Primjena JNDI za definiranje resursa. Injektiranje resursa i ovisnosti.
  • Web servisi
    Evolucija distribuiranih sustava. Arhitektura web servisa. Vrste web servisa: (XML/SOAP, RESTful, GraphQL, gRPC). Jezici opisa web servisa i aplikacija (WSDL i WADL). Sigurnost web servisa.
  • Servisno orijentirane arhitekture
    Principi servisne orijentacije. Osobine servisno orijentirane arhitekture (SOA). Vrste servisno orijentiranih arhitektura. Mikroservisna arhitektura. Praćenje rada mikroservisne aplikacije (telemetrija).
  • Od kontejnera do računalnog oblaka
    Primjena aplikacijskih kontejnera i njihovo skaliranje (npr. Docker i Kubernetes). Osobine računalnog oblaka. Modeli usluga. Prednosti i nedostaci.
  • Složeni komponentni model
    Tehnologija složenog komponentnog modela (Enterprise Jakarta Beans – EJB) i njene koristi. Kada se preporučuje primjena EJB. Vrste komponenata i osobine njihovog životnog ciklusa. Osobine objektno-relacijskog preslikavanja (ORM) i Jakarta Persistence API (JPA).
  • Web servisi
    Arhitektura web servisa. Podupirajući standardi za web servise. Jednostavni protokol za pristup do objekata (Simple Object Access Protocol – SOAP). Jezik opisa web servisa (Web Service Description Language – WSDL). Podrška za XML bazirani poziv udaljene procedure (Java API for XML based Remote Procedure Call - JAX-RPC). Podrška za RESTful Web servise. Univerzalni opis, otkrivanje i integracija (Universal Description, Discovery and Integration - UDDI). Usporedba web servisa s drugim arhitekturama za udaljenu obradu.
Sadržaj seminara/vježbi
  • VJEŽBE
    U okviru vježbi studenti će koristiti specifične programske alate koji se koriste za razvoj složenih web aplikacija i web servisa. U sklopu toga naučit će osnovne i napredne osobine programskog jezika Java, osobine nekoliko komponentnih modela, nekoliko načina realizacija web aplikacija, povezivanje aplikacija i distribuiranje obrade. Za realizaciju projekata naučit će instalirati i konfigurirati web poslužitelj, aplikacijski poslužitelj i poslužitelj baze podataka. Studentima će se pridružiti projektni zadaci koje trebaju dovršiti i prezentirati u dogovorenom terminu.
Ishodi učenja kolegija
  • Izgraditi složene programske sustave temeljene na naprednim Web tehologijama i servisima.
  • Objasniti digitalni potpis i certifikat, provesti njihovo kreiranje te ih primijeniti u različitim situacijama.
  • Objasniti osobine Java virtualnog stroja te ih primijeniti u razvojnom i izvršnom modelu programskog jezika Java.
  • Primijeniti i analizirati različite vrste komponentnih modela.
  • Primijeniti i planirati različite vrste autentikacijskih i autorizacijskim modela kojima se realizira sigurnosna politika.
  • Primijeniti i usporediti distribuirane sustave bazirane na Web servisima (SOAP, REST, GraphQL, gRPC).
  • Primijeniti i usporediti Web tehnologije i aplikacijske okvire bazirane na programskom jeziku Java te ih procijeniti u odnosu na druge tehnologije i aplikacijske okvire.
  • Izabrati i povezati različite vrste integracijskih servisa (baza podataka, sustavi poruka).
  • Prepoznati, primijeniti i analizirati osobine objektno orijentirane paradigme i osobine modernih programskih jezika (višedretvenost, serijalizacija, refleksija) na programskom jeziku Java.
  • Primijeniti i analizirati različite arhitekture (monolitna, servisna, mikroservisna, bez poslužitelja, računalni oblak).
Ishodi učenja programa
Osnovna literatura
  • Herbert Schildt, Java: A Beginner's Guide, Ninth Edition 9th Edition, McGraw Hill, 2022.
  • The Jakarta EE Tutorial, 2021. Jakarta EE specifications, 2023.
  • Tarun Telang, Beginning Cloud Native Development with MicroProfile, Jakarta EE, and Kubernetes, Apress, 2023.
  • Richards, M., Ford, N. Fundamentals of Software Architecture: An Engineering Approach, O'Reilly Media, 2020
  • Binildas Christudas, Practical Microservices Architectural Patterns, Apress, 2019.
Dopunska literatura
  • James Gosling, Bill Joy, Guy Steele, Gilad Bracha: The Java Language Specification Third Edition, Addidon-Weslay, 2005.
  • Ken Arnold; James Gosling; David Holmes: The Java Programming Language, Fourth Edition, Prentice Hall, 2005.
Slični kolegiji
  • Northern Michigan University, Advanced Web Programming, ttp://cs.nmu.edu/courses/cs460.html
  • Dalhousie University, Advanced Web Programming, http://www.cs.dal.ca/~jamie/course/CS/4173/
  • Linköping University, Advanced Web Programming, http://www.ida.liu.se/education/ugrad/courses/tf/TDDB69/
  • California State University, Web design and management, http://mieszko.csudh.edu/csc455su03.html
Redoviti studenti Izvanredni studenti
izvanredni rok
Datum: 22.04.2026.
Vrijeme: 16:00
Opis: Na Fakultetu
U kalendaru ispod se nalaze konzultacije predmetnih nastavnika, no za detalje o konzultacijama možete provjeriti na profilu pojedinog predmetnog nastavnika.
2025 © Fakultet organizacije i informatike, Centar za razvoj programskih proizvoda