18
INTERNET TEHNOLOGIJE Priprema za pismeni deo ispita

Priprema za pismeni deo ispita - TFZR - Index tehnologije - pismeni.pdf · 1 1. Šta je XML? XML (eXtensible Markup Language) je jezik za kreiranje struktuiranih dokumenata razvijen

  • Upload
    others

  • View
    6

  • Download
    1

Embed Size (px)

Citation preview

INTERNET TEHNOLOGIJE

Priprema za pismeni deo ispita

1

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.

2

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

3

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.

4

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.

5

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"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="prosek"> <m:VratiProsek> <m:IndeksStudenta>12345</m: IndeksStudenta > </m: VratiProsek > </soap:Body> </soap:Envelope>

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

6

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, ...)

7

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>

8

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

9

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

10

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

11

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 }, }

12

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>

13

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.

14

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.

15

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.

16

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.

17

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