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
2017/2018
7 ECTSa
Organizacija poslovnih sustava 1.2 (OPS)
Informatika u obrazovanju 1.2 (IUO)
Informacijsko i programsko inženjerstvo 1.2 (IPI)
Baze podataka i baze znanja 1.2 (BPBZ)
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
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. Svrha kolegija je da studenti nauče planirati, voditi i završiti relativno velike Java programske projekte, te je to razlog njegove projektne orijentiranosti. Naglašena je primjena naprednog Java programiranja pri čemu se tehnike (Applet, Servlet, JSP, JSF, XML, i Web servisi) mogu koristiti u kombinaciji s temeljnim Java klasama. Jezgra kolegija je programski okvir Java Enterprise Edition (Java EE), koji služi za konstrukciju višeslojnih, Web usmjerenih i složenih aplikacija. U kolegiju se daje pregled onovne arhitekture, koja stoji iza Java EE s diskusijom svih komponenti Java tehnologija, koje su sadržane u Java EE. Polaznicima se, uz razumijevanje svrhe i značaja Java 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
45 sati
Vježbe u praktikumu
45 sati
Nastavnik Uloga na kolegiju Oblik nastave Tjedana Sati Grupa
Kermek Dragutin Nositelj Vježbe u praktikumu
Predavanja
9
9
5
5
1
1
Novak Matija Suradnik Vježbe u praktikumu 9 5 3
Sadržaj predavanja
  • Uvod
    Zašto programski jezik Java. 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. Ugrađeni tipovi podataka. Operatori. Instrukcije. Definiranje klasa. Preklapanje metoda. nasljeđivanje – specijalizacija i generalizacija. Nadjačavanje metoda. Područje primjene klasa i metoda. Pristup do klasa, metoda i atributa. Sučelja i njihova uloga u realizaciji apstraktnih arhitektura. Grupiranje klasa u pakete. Kreiranje biblioteke klasa. Ugrađene klase i sučelja. Java applet. Primjeri iz JSDK.
  • Napredni elementi programskog jezika
    Obrada pogrešaka i iznimaka. Dretve i višedretveni rad. Sinkronizacija dretvi. Zastarjele metode. Interne klase. Dokumentiranje programa. Modeli upravljanja događajima u grafičkom sučelju. U/I podrška. Pristup na razini bajta i znaka. Korištenje tokova. Serijalizacija podataka.
  • Programiranje mrežnih resursa
    Osnovni koncepti mreže računala. Internet standardi. Utvrđivanje naziva računala. Uspostavljanje veze između računala primjenom socketa. Uloga portova. Pretraživanje aktivnosti poslužitelja. Testiranje klijenata. Realizacija mini httpd poslužitelja.
  • Sigurnost
    Anatomija Java programa. Sigurnosni modeli. Definiranje sigurnosne politike. Definiranje pristupa do lokalnih resursa. Definiranje pristupa do mrežnih resursa. Definiranje pristupa za vanjske klijente.
  • Digitalni potpis i certifikat
    Osnove digitalnog potpisa i certifikata. Alati za potpis dokumenta i kreiranje certifikata. Koraci kod potpisivanje, preuzimanja, slanja i prijema dokumenta. Kreiranje i instaliranje potpisanog appleta. Kreiranje i preuzimanje certifikata.
  • Programske komponente
    Osnovni principi komponentnog pristupa razvoju programske podrške. Poznate komponentne arhitekture. JavaBeans komponente. Karakteristike JavaBeans arhitekture: uzorci dizajna. refleksija i serijalizacija objekta. Alati za kreiranje JavaBeans klasa. Integracija novih JavaBeans komponenata u postojeće sustave i alate. Aktivacijski okvir Jave (JAF – Java Activation Framework).
  • Elementi za pristup do podataka
    Model povezivanja na baze podataka (JDBC – Java DataBase Connectivity). Vrste JDBC upravljačkih programa. Realizacije veze na bazu podataka. Izvršavanje naredbi. Obrada primljenih podataka. rad s meta podacima. Skupni/transakcijski pristup bazi podataka. XML. Definiranje strukture: DTD i XML Schema. Definiranje transformacije XML dokumenta u drugi tip dokumenta primjenom XSL. Obrada XML dokumenta primjenom JAXP (Java API for XML Processing). Metode obrade XML dokumenta: Simple API for XML - SAX i Document Object Model - DOM. Transformacijska arhitektura XSLT.
  • Elementi za poslužiteljsku stranu
    Arhitektura servleta. Životni ciklus servleta. Bitne klase i sučelja za rad sa servletima. Inicijalizacija parametara aplikacije i servleta. Praćenje rada korisnika primjenom kolačića i sesija. Komunikacija servleta i drugih resursa. Nadzor rada korisnika na razini aplikacije, sesije i njihovih pojedinih atributa. Korištenje slušača i filtera. JavaServer Pages (JSP) arhitektura. Odnos JSP i servleta. Osnovni elementi JSP skriptnog jezika. Ugrađeni objekti. Primjena jezika izraza. Proširenje osnovnih elemenata JSP sktiprnog jezika primjenom biblioteka JSP oznaka (JSP Tags). Realizacija korisničkog sučelja primjenom JavaFaces. Navigacija, internacionalizacija i lokalizacija web aplikacija. Konfiguriranje isporuke web aplikacije.
  • Osnovni servisi
    Osnove servisa imenovanja. Servisi imenovanja primjenom Java Naming and Directory Interface - JNDI. Osnove servisa direktorija. Servisi direktorija primjenom JNDI (Lightweight Directory Access Protocol - LDAP, Directory Naming Service - DNS, Network Information System - NIS, Novell Directory Service - NDS). Transakcijski servis (Java Transactional API - JTA i Java Transactional Service - JTS). Servis poruka (Java Messaging Service - JMS i Java API for XML Messaging - JAXM). Slanje i prijem e-mail poruka (JavaMail).
  • Distribuirana obrada
    Distribuirani sustavi. Evolucija distribuiranih sustava i arhitektura. CORBA arhitektura. Posrednik kod zahtjeva za objektom (Object Request Broker – ORB). Komunikacijski protokol za povezivanje CORBA aplikacija preko Interneta (Internet-Inter-Orb Protocol – IIOP). Jezik opisa sučelja (Interface Definition Language – IDL). Faze razvoja CORBA programa i potrebni alati. Poziv udaljene metode (Remote Method Invocation – RMI). RMI arhitektura. RMI i IIOP. Preslikavanje Java u IDL. Faze razvoja RMI programa i potrebni alati.
  • 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.
  • Složeni komponentni model
    Tehnologija složenog komponentog modela (Enterprise JavaBeans – EJB) i njene koristi. Kada se preporučuje primjena EJB. Komponenta za praćenje rada (Session Bean). Komponenta za spremanje i pristup do podataka (Entity Bean). Komponenta za komuniciranje (Message-Driven Bean). Osobine i primjena Java Persistence API (JPA). Osobine i primjena objektno-relacijskog preslikavanja (ORM). Realizacija transakcija. Pristup do resursa. Sigurnost. Priprema za isporuku web aplikacije.
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 primjeniti u različitim situacijama (potpis jar datoteke, instalacija na web poslužitelj i dr.)
  • objasniti osobine Java virtualnog stroja te ih primijeniti u razvojnom i izvršnom modelu programskog jezika Java
  • opisati, primijeniti i analizirati različite vrste komponentnih modela (Java Beans i EJB - Enterprise JB)
  • opisati, primijeniti i planirati različite vrste sigurnosnih politika bazirane na programskom jeziku Java
  • opisati, primijeniti i uporediti moderne distribuirane sustave bazirane na Web servisima (SOAP, REST) te putem njih izgraditi nove arhitekture (SOA - servisne)
  • opisati, primijeniti i usporediti različite vrte klasičnih distribuiranih sustava (RMI, CORBA)
  • opisati, primijeniti i usporediti Web tehnologije bazirane na programskom jeziku Java (Servlet, JSP - Java Server Page, JSF - Java Server Face) te ih procijeniti u odnosu na druge tehnologije
  • prepoznati, izabrati i povezati različite vrste servisa (JDBC - baza podataka, POP i SMTP - email, JNDI - imenovanja, JMS - poruka, LDAP - direktorija)
  • prepoznati, primijeniti i analizirati osobine objektno orijentirane paradigme (apstrakcija, generalizacija, učahurenje, nasljeđivanje, nadjačavanje i dr.) bazirane na programskom jeziku Java te ih primijeniti u stvaranju složenih biblioteka, arhitektura
  • prepoznati, primijeniti i analizirati posebne osobine modernih programskih jezika (višedretvenost, serijalizacija, refleksija)
  • prepoznati, primijeniti i usporediti različite aplikacijske okvire (Hibernate, Spring, Struts)
  • razumijeti, primijeniti i analizirati različite razine Java platforme (standardna, poslovna, mikro)
