You are on page 1of 18

INTERNET TEHNOLOGIJE

Priprema za pismeni deo ispita


1. Šta je XML?

XML (eXtensible Markup Language) je jezik za kreiranje struktuiranih dokumenata


razvijen za rad sa podacima, pri čemu se najviše koristi u okviru Web aplikacija. XML je u
svojoj osnovi informacija o informaciji zapisana u tekstualnom obliku. Skup tagova nije
unapred definisan (odatle eXtensible u nazivu XML-a). Razlog za njegovo kreiranje je
internet koji spaja milione računara. Informacije treba da budu čitljive na svakom od njih bez
obzira na tip računara i operativnog sistema koji se na njemu nalazi. XML, pošto predstavlja
tekstualni format, može biti pročitan na bilo kom računaru, po odgovara prethodnim
zahtevima.

Primer XML-a:

<student tip="redovni">
<ime>Nikola</ime>
<prezime>Nikolic</prezime>
<prosek/>
</student>

U prethodnom primeru čvorovi su: student, ime, prezime i prosek. Čvor student ima
atribut tip čija je vrednost redovni. Vrednost čvora ime je Nikola a čvora prezime Nikolic.

2. Šta je DTD?

DTD (Document Type Definition) predstavlja tip fajla koji definiše kako aplikacije
koje koriste dokument treba da interpretiraju simboličke oznake. On je sastavni deo
dokumenta, mada se može nalaziti i kao poseban fajl.

Primer DTD-a:

<?xml version="1.0" standalone="yes"?>


