FOI nastava
FOI logo

Lista kolegija iz:

ak.god:
2014/2015
semestar:
2. semestar

2014/2015

7ECTSa

Diplomski

Diplomski studij informatike v1.2

Program Obavezan
Baze podataka i baze znanja BPBZ Ne
Informatika u obrazovanju IO Ne
Informacijsko i programsko inženjerstvo IPI Da
Organizacija poslovnih sustava OPS Ne
2. semestar
1. nastavna godina

Napredne WEB tehnologije i servisi npp:93123

Engleski naziv

Advanced Web technologies and Services

Katedra

Katedra za teorijske i primijenjene osnove informacijskih znanosti

Kategorija ("boja")

RI

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.

Nastava

Predavanje
45sati
Laboratorijske vježbe
45sati

Ishodi učenja predmeta

  • 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

  • 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 sustavaAnalizirati 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
  • 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.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.
  • 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)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)
  • 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 znanjaIzgraditi 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
  • Objasniti stručnoj i općoj publici informatička rješenja za unapređenje poslovne tehnologijeObjasniti stručnoj i općoj publici informatička rješenja za unapređenje poslovne tehnologije
  • Oblikovati softversku arhitekturu složenog informacijskog sustava, odabrati i postaviti odgovarajuću tehnološku platformu i programirati najsloženije dijelove složenog sustavaOblikovati softversku arhitekturu složenog informacijskog sustava, odabrati i postaviti odgovarajuću tehnološku platformu i programirati najsloženije dijelove složenog sustava
  • Odabrati i primijeniti metode i tehnike razvoja informacijskih i programskih sustava u suvremenim razvojnim okolinamaOdabrati i primijeniti metode i tehnike razvoja informacijskih i programskih sustava u suvremenim razvojnim okolinama
  • Odabrati i primijeniti odgovarajuće sigurnosne mehanizme pri projektiranju i izgradnji informacijskog sustavaOdabrati i primijeniti odgovarajuće sigurnosne mehanizme pri projektiranju i izgradnji informacijskog sustava
  • Primijeniti, utvrditi uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz rješavanje problema iz područja informacijskih i poslovnih sustava Primijeniti, utvrditi uvjete za primjenu, savjetovati i u zadanom kontekstu donositi odluke vezane uz rješavanje problema iz područja informacijskih i poslovnih sustava

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.

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 predmeti

  • 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
Nastavnik Oblik nastave Tjedana Sati tjedno Grupa
Kermek Dragutin Laboratorijske vježbe 1 2 2
Laboratorijske vježbe 9 5 1
Predavanje 9 5 1
Novak Matija Laboratorijske vježbe 1 3 2
Laboratorijske vježbe 1 5 1
Laboratorijske vježbe 8 5 3
Izvanredni rok
Datum: 29.11.2019.
Vrijeme: 17:00
Napomena:
Izvanredni rok
Datum: 08.04.2020.
Vrijeme: 16:00
Napomena:
Predavanje Seminar Auditorne vježbe Laboratorijske vježbe Vježbe (jezici, tzk) Ispit Kolokviji Nadoknade Demonstrature
Copyright © 2015 FOI Varaždin. All Rights Reserved. Sva prava pridržana.
Povratak na vrh