Ishodi učenja programa
  • Primijeniti etička načela, zakonsku regulativu i norme koje se koriste u struci
  • Analizirati i procijeniti uvjete za primjenu suvremenih informacijskih i komunikacijskih tehnologija (ICT), savjetovati druge u primjeni iste te u zadanom kontekstu odrediti utjecaj primjene na pojedinca, organizaciju i društvo.
  • Modeliranje problema iz područja informacijskih i poslovnih sustava korištenjem matematičkih metoda, metoda razvoja informacijskih sustava i koncepata planiranja, upravljanja i poslovanja
  • Primijeniti, utvrditi uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz rješavanje problema iz područja informacijskih i poslovnih sustava
  • Analizirati i ocijeniti učinkovitost uvođenja i korištenja ICT (programskog rješenja i pripadajuće opreme) za konkretne problemske domene informacijskih i poslovnih sustava
  • Procijeniti i preporučiti programska rješenja za konkretne problemske domene informacijskih i poslovnih sustava
  • Voditi interdisciplinarni tim i raditi u takvom timu
  • Predstaviti i popularizirati suvremena trendove u informatici u stručnim i laičkim krugovima
  • Unaprijediti metode komuniciranja i komunikaciju s klijentima, korisnicima i kolegama na verbalan i pisani način uz primjenu odgovarajuće terminologije uključujući i sposobnost komunikacije o struci na stranom jeziku
  • Unaprijediti i primijeniti metode stručnog rada pronalaženjem i vrednovanjem suvremenih izvora znanja
  • Valorizirati stručnu literaturu na hrvatskom i stranom jeziku
  • Razviti vlastite planove i planove drugih članova tima u upravljenju karijerom u struci i vlastitih poduzetničkih poduhvata s obzirom na potrebe poslovnog okruženja
  • Planirati proces cjeloživotnog osobnog i profesionalnog razvoja i definirati optimalne individualne strategije učenja
  • Projektirati, planirati, izraditi i uvesti svaki poslovni složeni informacijski sustav i/ili voditi projektni tim u slučaju kada na tim poslovima mora biti uključen veći broj stručnjaka
  • Razumjeti poslovni sustav organizacije i u suradnji s poslovnim stručnjacima optimalizirati njezine poslovne procese te izraditi strateški plan primjene ICT-a
  • Oblikovati softversku arhitekturu složenog informacijskog sustava, odabrati i postaviti odgovarajuću tehnološku platformu i programirati najsloženije dijelove složenog sustava
  • Primijeniti metode planiranja i upravljanja poslovanjem uz pomoć ICT u osnovnim vertikalnim područjima primjene ICT
  • Utvrditi uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz ključne aspekte primjene i razvoja informacijske tehnologije (programiranje, algoritmi, strukture podataka, baze podataka i znanja)
  • Utvrditi uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz suvremene tehničke koncepte i prakse u informacijskim tehnologijama (arhitektura računala, operacijski sustavi, mreže računala)
  • Utvrditi uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz metode i koncepte planiranja, upravljanja organizacijom i obračuna poslovanja
  • Analizirati uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz metodološke pristupe razvoju organizacijskih i informacijskih sustava
  • Analizirati uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke za primjenu koncepata elektroničkog poslovanja podržanih odgovarajućim arhitekturama informacijskih sustava (klasične ili distribuirane)
  • Osmisliti projekt učinkovitog unapređenja poslovne tehnologije poslovnog sustava uz korištenje suvremenih ICT te realizirati takav projekt vlastitim razvojem ili izborom prikladnog standardnog softvera
  • Odabrati i primijeniti odgovarajuće sigurnosne mehanizme pri projektiranju i izgradnji informacijskog sustava
  • Odabrati i primijeniti metode i tehnike razvoja informacijskih i programskih sustava u suvremenim razvojnim okolinama
  • Utvrditi uvjete za primjenu, savjetovati, procijeniti učinak i donositi odluke vezane uz procese, metode i tehnologije upravljanja IT uslugama i resursima te podrške i pružanja različitih vrsta usluga vezanih uz ICT
  • Objasniti stručnoj i općoj publici informatička rješenja za unapređenje poslovne tehnologije
  • Analizirati i valorizirati atribucije (atribute) objekata poslovnog sustava te postaviti formalni model objektnog sustava kao temelj izgradnje informacijskog sustava
  • Izgraditi informacijski sustav temeljen distribuiranim komponentama kao i na autonomnim i međusobno kompetitivnim izvorima znanja i razriješiti konflikte koji se javljaju među izvorima znanja
  • Primijeniti metode i tehnike izgradnje digitalnih arhiva i dugotrajnog pohranjivanja podataka
  • Primijeniti metode i tehnike pretraživanja i klasifikacije informacija
  • Prepoznati kritične procese i klase podataka poslovnog sustava, izgraditi formalni model procesa i klasa te ga optimizirati i ponuditi prijedloge poboljšanja poslovnog sustava
  • Modelirati poslovna pravila, poslovne podatke kao i pravila za izvođenje transakcijskih podataka koji nisu eksplicitno zadani
  • Modelirati i izgraditi sustav izvođenja analitičkih podataka iz transakcijskih metodama rudarenja i drugim metodama, te izgradnje skladišta podataka u koja se ti podaci pohranjuju
  • Modelirati i izgraditi sustave poslovne inteligencije temeljene na skladištima podataka, kao i njihovo pretraživanje korištenjem metoda višedimenzionalnih kocaka podataka (OLAP)
  • Izgraditi računalni sustav za pohranu podataka i znanja korištenjem suvremenih alata za izradu baza podataka, baza znanja i semantici podataka
  • Izgraditi i optimizirati bazu podataka i bazu znanja primjenom odgovarajućih strategija organizacije podataka i sigurnosti informacijskog sustava
  • Modelirati raspodjelu podataka prema mjestu korištenja podataka, izgraditi sustav replikacije baze podataka i izgraditi distribuiranu bazu podataka
  • Modelirati i izgraditi sustave temeljene na znanju, kao što su višeagentni sustavi, deduktivni sustavi (uključujući i ekspertne sustave), semantički Web sustavi, neuralne mreže itd.
  • Procijeniti potrebe za strategijskim i upravljačkim promjenama u organizacijama
  • Primijeniti metode upravljanja životnim ciklusom informacijskog sustava organizacije
  • Primijeniti metode korporacijskog upravljanja i strategijskog menadžmenta uz potporu informacijske tehnologije
  • Razviti i validirati sustav mjerenja organizacijske učinkovitosti uz primjenu odgovarajućih programskih alata
  • Analizirati tržište primjenom informacijsko-komunikacijskih tehnologija
  • Analizirati poslovne procese i preporučiti primjenu odgovarajuće informacijske i komunikacijske tehnologije za unapređenje poslovnih procesa
  • Organizirati sustav vođenja u javnoj upravi uz primjenu informacijske tehnologije
  • Razviti elemente kontinuuma strategijskog upravljanja: misiju, organizacijske vrijednosti, viziju, strateške ciljeve
  • Analizirati potrebu za e-poslovanjem i primijeniti koncepte e-poslovanja
  • Procijeniti spremnost organizacije za uvođenje suvremenih ERP sustava i definirati projekt uvođenja istih
  • Razumjeti povijesni aspekt edukacijskih sustava, društvenu uvjetovanost odgojno-obrazovne prakse i diferenciranost suvremenih odgojno-obrazovnih koncepcija
  • Poznavati organizaciju sustava odgoja i obrazovanja te ustroj odgojno-obrazovnog procesa na svim razinama
  • Razumjeti odrednice djelovanja i ponašanja ljudske jedinke i grupnu dinamiku (razrednog odjeljenja, timova, kolektiva …)
  • Organizirati nastavni proces
  • Artikulirati nastavni sat primjenjujući primjerene nastavne metode i oblike rada, didaktičke principe i nastavna sredstva
  • Voditi pedagošku dokumentaciju, ispitivanje,ocjenjivanje i vrednovanje u skladu s zakonskom regulativom i kriterijima osobne i profesionalne etičnosti
  • Poučavati učenike primjeni različitih oblika učenja, samovrednovanju i samoreguliranom učenju
  • Upravljati razrednim odjeljenjem, i surađivati s roditeljima i drugim strukturama unutar i izvan odgojno-obrazovne institucije
  • Analizirati građu računala, suvremene računalne arhitekture te primijeniti ta znanja u dizajnu obrazovnog informacijskog sustava, kao i u nastavi
  • Primijeniti principe proceduralnog programiranja, izgradnje struktura podataka i algoritama
  • Interpretirati povijest informatike i računarstva
  • Analizirati i usporediti računalne Web i desktop alate za prezentaciju informacija i primijeniti ih u nastavi
  • Formulirati problem iz realnog svijeta u smislu problemskog zadatka u informatici te ga znati riješiti i rješenje evaluirati
  • Analizirati, preporučiti, implementirati i koristiti sustave za e-učenje u skladu s metodičkim i pedagoškim principima
  • Izvoditi proces poučavanja u multikulturalnim i multietničkim sredinama i drugim posebnim uvjetima (treća dob, centri izvrsnosti …)
  • Osmisliti postupke za upravljanje procesom učenja i poučavanja u rizičnim situacijama
  • Predstavljati informatička znanja i vještine kao učinkovite instrumente za podupiranje integracijskih procesa
  • Predstavljati nastavnicima mogućnosti korištenja informatike u odgojno-obrazovnom procesu
  • Preispitivati, strukturirati i restrukturirati svoja osobna i profesionalna iskustva (razvijati refleksivnu praksu)
  • Koristiti stečena znanja o vizualnom oblikovanju i sadržajima u ostvarivanju kreativnih vizualnih projekata pri radu s računalom.
  • Modelirati postojeće vizualne sadržaje za potrebe konkretnih osobnih (ili učeničkih) računalnih radova (web dizajn, grafički dizajn, dizajn multimedija,…).
  • Koristiti vještine učenja potrebne za cjeloživotno učenje i nastavak obrazovanja na diplomskom studiju.
  • Upoznati Nacionalni okvirni kurikulum. Upoznati metodologiju izradbe školskog i nastavnog kurikuluma. Upoznati primjenu nastavnog kurikuluma u praksi.
Osnovna literatura
  • Cay S. Horstmann, Gary Cornell: Core Java, Volume I: Fundamentals, 8th Edition, Prentice Hall, 2007.
  • Cay S. Horstmann, Core Java, Vol. 2: Advanced Features, Prentice Hall; 8 edition, 2007.
  • Antonio Goncalves, Beginning Java EE 6 Platform with GlassFish 3: From Novice to Professional, Apress, 2009.
  • Materijali s predavanja dostupni u zatvorenom sustavu za e-obrazovanje http://elf.foi.hr/
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: 27.11.2024.
Vrijeme: 16:00
Opis: Na Fakultetu
izvanredni rok
Datum: 25.04.2025.
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.
2024 © Fakultet organizacije i informatike, Centar za razvoj programskih proizvoda