<!DOCTYPE GREETING [
<!ELEMENT GREETING (#PCDATA)>
]>
<GREETING>
Hello XML!
</GREETING>

DTD dokument u sebi može da sadrži: opise elemenata, modele sadržaja, opise liste
atributa i opise entiteta.

1
3. Objasni opise elemenata i modele sadržaja u okviru DTD-a.

Elementi predstavljaju logičke strukture u okviru dokumenata i osnov su svakog


XML-a. Oni se definišu na sledeći način:

<!ELEMENT nazivElementa … >


npr:
<!ELEMENT Student … >
<!ELEMENT Profesor … >

Model sadržaja opisuje vrstu sadržaja koja se može nalaziti unutar elementa. Postoji
četiri tipa sadržaja koji se mogu naći unutar elemenata. To su: sadržaja podataka (sadrži
obične tekstualne podatke i opisuje se sa #PCDATA), sadržaj elemenata (sadrži druge
elemente), mešoviti sadržaj (sadrži i tekstualne podatke i elemente) i bilo koji sadržaj (može
sadržati bolo šta što je definisano u okviru DTD-a). Model sadržaja se definiše na sledeći
način:

<!ELEMENT nazivElementa (modelSadrzaja) >

Primer elementa koji sadrži tekstualne podatke:


<!ELEMENT ime_studenta (#PCDATA)>

Primer elementa koji sadrži druge elemente.


<!ELEMENT student (ime_studenta, prezime_studenta)>

U prethodnom primeru element student može da sadrži samo pod elemente


ime_studenta i prezime_studenta, i to po tačno jedan ovakav elemenat. Takođe, nije
dozvoljeno ni menjati redosled elemenata.

<!ELEMENT student (ime_studenta, prezime_studenta, prosek?)>

? - dopušten je nijedan ili jedan element


* - dopušten je nijedan ili više elemenata
+ - dopušten je jedan ili više elemenata

2
4. Objasni liste atributa u okviru DTD-a.

Pomoću liste atributa se definiše skup atributa za određeni element. Svaki opis liste
atributa se sastoji od naziva tributa, dozvoljene vrste vrednosti atributa i oznake tipa atributa.
Primer definisanja liste atributa:

<!ATTLIST nazivElementa nazivAtributa vrstaVrednosti kategorijaAtributa >

Postoje četiri različite vrste vrednosti atributa:


 CDATA - običan tekst,
 ID - dodeljuje jedinstvenu oznaku elementu,
 (vred | vred | ... | vred) - predefinisana lista vrednosti,
 ENTITY – ne tekstualni entitet.

XML atributi se mogu grupisati u tri kategorije:


 #REQUIRED - zahtevani atributi se moraju pojaviti svaki put u okviru elementa
 #FIXED - fiksni atributi imaju konstantnu vrednost
 #IMPLIED - podrazumevani atributi se ne moraju uvek pojaviti i nemaju konstantnu
vrednost

<!ATTLIST student ime_studenta CDATA #REQUIRED


prezime_studenta CDATA #REQUIRED
prosek CDATA #IMPLIED >

<student ime_studenta="Nikola", prezime_studenta="Nikolic", prosek="9.2" />

5. Objasni entitete u okviru DTD-a

Entiteti predstavljaju virtuelne jedinice za smeštanje podataka. Svaka datoteka, niz


znakova ili neki drugi resurs koji može biti ugrađen u XML predstavlja entitet. Prema tipu
sadržaja možemo ih podeliti na:
 Tekstualne entitete - sadrže često korišćene fraze, stringove ili čitave tekstove
 Binarne entitete - sadrže sve vrste podataka sem teksta
 Znakovne i numeričke entitete - omogućavaju opis ne ASCI karaktera
 Parametarske entitete - vrsta entiteta koja je rezervisana samo za korišćenje u DTD-u

Primer entiteta:

<!ENTITY NazivFakulteta "Tehnicki fakultet Mihajlo Pupin" >

Nakon ove linije, gde god u dokumentu treba da se ispiše ime fakulteta koristi se
entitet &NazivFakulteta.

3
6. Šta je XSLT?

XSLT (eXtensible Stylesheet Language Transformations) predstavlja opisni jezik


baziran na XML-u koji služi za transformaciju XML dokumenata u druge XML dokumente
ili dokumente drugih formata koji se mogu prikazivati u Web pretraživačima. Svi noviji
pretraživači imaju u sebi ugrađen XSLT. XML dokument je moguće konvertovati u sledeće
formate:
 HTML
 XHTML
 PDF
 Text
 ...

Prilikom transformacije se koriste izvorni XML dokument, XSLT stylesheet


dokument, XSLT procesor i rezultujući dokument. XSLT procesor , koji je implementiran u
Web pretraživaču, vrši transformaciju izvornog XML dokumenta pomoću XSLT stylesheet
dokumenta, dajući na izlazu rezultujući dokument.
Pomoću XSLT-a možemo:
 dodavati nove elemente u izlazni dokument
 ukloniti elemente iz izlaznog dokumenta
 premeštati elemente u dokumentu
 sortirati elemente u dokumentu
 birati koje ćemo elemente prikazati, a koje sakriti
 vršiti određene transformacije, formatiranje...

7. Šta je RSS feed?

RSS (Really Simple Syndication – stvarno jednostavne vesti) označava protokol za


prenos podataka pomoću interneta. RSS feed-ovi ne koriste HTML jezik pa se za prikaz
sadržaja ne mogu koristiti internet pretraživači (Chrome, Firefox, ...). Korisnici primaju
sadržaj isključivo ako su se pretplatili na njega. RSS predstavlja jednostavan način za
automatsko preuzimanje informacija sa Web lokacija. Pretplatom na njega, korisnici dobijaju
obaveštenja o najnovijim zbivanjima ili promenama na sajtovima koji ih zanimaju. RSS služi
za brz pregled sadržaja na internetu, jer su podaci "očišćeni" od suvišnih podataka koje u sebi
sadrži HTML. Obim ovih informacija nije ograničen samo na tekst, nego može obuhvatiti i
različite audio i video formate. Velika prednost RSS feed-a nad "običnim" pregledom neke
Web stranice, počiva upravo u njegovoj brzini i jednostavnosti promene. Ne morate da
pristupate nekoj stranici, da bi ste videli najnovije izmene (vesti i slične informacije, koje se
često menjaju svakih nekoliko minuta), već je dovoljno da nekim od RSS čitača "preletite"
preko najnovijih izmena na nekoliko Web sajtova u roku od nekoliko sekundi.

4
8. Šta je SOAP?

SOAP (Simple Object Access Protocol) je protokol za komunikaciju između sistema,


pro čemu sama komunikacija ne zavisi od platformi na kojima su sistemi zasnovani. Ovaj
protokol je baziran na XML-u koji se koristi kako bi se razmenili podaci između aplikacija.
Slanje XML dokumenata se vrši pomoću HTTP protokola.
Pre upotrebe SOAP protokola, udaljene aplikacije su komunicirale pomoću RPC-a
(Remote Procedure Calls) ili su koristile pozive poput DCOM-a i CORBA-e. HTTP protokol
nije namenjen za prenos binarnih podataka, jer bi takav prenos bio nesiguran. Sigurniji način
komunikacije pomoću ovog protokola je uz pomoć tekstualnih podataka, jer je HTTP
protokol i namenjen prenosu ovakvog sadržaja.
SOAP kao protokol omogućava komunikaciju između aplikacija koje rade na
različitim operativnim sistemima, različitim platformama i pisane su u različitim
programskim jezicima. Jedini uslov koji one moraju da ispune je da podržavaju HTTP
protokol. Aplikacije razmenjuju XML poruke unapred dogovorenog formata.
Komunikacija pomoću SOAP protokola obuhvata sledeće faze:
 SOAP klijent kreira zahtev (XML dokument)
 Zahtev se šalje SOAP serveru pomoću HTTP protokola
 SOAP server kreira odgovor (XML dokument) na osnovu zahteva upućenog od strane
SOAP klijenta
 Odgovor se šalje SOAP klijentu pomoću HTTP protokola

9. Šta je SOAP poruka i navesti primer.

SOAP poruka je formatirani XML dokument koji mora poštovati određena pravila:
 SOAP poruka mora biti korektno formatirana sa XML omotačem (envelope)
 SOAP poruka ne sme sadržati DTD reference, kao in instrukcije za procesiranje XML
dokumenta

SOAP poruka se sastoji iz sledećih delova:


 Omotač (envelope) – identifikuje da XML dokument predstavlja SOAP poruku
 Zaglavlje – sadrži informacije o onome ko šalje poruku, primaocu i primeni poruke
 Telo poruke – sadrži samu poruku zajedno sa blokom poruka koje govore o greškama
koje su se dogodile prilikom obrade informacija
 Blok poruka sa greškama – sadrži podatke o greškama koje su nastale tokom
komunikacije

SOAP zahtev SOAP odgovor


<?xml version="1.0"?> <?xml version="1.0"?>
<soap:Envelope <soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope" xmlns:soap=http://www.w3.org/2001/12/soap-envelope
soap:encodingStyle="http://www.w3.org/2001/12/soap- soap:encodingStyle="http://www.w3.org/2001/12/soap-
encoding"> encoding">
<soap:Body xmlns:m="prosek"> <soap:Body xmlns:m="prosek">
<m:VratiProsek> <m:VratiProsekOdgovor>
<m:IndeksStudenta>12345</m: IndeksStudenta > <m:Prosek>8.78</m:Prosek>
</m: VratiProsek > </m: VratiProsekOdgovor >
</soap:Body> </soap:Body>
</soap:Envelope> </soap:Envelope>

5
10. Šta je Web servis?

Web servisi predstavljaju modularne, samoopisujuće aplikacije koje se mogu objaviti,


locirati i pozivati sa bilo koje tačke na Web-u. Oni su kreirani kako bi podržali interakciju
različitih sistema bez obzira na platformu na kojoj su oni bazirani i korišćeni programski
jezik. Komunikacija između sistema se ostvaruje pomoću standardizovanih otvorenih
protokola, kao što su HTTP, SMTP, FTP, ... U osnovi Web servisa se nalazi XML koji
predstavlja univerzalni jezik za razmenu podataka na internetu. Osnovne karakteristike Web
servisa su:
 Interoperabilnost – sposobnost za zajednički rad između više različitih sistema
 SOA (Sevice Oriented Architecture) - Oblik višeslojne organizacije računarskih
sistema koji obezbeđuje deljenje logike poslovanja i informacija od strane različitih
softverskih sistema i načina njihovog korišćenja
 Skalabilnost – menjanje postojećih funkcionalnosti je uz minimalne troškove i
najmanji mogući uticaj na sistem

Arhitektura Web servisa, kao i jezici i protokoli koji se koriste u svakom od delova su
prikazani na sledećoj slici:

Tok servisa
(WSFL – Web Service Flow Language)
Otkrivanje servisa
(UDDI – Universal Description, Discovery and
Integration)
Objavljivanje servisa
(UDDI – Universal Description, Discovery and
Integration)
Opis servisa
(WSDL – Web Service Description Language)
Razmena XML poruka
(SOAP – Simple Object Access Protocol)
Mreža
(Protokoli – HTTP, SMTP, FTP, ...)

6
11. Šta je WSDL?

WSDL (Web Service Description Language) predstavlja jezik za opis Web servisa
koji je baziran na XML-u. Glavni elementi u okviru WSDL-a su:
 <types> - tipovi podataka koje koristi Web servis. Opisuje sve tipove podataka koji se
koriste između klijenta i servera. WSDL preporučuje upotrebu XML Schema za
definisanje tipova podataka, mada se mogu koristiti i drugi jezici.
 <message> - poruke koje koristi Web servis. Definiše se naziv poruke i daje opis
poruke. Sastoji se od nula ili više delova (part).
 <portType> - operacije koje Web servis može da izvrši. On predstavlja "interfejs"
Web servisa. Definiše operacije koje Web servis može izvršiti kao i poruke koje se
razmenjuju tokom komunikacije. Tipovi operacija mogu biti:
o one-way – operacija šalje zahtev ali ne prima odgovor
o request-response – operacija šalje zahtev i prima odgovor
o solicit-response – operacija čeka odgovor pa onda šalje novi zahtev
o notification – operacija čeka odgovor
 <binding> - protokoli za komunikaciju sa Web servisom. On definiše konkretan
protokol i format podataka za portType. Mogu se koristiti standardni protokoli
(HTTP, SMTP, ...) ali i definisati novi. Binding element ima dva atributa:
o name – definiše ime binding-a koje može biti proizvoljno
o type – ukazuje na port za binding

Struktura WSDL-a je prikazana u nastavku:

<definitions>
<types>
definicija tipova ...
</types>
<message>
definicija poruka ...
</message>
<portType>
<operation>
definicija operacija ...
</operation>
</portType>
<binding>
definicija povezivanja ...
</binding>
</definitions>

7
12. Šta je UDDI?

UDDI (Universal Description, Discovery and Integration) predstavlja XML bazirani


registar koji omogućava objavljivanje servisa i njihovo lako pronalaženje i integraciju od
strane korisnika. Sastoji se iz dva dela:
 registar svih metapodataka servisa koji uključuje i pokazivač na WSDL opis servisa
 skup WSDL definicija tipova portova koji se koriste za manipulaciju i pretragu
registara

UDDI je organizovan u obliku direktorijuma, pri čemu je u analogiji sa telefonskim


imenikom kreirano tri tipa direktorijuma:
 bele strane (provajderi) – vrše identifikaciju organizacije (preduzeća ili odeljenja).
Predstavljaju najviši nivo u hijerarhiji. Sadrže informacije o provajderu koji pruža dati
servis. U okviru njega se navode svi servisi za dati provajder.
 žute strane (servisi) – vrše podelu usluga po kategorijama (narudžbine, rezervacije,
itd.) baziranu na standardnoj taksonomiji. Najčešće je nekoliko žutih strana, pri čemu
svaka opisuje po jedan servis, povezano sa jednom belom stranom.
 zelene strane (veze) – opisuju pristup Web servisu. Sadrži tehničke informacije o
servisima i to direktne informacije (adresa servisa, parametri i reference ka
specifikaciji) i indirektne informacije (email, FTP i CORBA detalji servisa).
Uglavnom je više zelenih strana povezano za jedan servis (žutu stranu).

13. Šta je AJAX?

AJAX (Asynchronous JavaScript And XML) predstavlja tehnologiju za razmenu


podataka sa serverom bez potrebe da se ponovo učitava cela stranica. Pomoću AJAX-a Web
aplikacije mogu biti brže, dinamičnije, bogatije i korisnije. AJAX sam po sebi ne predstavlja
novu tehnologiju, već je to skup sledećih tehnologija:
 Kombinacija HTML/CSS da obeleži i stiliše objekat
 Kombinacija DOM/JavaScript da dinamički prikaže objekat i da omogući korisnicima
interakciju sa prezentovanim informacijama
 XMLHttpRequest objekat obezbeđuje način za razmenu podataka asinhrono između
servera i internet pretraživača da bi se sprečilo ponovno učitavanje celih stranica

AJAX se izvršava na sledeći način:


 Desi se događaj na klijentskoj strani koji zahteva AJAX komunikaciju sa serverom
 Stvori se XMLHttpRequest objekat u okviru koga su definisane funkcije koje će se
izvršiti kada stignu podaci od strane servera
 Šalju se zahtevi serveru
 Sever obrađuje zahteve
 Kreiranje odgovora i slanje podataka nazad klijentu (internet pretraživaču)
 Obrada podataka koje je server poslao
 Ažuriranje sadržaja na klijentskoj strani

8
14. XMLHttpRequest objekat.

XMLHttpRequest objekat služi za razmenu podataka sa serverom bez ponovnog


učitavanja stranice. Podržavaju ga svi moderni internet pretraživači sem IE5 i IE6 koji koriste
ActiveX objekat. XMLHttpRequest se kreira na sledeći način:

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

Nakon toga se otvara konekcija sa serverom i šalje zahtev:

xmlhttp.open (method, URL, async );


xmlhttp.send(string);

U prethodnim izrazima se koriste sledeći parametri:


 method – POST ili GET
 URL – adresa na serverskoj strani
 async – TRUE ili FALSE
 string – koristi se samo za POST metodu

Da bi se analizirao odgovor servera, koriste se responseText i responseXML atributi


HttpRequest objekta.
Važne osobine XMLHttpRequest objekta su:
 readyState – sadrži statuse stanja objekta kao vrednosti od 0 do 4
o 0 – zahtev nije pokrenut
o 1 – veza sa serverom uspostavljena
o 2 – zahtev primljen
o 3 – obrada zahteva
o 4 – zahtev obrađen i odgovor spreman
 onreadystatechange – sadrži funkciju koja se izvršava na svaku promenu readyState-a
 status
o 200 – OK
o 404 – Page not found

9
15. Šta je JavaSpace?

JavaSpace predstavlja tehnologiju za kreiranje distribuiranih sistema. JavaSpace


tehnologija je prvenstveno dizajnirana da bude jednostavna: prostorno-bazirano
programiranje zahteva učenje samo nekoliko operacija. JavaSpace tehnologija je
koordinacioni alat na visokom nivou za spajanje procesa zajedno u distribuiranu aplikaciju.
Ona obezbeđuje fundamentalno različit programski model koji gleda aplikaciju kao skup
procesa koji sarađuju kroz protok objekata u i iz jednog ili više prostora. Prostor (space) je
podeljeno, mrežno dostupno spremište za objekte. Procesi ne komuniciraju direktno već
preko ovih prostora. Ključne karakteristike JavaSpace-a su:
 JavaSpace programski interfejs je jednostavan jer aplikacije vrše interakciju sa
prostorom kroz svega nekoliko operacija.
 Prostori predstavljaju mrežno-dostupne "deljene memorije" koje su kreirane kako bi
procesi mogli da istovremeno daljinski vrše interakciju.
 Prostor sam rukuje detaljima istovremenog pristupa, ostavljajući programerima da se
fokusiraju na dizajn klijenta i protokola između njih.
 Prostori obezbeđuju pouzdan smeštaj za objekte.
 Objekat u prostoru se locira preko asocijativne petlje.

16. Šta je jQuery?

jQuery predstavlja JavaScript biblioteku koja u velikom meri pojednostavljuje


JavaScript programiranje. jQuery omogućava sledeće:
 kreiranje funkcionalnosti koje se mogu kreirati i pomoću JavaScript-a ali sa mnogo
više koda
 dodavanje funkcionalnosti Web strani koje se ne mogu dodati čistim CSS-om i
HTML-om
 menjanje atributa i vrednosti
 menjanje elemenata u HTML-u
 prikupljanje informacija o elementima stranica
 reagovanje na dešavanja koja proizvode korisnici (klik, prelazak miša, ...)

Osnovna sintaksa jQuery-ja je sledeća: $(selektor).action()


 znak $ definiše jQuery
 (selektor) služi da pronađe željene HTML elemente
 action govori koja akcija će biti izvršena nad elementima

Primer: $("p").hide() – predstavlja jQuery sintaksu koja sakriva sve paragrafe

10
17. Šta je JSON?

JSON (JavaScript Object Notation) predstavlja tekstualni otvoreni standard za


razmenu podataka. Izveden je iz JavaScript jezika i služi da bi predstavio objekte. Iako je
blisko povezan sa JavaScript-om, JSON predstavlja nezavisan jezik koji poseduje parsere i za
mnoge druge jezike. Često se koristi za serijalizaciju i prenos strukturiranih podataka između
servera i Web aplikacija, čime predstavlja alternativu za XML.
JSON tekst se sastoji od skupa tokena, pri čemu se tokeni sastoje od strukturnih
karaktera, string-ova, brojeva, false, true i null vrednosti. Sam tekst predstavlja serijalizovani
objekat ili niz. Objekat predstavlja neuređenu kolekciju nula ili više promenljivih, pri čemu je
ime promenljive tipa string, a vrednost promenljive može biti string, boolean, nul, objekat ili
niz. Niz je uređena sekvenca vrednosti.
Sam JSON ima nekoliko ograničenja:
 određene reči moraju biti ispisane malim slovima (false, true, null, object, array,
number i string)
 struktura objekta mora biti ograničena vitičastim zagradama "{ }"
 imena objekata moraju biti jedinstvena
 nizovi se predstavljaju pomoću uglastih zagrada "[ ]", a elementi se odvajaju pomoću
znaka zarez ","
 oktalni i heksadecimalni brojevi nisu dozvoljeni, kao ni 0 na prvom mestu broja
 stringovi počinju i završavaju se znakovima navoda " "

Sledeći primer za JSON sadrži ime i prezime studenta koji su string tipa, godine koje
su numeričkog tipa i smer koji predstavlja novi objekat:

{
"firstName": "Petar",
"lastName" : "Petrovic",
"age" : 25,
"course" :
{
"courseName": "Informacione tehnologije",
"ESPB" : 240
},
}

11
18. Šta je HTML5, objasniti nove elemente vezane za multimediju.

HTML 5 predstavlja novi standard za kreiranje Web stranica koji u sebi sadrži HTML
CSS3 i JavaScript i koji bi trebao da bude nezavistan od uređaja na kom se koristi. Njegovi
osnovni ciljevi su:
 smanjiti potrebu za eksternim plugin-ovima, kao što je npr. flash
 bolja obrada grešaka
 više tagova koji bi trebali da smanje količinu skripti

HTML5 je još uvek u fazi razvoja, tako da njegovu standardizaciju možemo očekivati
2014 godine, po procenama W3 Konzorcijuma. Kao peta verzija HTML-a osnovni cilj je bio
unapređenje ovog jezika, kao i podrška za najnovije multimedijalne sadržaje, a pri tome je
cross-platform, tako da nije bitno da li koristite tablet, smartphone, netbook ili Smart TV,
bitno je da vaš pretraživač podržava HTML5.

Novi elementi u okviru HTML-a 5 vezani za multimediju su sledeći:


 Multimedija – audio: Do sada nije postojao standard za preslušavanje audio fajlova na
web strani. Danas se većina audio fajlova preslušava preko plugin-ova (Flash), tako
da svaki od pretraživača može imati različite. HTML5 kao jednu od novina sadrži
element <audio>, kojim je definisan standard za audio fajlove na Web stranama.
<!DOCTYPE html>
<html>
<body>
<audio controls="controls">
<source src="song.ogg" type="audio/ogg" />
<source src="song.mp3" type="audio/mpeg" />
Your browser does not support the audio element.
</audio>
</body>
</html>

 Multimedija – video: Kao i sa audio elementom, isti je slučaj i sa video elementom.


Do sada su bili potrebni razni dodaci (plug-in), Apple QuickTime, RealPlayer ili
Adobe Flash, koji su ugrađeni u pretraživače. Podrška za ovaj element je u razvoju,
tako da ga ne podržavaju svi pretraživači još uvek, ali se radi na tome. Najveći
problem je u usaglašavanju formata. HTML 5 podržava .ogg, .mpeg4 i .webM, dok je
ostale formate potrebno konvertovati.
<!DOCTYPE html>
<html>
<body>
<video width="320" height="240" controls="controls">
<source src="movie.mp4" type="video/mp4" />
<source src="movie.ogg" type="video/ogg" />
Your browser does not support the video tag.
</video>
</body>
</html>

12
19. Šta je HTML5, objasniti nove elemente vezane za grafiku.

HTML 5 predstavlja novi standard za kreiranje Web stranica koji u sebi sadrži HTML
CSS3 i JavaScript i koji bi trebao da bude nezavistan od uređaja na kom se koristi. Njegovi
osnovni ciljevi su:
 smanjiti potrebu za eksternim plugin-ovima, kao što je npr. flash
 bolja obrada grešaka
 više tagova koji bi trebali da smanje količinu skripti

HTML5 je još uvek u fazi razvoja, tako da njegovu standardizaciju možemo očekivati
2014 godine, po procenama W3 Konzorcijuma. Kao peta verzija HTML-a osnovni cilj je bio
unapređenje ovog jezika, kao i podrška za najnovije grafičke sadržaje, a pri tome je cross-
platform, tako da nije bitno da li koristite tablet, smartphone, netbook ili Smart TV, bitno je
da vaš pretraživač podržava HTML5.

Do nedavno, Web programeri su bili ograničeni na CSS i JavaScript kod kreiranja


animacija i vizuelnih efekata za svoje Web stranice, ili prinuđeni da koriste plugin-ove kao
što je Flash. Sa dodatkom novih tehnologija kao što su Canvas elementi, Web GL i SVG
slike, više nema potrebe za ovim.
HTML5 Canvas elementi koriste JavaScript za crtanje raznih oblika na Web strani.
Canvas predstavlja "platno" nad kojim imamo potpunu kontrolu nad svakim pikselom.
Canvas element ima nekoliko metoda za crtanje putanja, pravougaonih figura, krugova,
krivih, karaktera kao i za dodavanje slika.
WebGL (Web-based Graphics Library) je biblioteka koja unapređuje sposobnosti
JavaScript-a. Omogućava kompatabilnim pretraživačima prikaz interaktivnih 3D animacija.
Sastavni je deo Canvas elementa koji omogućava 3D kompjutersku grafiku bez korišćenja
plugin-ova. Pristupa mu se preko DOM interfejsa.
SVG (Scalable Vector Graphics) je jezik za opisivanje 2D vektorske grafike. Koristi
se za definisanje grafike na Web-u koja se bazira na vektorima. SVG definiše grafiku u XML
formatu. SVG grafika ne gubi na kvalitetu ukoliko se zumira ili promeni veličina. Svaki
element i atribut se može animirati. SVG sarađuje i sa ostalim W3C standardima kao što su
DOM i XSL.

13
20. Šta je HTML5, objasniti nove aplikacije.

HTML 5 predstavlja novi standard za kreiranje Web stranica koji u sebi sadrži HTML
CSS3 i JavaScript i koji bi trebao da bude nezavistan od uređaja na kom se koristi. Njegovi
osnovni ciljevi su:
 smanjiti potrebu za eksternim plugin-ovima, kao što je npr. flash
 bolja obrada grešaka
 više tagova koji bi trebali da smanje količinu skripti

HTML5 je još uvek u fazi razvoja, tako da njegovu standardizaciju možemo očekivati
2014 godine, po procenama W3 Konzorcijuma. Kao peta verzija HTML-a osnovni cilj je bio
unapređenje ovog jezika, kao i podrška za najnovije aplikacije, a pri tome je cross-platform,
tako da nije bitno da li koristite tablet, smartphone, netbook ili Smart TV, bitno je da vaš
pretraživač podržava HTML5.

HTML 5 je učinio ozbiljan pomak u cilju kreiranja Web aplikacija. Buduće Web
aplikacije odlikovaće se nekim od sledećih karakteristika:
 Lokalno skladištenje podataka – davanje mogućnosti korisnicima da lokalno
uskladište svoje Web strane. Na ovaj način je podržana poslednja velika karakteristika
desktop softvera jer je omogućen pristup disku pa tako više nema potrebe za
instaliranjem bilo kakvog softvera
 Lokalni pristup fajlovima - HTML5 konačno pruža standardan način za interakciju sa
lokalnim fajlovima, uz pomoć File API specifikacije. Kao primer svojih mogućnosti,
File API se može upotrebiti za pregled neke slike dok se ona šalje serveru, ili da
dozvoli aplikaciji da sačuva referencu fajla dok je korisnik offline. Može se koristiti
logika sa strane korisnika (client-side logic) za proveru poklapanja ekstenzije upload-
ovanog fajla ili da se ograniči veličina fajla koja se može upload-ovati.
 Lokalna SQL baza podataka
 Aplikacije sa keširanjem podataka - Od sve većeg značaja je dostupnost Web
aplikacija kada smo offline. Svi pretraživači imaju svoje mehanizme za keširanje, ali
su oni uglavnom nepouzdani. Sa ApplicationCache interfejsom HTML 5 pruža
sledeće prednosti:
o Offline pretraživanje – korisnici se mogu kretati po stranici iako su offline.
o Brzina – keširani podaci su sačuvani na lokalnom disku, tako da se učitavaju
brže.
o Smanjenje opterećenja servera – pretraživač skida samo podatke koji su se
promenili.
 JavaScript "radnici" (workers) – predstavljaju JavaScript elemente koje HTML
stranice izvršavaju u pozadini, nezavisno od ostalih user-interface skripti. Njihova
primena je u tome da se izvršavaju zahtevni procesi u pozadini bez prekidanja
korisničkog interfejsa.
 XHTMLHttpRequest 2 - Koristi se za slanje HTTP ili HTTPS zahteva direktno Web
serverima, čiji se odgovori vraćaju u skriptu. Podaci sa servera se mogu primiti kao
XML ili običan tekst. Podaci iz odgovora se mogu direktno koristiti u DOM-u
trenutno aktivnog dokumenta u prozoru pretraživača, bez učitavanja dokumenta nove
web strane.

14
21. Šta je CMS?

CMS (Content Management System) predstavlja sistem za upravljanjem sadržaja


određenog sistema. CMS obavlja četiri osnovna zadatka - to su organizacija, obrada,
objavljivanje i izmena sadržaja. Organizacija se odnosi na smeštanje određenog sadržaja na
odgovarajuće mesto i njegovo povezivanje sa postojećim sadržajem. Obrada označava proces
formatiranja sadržaja kako bi zadobio odgovarajuću formu koja omogućava čuvanje i
objavljivanje. Objavljivanje je proces kojim se sadržaj čini dostupnim korisničkoj populaciji.
Izmena sadržaja odnosi se na proces unošenja izmena u sadržaj koji je već objavljen na sajtu.
CMS sistemi za Web sajtove (nazivaju se i WCM – Web Content Management) u
suštini predstavljaju aplikacije za čije korišćenje nije potrebno programersko znanje. U
pitanju je dinamička Web aplikacija sa troslojnom arhitekturom. Na serverskoj strani nalazi
se aplikativni sloj, koji se sastoji od Web i aplikativnog servera (npr. Tomcat, Apache, IIS)
zaduženog da procesira aplikaciju kodiranu u nekom od programskih ili skript jezika (npr.
JSP, PHP, CGI, ASP, Python, Perl). Na istoj strani nalazi se i sloj za rukovanje bazama
podataka koji se oslanja na funkcionalnost nekog od sistema za rukovanje relacionim bazama
podataka (npr. MySql, SQL Server, Oracle). Na drugoj, klijentskoj strani, prezentacioni sloj
CMS sistema se sastoji iz klijentskih aplikacija, koje se izvršavaju na korisnikovom računaru.
Komunikacija između tri navedena sloja ostvaruje se ili posredstvom lokalne mreže,
ili putem Interneta, a u oba slučaja uz korišćenje transportnog protokola TCP/IP.
Svaki CMS sastoji se od dva nezavisna dela od kojih svaki ima svoju ulogu i logiku
rada, a to su:
 Administratorski deo (backend) - vrši se priprema i uređivanje sadržaja koji će biti
prikazan na sajtu
 Korisnički deo (frontend) - predstavlja izgled sajta

22. Šta je MVC?

MVC (Model View Controller) je softverska arhitektura koja se često koristi prilikom
kreiranja Web aplikacija. Ona razdvaja aplikacionu logiku za korisnika od korisničkog
interfejsa i time omogućava nezavistan razvoj, testiranje i održavanje.
U okviru MVC arhitekture se koriste tri glavne komponente:
 model - to je deo aplikacije koji implementira logiku. On obaveštava pridružene
poglede i kontrolere kada se desi promena u njegovom stanju. Ova obaveštenja
omogućavaju pogledima da prikažu promene.
 pogled (view) – je komponenta koja predstavlja korisnički interfejs i prikazuje
podatke iz modela.
 kontroler – je komponenta koja izvršava interakciju sa korisnikom, radi sa modelima i
bira pogled koji će se prikazati.

15
23. Šta je Web 2.0?

Web 2.0 je nastao kao nadogradnja prethodne verzije Web-a (Web 1.0). Web 1.0 je
bio sačinjen od Web stranica koje su sadržale informacije i njihova osnovna svrha je bila
pružanje informacija. Jedini način na koji su korisnici mogli da koriste takvu vrstu Web
sajtova je da pasivno pregledaju njihov sadržaj. Vremenom se javila potreba da sam korisnik
na različite načine učestvuje u postavljanju i menjanju sadržaja na Web-u, a i same Web
aplikacije su unapređene u tom smeru. Alati za Web 2.0 nisu novi, nove su aplikacije koje su
kreirane ranije korišćenim alatima.
Ključni pojmovi u definiciji Web-a 2.0 jesu:
 sadržaj kreiran od strane korisnika (user generated content) i
 socijalni mediji (social media) – skup Web aplikacija koje omogućavaju kreiranje i
razmenu user-generated sadržaja.

Web 2.0 sajt omogućava korisnicima da međusobno komuniciraju pomoću socijalnih


medija kao kreatori user-generated sadržaja u virtuelnoj zajednici.

Web 2.0 uključuje:


 Socijalne mreže,
 blogove,
 wiki sajtove,
 sajtove za razmenu video materijala (video sharing),
 "tagovanje",
 RSS

24. Šta je Web mining?

Web mining je prikupljanje zanimljivih i potencijalno korisnih obrazaca i informacija


sa Web sajtova. Otkrivanje i pronalaženje informacija uz pomoć Web mininga može se
posmatrati sa stanovišta tri različite tehnike: Web Content Mining, Web Structure Mining i
Web Usage Mining.
Web content Mining je proces izdvajanja znanja iz sadržaja dokumenta ili njegovog
opisa. Sadržaj podataka koji se tu može naći odgovara kolekciji informacija koje su
dizajnirane da bi bile prenete korisniku. Ove informacije se mogu sastojati od teksta, slika,
zvuka, videa i struktuiranih podataka kao sto su tabele ili liste. Istraživačke aktivnosti u ovoj
oblasti uključuju i tehnike iz drugih oblasti kao što su Information Retrieval (IR) and Natural
Language Processing (NLP).
Web structure mining je proces izdvajanja saznanja iz World Wide Web-a. Tipičan
graf Web-a sastoji se od Web stranica koje predstavljaju čvorove i hiperlinkova koji povezuju
dve srodne stranice. Sadržaj u okviru jedne stranice može biti struktuiran u obliku stabla
zasnovanom na HTML i XML tagovima u okviru stranice. Na osnovu ovoga Web Structure
Mining se može smatrati procesom otkrivanja strukturnih informacija na Web-u.
Web usage Mining poznat je i kao Web Log Mining i bavi se izdvajanjem
interesantnih obrazaca iz web access logova. To je primena data maning tehnika na
otkrivanje interesantne upotrebe šablona sa Web podataka u cilju razumevanja i boljeg
pristupa aplikacijama zasnovanim na Web-u. Korišćenje podataka sa neke Web stranice
dovodi do toga da se snima identitet ili poreklo Web korisnika koji trenutno pristupa stranici
zajedno sa njegovim trenutnim zahtevima i ponašanjem na Web sajtu. Neki od tipičnih
podataka prikupljenih na Web sajtu su IP adrese, reference i vreme pristupa korisnika.

16
25. Objasniti osnovne principe zaštite Web aplikacije.

U današnje vreme internet, a samim tim i Web aplikacije postale su najdominantnija i


najisplatljivija tehnologija koja se koristi za obavljanje raznih poslova na internetu. Na
osnovu istraživanja od strane ITU-a (međunarodne telekomunikacione unije) 2010. godine,
internet broji više od dve milijarde korisnika. Upravo zbog svoje raširenosti internet a samim
tim i Web aplikacije, postale su sigurnosne kritične tačke u komunikaciji između klijenata i
servera.
Mnoge Web aplikacije zahtevaju unos ličnih podataka, registraciju, a zatim i
prijavljivanje na sistem da bi se pristupilo i koristila aplikacija. Ti podaci su najčešće mail
adresa, šifre, brojevi računa, adresa, brojevi telefona, što može dovesti do narušavanja
sigurnosti korisnika. Napredovanjem tehnologije, pronalaze se načini da se ti podaci saznaju i
time naruši sigurnost korisnika i sistema, a samim tim i izvrši krađa podataka, novca sa
bankovnih računa i pridobiju druge koristi.
Kako bi se aplikacije i korisnici zaštitili potrebno je istražiti slabosti Web aplikacija,
identifikovati kritične tačke, a zatim nakon stvaranja klasa potencijalnih napada, ponuditi i
rešenje, tj. zaštitu, a da se ne smanji kvalitet i količina usluge. Ključ zaštite je u proveri unosa
i smisla svega što može dovesti do narušavanja korisnika i aplikacije.
Napadi se mogu razvrstati u sledeće klase:
 Napadi vezani za autentifikaciju (autentifikacija je provera identiteta korisnika Web
aplikacije)
 Napadi vezani za autorizaciju (autorizacija je provera privilegija korisnika)
 Napadi na klijentsku stranu (ubacivanje nekorektnog sadržaja i izvršavanje skripti)
 Napadi vezani za izvršavanje naredbi
 Otkrivanje poverljivih informacija (otkrivanje informacija o Web aplikaciji)
 Logički napadi

17

You might also like