serversko - vps.ns.ac.rs · 3 serversko programiranje serversko programiranje ne prime ćuje...

91
1 Serversko programiranje

Upload: others

Post on 31-Jan-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

1

Serversko programiranje

Page 2: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

2

Serversko programiranje

Serversko programiranje ima mnogo oblika, uključujući CGI

skriptove, serverske API program poput NSAPI (Netscape Server

Application Programming Interface) i ISAPI (Internet

Server Application Programming Interface) i Java programa,

serverska okruženja za skriptove, kakva su ASP kompanije

Microsoft i ColdFusion kompanije Allaire

Svaka tehnologija ima svoje prednosti i mane – zajedničko

svojstvo: kontrola

Server je jedini deo klijent-server arhitekture nad kojim autor

lokacije ima kontrolu

Page 3: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

3

Serversko programiranje

Serversko programiranje ne primećuje razlike koje mogu da postoje na klijentskoj strani,

Lokacija čija je interaktivnost bazirana na serveru, teoretski može da isporuči sadržaj bilo kom čitaču

Razvoj interaktivnih elemenata, uprkos prednostima klijentske tehnologije, za veliki broj lokacija sa velikim protokom podataka oslanja se uglavnom na serverske tehnologije

Glavna mana serverske tehnologije je: brzina

Zbog kompletne interakcije koja se odvija na serveru može doći do kašnjenja zbog:

Opterećenosti servera ili

Zagušenosti mreže za prenos podataka

Page 4: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

4

CGI programi

Najstarija tehnologija za serversko programiranje: Common

Gateway Interface (CGI) programi

CGI omogućava Web serverima da pokreću programe kao odgovor

na HTTP zahteve

CGI specificira kako proslediti argumente programu koji će se

izvršiti kao deo HTTP zahteva

CGI omogućava da se vrati rezultat u HTML (ili nekom drugom)

formatu, i to u zavisnosti od parametara konkretnog zahteva

Page 5: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

5

CGI programi

Svaki HTTP zahtev, od strane korisnika, generiše novi proces na

serveru

HTTP zahtev

Page 6: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

6

CGI programi

CGI programi mogu da se pišu na svim jezicima koji mogu da se

koriste na serveru koji izvršava program

Najčešće se CGI programi pišu na jeziku Perl, zbog njegove

izuzetne mogućnosti za rad sa znakovnim nizovima i podrške za

Web

CGI programi mogu se pisati u bilo kom od sledećih jezika:

C/C++, Java, Visual Basic, pa čak i Pascal, Cobol ili Fortran

CGI programe treba pisati na jeziku koji je brz, prenosiv i koji

odgovara serveru što će ga izvršavati i programeru koji će ga pisati i

održavati.

CGI programe treba pisati na jeziku koji je brz, prenosiv i koji

odgovara serveru što će ga izvršavati i programeru koji će ga pisati i

održavati.

Page 7: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

7

CGI programi

CGI program mora da kreira posebni proces za svaki zahtev

posetioca, koji nestaje tek kada se u potpunosti završi transfer

podataka

Kreiranje nove instance programa zahteva dodatno vreme, OS treba

da učita program, alocira memorijski prostor, a nakon izvršenja da

dealocira i ukloni program iz memorije

Performanse – značajne – server opslužuje veliki broj istovremenih

zahteva

U serverskim programima veoma je važan bezbednosni aspekt

CGI programi se lakše mogu nadgledati i održavati ukoliko se

postave u jedan direktorijum

CGI programi se lakše mogu nadgledati i održavati ukoliko se

postave u jedan direktorijum

Page 8: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

8

Serverski API

Serverski API programi koriste se za važne funkcije koje treba brzo da se izvršavaju

Omogućavaju dobru integraciju sa Web serverom

Lako pristupaju glavnim serverskim funkcijama kao što su:

Provera identiteta, kontrola pristupa i brz pristup bazi podataka ili pozadinskim uslugama

Glavna mana serverskih API programa jeste njihova složenost i visoka cena

Loše napisan API mogao bi da blokira ceo Web server, dok lošCGI program može samo da zauzme previše procesorskog vremena

Page 9: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

9

Java Servleti

Servleti - jedna od tehnologija za generisanje dinamičkih Web

sadržaja.

Da bi se servleti mogli koristiti, Web server mora da ima

odgovarajuću podršku za servlete. Pisanje servleta je moguće samo

u programskom jeziku Java, tako da je za njihovo izvršavanje

potrebna i JVM (koju najčešće obezbeđuje Web server).

Servlet je - Java klasa koja nasleđuje standardnu klasu HttpServlet.

Klase i interfejsi koji se koriste u pisanju servleta nalaze se u

paketima

javax.servlet i

javax.servlet.http.

Page 10: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

10

Životni ciklus servleta

1.

POSETILAC

2.

POSETILAC

N-ti

POSETILAC

Prvi zahtev

kreira novi

proces

Servlet prihvata i obrađuje

zahteve posetilaca

Uništi proces

sevlet

kod

sevlet

kod

SERVERSERVER

SERVERSERVER

SERVERSERVER

sevlet

kod...

1

2

3sevlet

kod

Page 11: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

11

Prednosti Java Servleta

Efikasnost – prilikom prvog zahteva prema servletu, server mora

pokrenuti novi proces unutar Java virtualne mašine, ali za svaki sledeći

zahtev prema tom servletu, JVM kreira samo malu Java nit (eng. Thread)

Portabilnost – zbog prirode napiši jednom pokreni, bilo gde (eng. Write

once, run anywhere) Java idioma, servleti su portabilni na različitim

SW/HW platformama

HTTP zahtevprvi put novi proces sledeći put samo nova nit (thread)

Page 12: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

12

Nedostaci Java servleta

Java servleti mogu biti sporiji od CGI skripta, u situacijama gde

servlet poziva veliki broj korisnika

Vidljiv nedostatak je i vezivanje za samo jedan programski jezik

– Java (što je važno samo za programere i ne smatra se nedostakom

tehnologije)

HTML kao izlaz iz servleta je priličan problem, jer je reč o

internom štampanju HTML koda iz servleta – teško čitljive i

složene izlazne naredbe, koje sadrže HTML i programski kod

ostatka aplikacije

Page 13: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

13

Serverski skriptovi Često nazivan “serverski HTML” ili “serverski skriptovi” – pridruživanje

programiranja Web stranama na relativno jednostavan i brz način

Cilj serverskih skriptova: izrada posebnih HTML datoteka ili šablona koji sadrže smešu skripta i HTML elemenata, koje će server po potrebi učitati

Postoje mnoga okruženja za serverske skriptove:

PHP –Personal Home Page

ASP - Active Server Pages

ASP.NET

JSP - JavaServer Pages

ColdFusion..

Razlike su veoma male – glavna razlika između okruženja jeste sintaksa

Page 14: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

14

Primer serverske analize HTML dokumenta

HTTP zahtev

Page 15: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

15

Primer serverske analize dokumenta

čitač Web serverZahtev za

dokumentom

Vraćanje rezultujućeg

HTML dokumentaHTML sa serverskim

skriptom

analiza serverskog

skripta

Učitavanje dokumenta

Page 16: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

16

ASP

ASP ("Stranice aktivne na serveru", eng. Active Server Pages)

predstavlja jedan od skriptnih jezika za razvijanje Internet sajtova,

razvijen od strane kompanije Microsoft.

Njegov glavni takmac na Internet tržištu je PHP, koji ima tu

osobinu da je besplatan i slobodan, dok su ASP i svi proizvodi

potrebni za njegovo korišćenje komercijalni i u vlasništvu

kompanije Microsoft.

Sa druge strane, Microsoft konstantno održava i dodaje nove

mogućnosti svom paketu, na taj način ga čineći modernim, čvrstim

i pružajući svojim klijentima svu moguću tehničku podršku.

Page 17: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

17

ASP

Nakon uvođenja .NET tehnologije, Microsoft je i ASP prilagodio

istom, tako da je u upotrebi verzija ASP.NET 2.0, objavljena 2005.

godine.

ASP je skriptni jezik, kao i PHP, i potreban je interpreter na

serverskoj strani da bi isti mogao da radi.

ASP nije programski jezik, već tehnologija koja omogućava

programiranje Web servera, dok programski jezik zavisi od izbora

autora:

VBScript – najčešće korišćen

JScript – Microsoftova verzija JavaScript jezika

C# (samo za ASP.NET)

Više od 19 jezika (samo ASP.NET) razvijenih od nezavisnih firmi

Page 18: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

18

ASP

Page 19: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

19

Cena

Kvantitativno poređenje serverskih tehnologija

Page 20: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

20

Kvantitativno poređenje serverskih tehnologija

Page 21: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

21

Tehnologije distribuiranih objekata

Page 22: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

22

Osnovni koncepti

Koncept distribuiranih objekata - neki objekat (instanca klase)

sa svojim metodama i atributima može da “postoji” na nekom

računaru i da drugi programi, odnosno objekti, koji se izvršavaju na

drugim računarima mogu da mu pristupaju.

Pristup tom objektu – mogućnost pozivanja metoda i pristupa

njegovim atributima.

Pristup tom “serverskom” objektu bi, sa strane ostalih učesnika

(“klijenata”), trebalo da bude što jednostavniji.

U idealnom slučaju pristup njemu ne bi trebalo da se razlikuje od

pristupa lokalnim objektima – ostalim objektima koji se nalaze u

sastavu programa.

Page 23: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

23

Poziv metode serverskog objekta podrazumava izvršavanje

te metode na onom računaru na kome se nalazi sam objekat.

To znači da se klijentski program izvršava na više računara –

inicijalno na onom na kome je pokrenut, ali i na svim

računarima na kojima se nalaze serverski objekti koje on

koristi.

Osnovni koncepti

Page 24: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

24

Poziv metode serverskog objekta

Komunikacija dva objekta:

klijentski objekat je deo klijentske aplikacije, a serverski objekat je deo

serverske aplikacije.

Serverska aplikacija se često naziva “kontejner” za objekte jer je njena osnovna

funkcija da obezbedi mrežne i druge servise koji su neophodni za ovakav

serverski objekat.

Klijent Serverski

objekat

1. poziv metode

3. rezultat

2. Izvršenje metode

Page 25: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

25

Klijentski i serverski objekat u okviru svojih programa

Posmatrano sa stanovišta autora klijentske aplikacije, i klijentski i serverski objekat

su sastavni deo jednog programa.

Osobina tog programa je da se izvršava na više računara u mreži.

Serverski program, logički posmatrano, i ne postoji; postoji samo serverski

objekat koji se ponaša/koristi kao da je deo klijentskog (jedinog) programa.

Klijent Serverski

objekat

Klijent aplikacija kontejner

Page 26: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

26

Tehnologije distribuiranih objekata

COM/DCOM - (Distributed) Component Object Model

RMI - Remote Method Invocation

CORBA - Common Object Request Broker Architecture

EJB - Enterprise JavaBeans

Page 27: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

27

Upotreba multimedije na Web stranama

Page 28: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

28

Multimedija na Web stranama

Multimedija može da unapredi i obogati izgled lokacije, ali ona ima

velike tehnološke i infrastrukturne zahteve

Ukoliko multimedijalni elementi neće pomoći korisnicima da lakše

koriste Web lokacije – ne bi ih trebalo koristiti

Veoma je važan način dodavanja multimedijskih sadržaja –

potrebno je koristiti poznate tehnologije koje neće predstavljati

barijeru za pristup lokaciji

Page 29: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

29

Animacija Animacije se na Webu koriste za:

Aktivne logotipe,

Animirane ikonice,

Prikaze i

Kratke crtane filmove

Animacije ne treba međusobno da se nadmeću

Nakon izvesnog vremena korisnika animacije zamaraju – izbeći

animacije koje se neprekidno ponavljaju

Autorima su na raspolaganju mnoge tehnologije za izradu

animacija

Page 30: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

30

Tehnologije za animaciju

Iako se može koristiti za animacije, nije preporučljivo. Jedina prednost

animacija izrađenih u Javi jeste što mogu da se izrade u letu na osnovu

složenih proračuna. Jedina razumna upotreba- na klijentskoj strani na osnovu

korisnikovih postupaka. Java je previše složena da bi se koristila u

jednostavnim animacijama.

Java

Komprimovane datoteke programa Director. Njihova glavna prednost nad

formatom Flash jeste u podržavanju složenog programiranja. Mogu biti mnogo

veće od datoteka u formatu Flash.

Shockwave

Flash je vodeći format za kvalitetne animacije za Web. Datoteke u ovom

formatu su veoma male, mnogi korisnici imaju instaliranu podršku za njih.

Podržava ograničene mogućnosti programiranja, mora biti dopunjen

JavaScript-om.

Flash

DHTML (JavaScript) se može upotrebiti za pomeranje objekata po ekranu.

Animacije ostvarene ovom tehnlogijom često su isprekidane, efikasne samo za

živu dugmad i pokretni tekst. Program Dreamweaver omogućava da se na

Web stranu lako dodaju animacije po putanjama.

DHTML

Najjednostavniji oblik animacije i izvorno je podržana u većini Web čitača.

Ovakvoj animaciji može se zadati koliko će se puta ponoviti i druge

vremenske karakteristike, ali ostala napredna svojstva su izvan dometa ove

tehnologije.

Animirane

sličice u

formatu

GIF

OpisTehnologija

Page 31: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

31

Zvuk

Najnovije tehnologije za reprodukovanje zvuka preko

Interneta obuhvataju široku oblast, od tradicionalnog sistema

preuzmi-i-pusti u mnoštvu formata, do tehnologije strujećeg

zvuka koja reprodukuje zvuk u skoro realnom vremenu

Najnaprednije tehnologije nisu uvek najbolje rešenje

Page 32: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

32

Osnove digitalnog zvuka

Digitalni zvuk meri se učestanošću uzorkovanja – time koliko je puta zvuk digitalizovan u toku određenog vremenskog perioda

Učestanost uzorkovanja izražava se u kilohercima (kHz) – mera broja uzorkovanja tokom jedne sekunde

Zvuk CD kvaliteta dobija se uzorkovanjem na 44,1 kHz – 44100 puta tokom jedne sekunde

Za stereo zvuk potrebna su dva kanala sa po osam bita – 16 bita po uzorku zvuka – 705600 bitova za svaku sekundu zvuka CD kvaliteta

U stvarnosti prenos tolike količine podataka zauzeo bi polovinu kapaciteta propusne moći – što najčešće nije dostupno – potreban drugi pristup za emitovanje zvuka CD kvaliteta preko Interneta

Page 33: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

33

Formati i kompresija zvučnih datoteka

Datoteke koje sadrže zvuk mogu da se komprimuju da bi se brže

prenosile preko mreže

Program na strani servera komprimuje i isporučuje zvuk, dok ga

program na strani klijenta dekomprimuje i reprodukuje

Program za kompresiju i dekompresiju naziva se kodek

Formati zvuka mogu da narušavaju kvalitet zvuka ili da ga uopšte

ne narušavaju

Page 34: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

34

Formati i kompresija zvučnih datoteka

Kompresija sa gubicima ne reprodukuje verno originalni zvuk – ali

je prihvatljiva jer daje male datoteke

Kompresija – kompromis između kvaliteta zvuka i veličine

datoteke – što je datoteka veća potrebno je i više vremena da se

prenese preko mreže

Kada se obrađuje zvuk – zadaje format datoteke, a ne način

kompresije

Page 35: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

35

Formati za datoteke sa zvukom

Ogg Vorbis je besplatan metod enkodiranja, kompresije i strimovanja digitalnog zvuka.

Za tačno 1/8 bolji je u brzini po bitovima i po svom kvalitetu u odnosu na MP3. Jedna

.ogg datoteka pri brzini 45 kb/s najčešće zvuči bolje od datoteke .mp3 pri brzini od 320

kb/s.

Ogg Vorbis

Rich Music Format podržava organizacija Beatnik. To je kompaktan format koji nudi

visok kvalitet reprodukovanja nakon preuzimanja datoteke. Postaje sve popularniji.

RMF

Format Musical Instrument Digital Interface nije format digitalnog zvuka. On nosi

informacije o notama i druge bitne informacije na osnovu kojih muzika može biti

sintetizovana. Upotrebljive su samo za neke primene lošeg kvaliteta reprodukcije.

MIDI

Dominantna tehnologija za strujeće reprodukovanje preko Interneta. Ona zahteva

poseban plejer, čije su osnovne verzije besplatne.

RealAudio

Format Motion Pictures Experts Group je standardni format sa velikim stepenom

kompresije. MPEG nivo 3, ili MP3 datoteke su najpopularniji oblik za distribuciju

muzike preko Interneta. Zbog svoje veličine, MPEG datoteke se pre reprodukovanja

najčešće kompletno prenesu na klijentski računar.

MPEG

(MP3)

Wav datoteke su najčešći formati datoteka sa zvukom na Windows platformi. WAV

OpisFormat

Page 36: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

36

Jednostavan zvuk za Web

Najjednostavniji način da se kroz jezik HTML pruži podrška

pristupu preuzmi-i-pusti jeste povezivanje takve datoteke i

prepuštanje obrade pomoćnom ili dodatnom programu

Ako pomoćni programi ili dodatak nisu podešeni odluka o daljoj

akciji se prepušta korisniku

Da bi se povezala datoteka sa zvukom u formatu WAV, u HTML

datoteku dodaje se kod sličan sledećem:

<a href=“democompanyjingle.wav”>Demo Company+s

Corporate Jingle (7 second WAV – 180K) </a>

Page 37: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

37

Jednostavan zvuk za Web

Kada se na Web stranu dodaje snimak poput govora ili delova radio

ili TV programa, uvek treba naznačiti dužinu, format i veličinu

datoteke sa zvukom

Ako se koristi pristup preuzmi-i-pusti najbolje je da datoteke koje

sadrže muziku niskog kvaliteta, zvučne efekte ili govor budu u

formatu WAV

Datoteke u formatu MIDI koristiti za pozadisnku muziku na Web

stranama, naročito ako je ograničena propusna moć

Format MPEG – a posebno MP3 – zaista je jedini izbor za

kvalitetnu reprodukciju, a posebno za reprodukciju muzike

Page 38: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

38

Jednostavan zvuk u praksi

Čitači bi trebalo da podržavaju preuzimanje i reprodukovanje

zvučnih datoteka u formatu MIDI i WAV

Microsoftov Internet Explorer koristi sopstvenu HTML oznaku

<bgsound> ili oznaku <embed>

Na primer, da bi se podesio dodatak LiveAudio da reprodukuje

datoteku test.wav i da prikaže karticu za podešavanje zvuka,

upotrebiti sledeći HTML kod:

<embed src=“test.wav” height=“60”

width=“144”>

Page 39: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

39

Jednostavan zvuk u praksi

<embed src=“test.wav” height=“60” width=“144”>

Zadavanje atributa height i width veoma je važno, jer bi u

suprotnomo čitač mogao da opseče konzolu

Podrazumevana LiveAudio kontrola visoka je 60 piksela i široka 144

piksela

Drugi stilovi za kontrolu imaju druge podrazumevane veličine

Postavljanje pozadinske muzike na Web stranu, moguće je upotrebom

sledećeg koda

<embed src=“test.wav” hidden=“true”

autostart=“true”>

Page 40: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

40

Upotrebljivost i datoteke sa zvukom

Uvek obezbediti alternativni oblik pristupa podacima, jer podrška

za zvuk nije uvek na rapolaganju

Omogućiti korisnicima da isključe zvuk koji je upotrebljen na

lokaciji

Koristiti jednostavniju tehnologiju preuzmi-i-pusti koja je podržana

u mnogim čitačima – ne zahtevati od korisnika da instaliraju mnoge

dodatke za reprodukovanje raznih formata

Page 41: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

41

Video

Mnoge kompanije pokušavaju da razviju emitovanje

televizijskog programa preko Weba

Emitovanje visokokvalitetnog video zapisa od 30 sličica u

sekundi

Većina dosadašnjih rešenja ne radi dobro sa propusnom moći

koja je na raspolaganju prosečnom korisniku

Page 42: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

42

Osnove digitalnog videa

Digitalni video zapisi karakterišu se brojem snimljenih sličica u sekundi i njihovom veličinom i rezolucijom

Video zapisi mogu da budu veoma veliki, a naročito ako se teži PAL videu (televizijski kvalitet slike)

Video slika veličine 640 x 480 piksela sa 24-bitnom paletom boja i 30 sličica u sekundi zauzima 27 MB po sekundi - i to bez zvuka

Ako se tome doda i kvalitetni CD zvuk (705600 bitova za sekund zapisa), datoteka će dvostruko narasti

U stvarnosti, prenos tolike količine podataka nije lak čak ni kada se upotrebi kompresija

Page 43: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

43

Formati datoteka sa video zapisima i njihova kompresija

RealMedia je dobar format tehnologije strujećeg videa. Datoteke u RM

formatu mogu biti snimljene u različitim kvalitetima u zavisnosti od toga

kolika propusna moć stoji na raspolaganju krajnjem korisniku.

RM

Advanced Streaming Format kompanije Microsoft isporučuje se

Microsoftovom serverskom tehnologijom NetShow koja se sada zove

Windows Media. Rastuća konkurencija formatu RealMedia, nudi visok

kvalitet i dobru podršku IE.

ASF

Motion Picture Expert Group format za video zapise smatra se

standardnim formatom za digitalni video. Iako su kompresija i kvalitet

slike formata MPEG na visokom nivou, ponekad je s njim teško raditi.

MPEG

MOV je nastavak imena datoteke koji označava format QuickTime

kompanije Apple. Postaje sve popularniji na Internetu. Razli čiti kodeci i

poboljšanja učinili su QuickTime moćnim rešenjem za digitalne video

zapise.

MOV

(QuickTime)

Audio Video Interleave je format za digitalni zvuk i video za Windows.

Često se sreće i lako zadaje. Na Internetu je sve više datoteka u tom

formatu, bez obzira na to što mogu biti velike. IE se lako snalazi sa

datotekama u tom formatu.

AVI

OpisFormat

Page 44: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

44

Formati datoteka sa video zapisima i njihova kompresija

Digital Versatile Disc (DVD) je možda najpoznatiji termin u svetu

digitalnog videa. DVD plejeri su postali standard i osvajaju tr žište mnogo

brže nego video rekorderi nekada. Video signal brzine 9800 Kbps u

rezoluciji 720x576 pruža vrhunski kvalitet slike. Na standardni DVD može

da stane oko 2 časa digitalnog videa, što zavisi od njegovog kvaliteta.

DVD

DivX format baziran na standardu MPEG4 pomoću koga se dobijaju

izuzetno komprimovane video datoteke vrhunskog kvaliteta. Posebno je

podesan za razmenjivanje filmova. Ipak i ovaj format ima svoje nedostatke.

DivX

Super VideoCD (SVCD) Na DVD plejeru (ukoliko može da ga podrži), ovaj

format pruža video izuzetnog kvaliteta. SVCD ima rezoluciju 480x576 piksela

tako da, kada se reprodukuje na računaru može da izgleda pomalo nejasno.

SVCD

VideoCD (VCD) format pojavio se na azijskom tržištu koje nije želelo da za

reprodukciju videa na DVD plejeru plaća astronomske cene DVD konzorcijumu.

Kvalitet formata VCD bi mogao da se uporedi sa VHS kasetama – ni previše

dobar ni previše loš. VCD diskovi mogu da se reprodukuju na većini savremenih

DVD plejera.

VCD

OpisFormat

Page 45: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

45

HD DVD

Page 46: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

46

HD DVD

HD DVD (engl. High-Definition DVD, High Definition Digital Video Disc) je digitalni višenamenski disk velike gustine, razvijen za zapisivanje videa visoke definicije.

HD DVD standard je razvila grupa proizvođača potrošačke elektronike i personalnih računara, predvođena Tošibom, 2003. godine

Kapacitet HD DVD je 15 GB, odnosno 30 GB u slučaju dvoslojnih diskova. Tošiba je objavila i karakteristike formata troslojnog diska, kapaciteta 45 GB.

HD DVD je kompatibilan sa DVD.

Sloj sa podacima se kod ovih diskova nalaze u sloju koji je 0.6 mmispod površine.

Page 47: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

47

HD TV

Televizija visoke rezolucije ili HDTV što je skraćenica od

engleske reči High-definition television koja u prevodu znači

televizija visoke definicije.

Predstavlja novi standard emitovanja TV programa koji se ne

oslanja na stare, već zastarele, sisteme.

Glavne odlike novog sistema su: veća rezolucija, 16:9 odnos

ivica ekrana (dosadašnji 4:3), okružujući sistem zvuka,

moguća implementacija servisa interaktivne televizije.

Page 48: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

48

Odnos veličina dosadašnjih standarda i HDTV

Page 49: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

49

Odnos rezolucija dosadašnjih standarda i HDTV

Rezolucija HDTV 4 puta veća od standardne Rezolucija standardne televizije

Page 50: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

50

Uporedni prikaz video formata

OdličanPristojanVrlo dobarOdličanIzuzetan*Odličan*Vrlo

dobar*DobarKvalitet

3120-30030-18060-180~4 (~10)10-2035-6074

Minuta na CD

od 74 min (650

MB)

2162-54-204-10~150 (~60)30-7010-2010

Veličina fajla

(MB/minut

snimka)

DVRM

QDesign

Music,

MP3...

MP3, WMA,

OGG, AAC,

AC3

MP1, MP2, AC3,

DTS, PCM

MP1, MP2,

AC3, DTS,

PCM

MP1MP1Audio

kompresija

DVRM

Sorenson,

Cinepak,

MPEG4...

MPEG4MPEG2 (WMV

MPEG4)

MPEG2,

MPEG1MPEG2MPEG1

Video

kompresija

720 x 480

720 x 576

320 x 2402640 x 4802640 x 48021440 x 10802

1280 x 7202

720 x 4802

720 x 5762

480 x 480

480 x 576

352 x 240

352 x 288

Rezolucija

NTSC/PAL

AVI DV

RM

(Real-Me

dia)

MOV

(Quic-kTi

me)

AVI, DivX,

WMV

HD DVD, HDTV

(WMV HD)DVDSVCDVCDFormat

Page 51: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

51

Zaključak

Izrada Web strana može biti veliki izazov jer potrebne tehnologije

nisu sazrele i stalno se menjaju

Trebalo bi dobro analizirati prednosti i mane svih tehnologija za

Web pre donošenja odluke koju primeniti

Čitači Weba i programi za izradu Web lokacija podložni su

greškama

Rešavanje potencijalnih problema niskog nivoa – zahteva dobro

poznavanje osnovnih tehnologija za Web poput jezika HTML i

kaskadnih stilova

Page 52: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

52

Zaključak

Web stranama sigurno će biti dodato i programiranje

Prilikom odabira alata za programiranje – očuvati doslednost

izboru

Multimedijski sadržaji imaju svoje mesto na Webu –

tehnološka ograničenja sužavaju njihovu upotrebu

Page 53: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

53

Isporuka i održavanje Web lokacija

Page 54: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

54

Važnosti isporuke Korisnik ne može da vidi sve komponente koje utiču na brzinu

isporuke lokacije Drugi korisnici

Saobraćaj koji potiče od drugih korisnika Weba

Mreža

Količina

poslatih podataka

(tekst, slike, itd.)

Klijentska stranaServerska strana

Korisnik Web

vidi kao celinu, a

ne kao

pojedinačne

komponente

Drugi

klijentski

procesi

Brzina lokalnog

sistema

Brzina lokalnog čitača

Propusna moć

korisnikove veze sa

Internetom

Prekidi mrežne

komunikacije

Latentnost zbog velike

fizičke udaljenosti

Efekti protokola

TCP/IP i HTTP

Brzina servera:

• Brzina procesora

• Brzina diskova

Opterećenje servera

Page 55: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

55

Protokoli i dizajn Web strana

HTTP (Hypertext Transfer Protocol) dobro razumeju skoro svi

čitači koji se danas koriste na Webu - iako on nije ni

najsofisticiraniji ni najbrži mrežni protokol,

Jednostavnost metoda zahtev/odgovor uzrok je mnogih problema -

naročito ako se kombinuje sa drugim protokolima, na primer sa

protokolom TCP

Prvo što treba uzeti u obzir – činjenica da protokol HTTP odvojeno

zahteva svaki objekat koji je dodat na Web stranu

PREDLOG:

Postaviti na stranu mali broj objekata kako bi se smanjio broj HTTP

zahteva

Page 56: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

56

Protokoli i dizajn Web strana

TCP koristi razne tehnike, poput sporog starta (eng. slow start) i

povlačenja (eng. backoff) pomoću kojih izbegava zagušenje mreže

Svojstvo sporog starta pri preuzimanju velikih datoteka – prenos se polako

povećava dok ne dosegne najveću vrednost

Zbog male veličine objekata, brzina prenosa ne dostigne najveću vrednost

– objekti Weba se ne prenose najvećom mogućom brzinom – jedna slika

od 100 KB učita se pre nego nekoliko slika ukupne veličine 80 KB

PREDLOG:

Složiti tipove podataka, broj objekata i veličinu objekata kako bi se

prenosili što je moguće brže.

Page 57: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

57

Web serveri

Web server – računar na kome se izvršava program koji opslužuje

zahteve čitača Weba

Web server se sastoji od hardvera i softvera

Uloga Web servera

sa svog diska što brže čita mnoge (najčešće male) datoteke koje čine

Web stranu i preko mreže ih šalje brojnim korisnicima koji ih

zahtevaju

izvršava programe koje pojedini korisnici pokrenu i brzo vraća njihove

rezultate – nalaže upotrebu određenog hardvera

Hardver za Web server treba opremiti najbržim diskovima, velikom

količinom memorije i brzim mrežnim priključcima

Page 58: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

58

Hardverski delovi Web servera

Ostale hardverske komponente Web servera ne utiču mnogo na brzinu

isporuke lokacije. Neki dodatni uređaji, na primer uređaji za izradu

rezervnih kopija, potrebni su za održavanje servera.

Ostalo

Kada datoteke budu pročitane sa diska, server će ih preko mreže

proslediti korisniku. Ne treba ograničavati mogućnosti servera sporim

mrežnim priključkom. Serverima koji opslužuju zahtevne lokacije

možda će biti potrebno nekoliko mrežnih priključaka.

Mrežni

priključak

S obzirom na to da je primarni zadatak Web servera isporuka podataka

korisniku, neophodan je brz disk koji se dobro održava.

Hard disk

Podaci će stalno biti prenošeni sa diska u memoriju, a potom na mrežni

priključak. Stoga je potrebno izbegavati ograničavanje protoka

podataka sporom magistralom.

Magistrala

Web serveru će možda biti potrebno mnogo memorije kako bi mogao

da izvršava brojne procese CGI programa koje su korisnici pokrenuli.

Memorija

U stvarnosti Web serveri nisu previše zahtevni. Kada je potrebno

obraditi mnoge zahteve, korisnije je raspolagati većim brojem

procesora nego jednim brzim procesorom.

Procesor

NapomenaKomponenta

Page 59: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

59

Operativni sistemi za Web servere

Prilikom odabira operativnog sistema potrebno je uzeti u

obzir:

Namenu servera

Troškove održavanja na duži period

Performanse i razvojne mogućnosti operativnog sistema

Ukupne troškove

Page 60: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

60

Softver za Web server

Danas postoje desetine Web servera, komercijalnih i besplatnih,

koji mogu da se koriste na raznim platformama

Umesto odluke između svih – podrobno razmotriti samo one koji

se najčešće koriste

Na osnovu ispitivanja i analiza dostupnih Web servera na Internetu,

nastala je lista servera koji se najčešće koriste, prikazana u

nastavku

Tačni procenti o udelu pojedinih servera na mreži predmet su

rasprave u stručnoj javnosti

Page 61: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

61

Softver za Web server

Domino

WebStar

WebSite

IPlanet server (bivši Netscape)

Microsoft IIS - Microsoft Internet

Information Server

Apache

Web server

Page 62: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

62

Lokacija Web servera

Mogućnosti postavljanja servera:

Prostorije vlasnika lokacije

Prostorije dobavljača Internet usluga

Prostorije kompanije koja “ugošćava” Web servere

Mrežno rastojanje između servera i korisnika potrebno je

minimizovati

Ako su kontrola i bezbednost veoma važni, Web lokaciju treba

smestiti na sopstveni server

Page 63: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

63

Izmeštanje Web servera

Što je Web lokacija važnija za informatičku infrastrukturu

kompanije, to ona mora da bude kvalitetnija i dostupnija

Na primer, kompanija koja se isključivo bavi prodajom preko

mreže uopšte ne može dopustiti da njena lokacija bude

nedostupna

Web lokacija za prodaju je kompanijama koje se bave prodajom

preko Interneta važna koliko i standardne telefonske linije ili

napajanje el. energijom

Page 64: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

64

Izmeštanje Web servera

Mnoga su preduzeća shvatila da je obučavanje radnika koji bi pouzdano i efikasno održavali lokaciju i obezbeđivali potrebno okruženje, hardvera i softvera preskupo – brigu o Web serveru prepuste specijalizovanim kompanijama

Server se na različite načine može izmestiti iz kompanijskog okruženja, ali su za sve njih bitna dva faktora

Da li će lokacija deliti jedan Web server sa nekom drugom lokacijom

Da li je računar na kojem se lokacija nalazi vlasništvo lokacije ili kompanije koja se bavi iznajmljivanjem usluga servera i održavanjem lokacija

Page 65: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

65

Smeštanje lokacije na deljeni server

Dva osnovna oblika deljenog ugošćavanja lokacije:

1. prostor na Webu koji je deo drugog servisa i koji je iznajmljen da bi

se u njega postavila lokacija ili prostor koji je dat na upotrebu u

zamenu za mogućnost postavljanja reklama na lokaciji

2. dobavljač Internet usluga korisniku dodeli direktorijum od nekoliko

megabajta na nekom od svojih servera i eventualno pristup

zajedničkim alatkama – jednostavnim skriptovima, brojačima poseta

ili oglasnoj tabli. URL adresa ovako ugošćene lokacije ima oblik

http://www.dobavljač.net/~korisnik ili

http://www.dobavljač.net/korisnik/

Page 66: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

66

Smeštanje lokacije na deljeni server

Usluga ugošćavanja najčešće ne pruža mogućnost prilagođavanja. Na primer, nije moguće dobiti adresu tipa vlasničkidomen.com, saobraćaj prema lokaciji može biti ograničen ili nije dozvoljena upotreba alatki koje su možda potrebne

Prednost ovakvog aranažmana – besplatan ili je njegova cena uračunata u cenu koju vlasnik lokacije plaća za pristup Internetu preko tog dobavljača

Postoje mnoge kompanije koje će pružiti uslugu ugošćavanja u zamenu za lične podatke koji će biti upotrebljeni u marketinške svrhe ili ako im se dozvoli prikazivanje reklame na lokaciji

Deljeno ugošćavanje prikladno je za lične prezentacije i lokacije za zabavu, ali većini će biti potrebne drugačije usluge ugošćavanja lokacije

Page 67: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

67

Smeštanje lokacije na deljeni server

Deljeno ugošćavanja sa zasebnim imenom domena (na primer www.vlasnikovdomen.com) koji se često naziva virtuelni Web server najčešće nije besplatno

Takvim se aranžmanom dobija i vlastiti direktorijum za CGI programe, statistički izveštaji o pristupanju lokaciji i druge pogodnosti

Cene virtulenog servera na deljenom sistemu mogu znatno da se razlikuju

Ako se zahteva složena usluga ugošćavanja lokacije, na primer upotrebe pristupa sistemu za upravljanje sadržajem ili sistemu za prodaju preko Interneta, troškovi mogu da budu izuzetno visoki

Osnovna mana deljenog ugošćavanja Web lokacije jeste činjenica da će lokacija zajedno sa drugim lokacijama deliti resurse i propusnu moć Web servera

odgovor servera na zahteve za podacima može bit usporen

bezbednost podataka nije zagarantovana

Page 68: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

68

Zbog loše bezbednosti podataka i otežanog upravljanja lokacijom

deljenog ugošćavanja – odluka o postavljanju lokacije na zaseban

server

Zasebni serveri imaju mnoge prednosti:

Mogu se opremiti raznim alatkama i programima koji neće uticati na

rad druge lokacije

Njihova najveća mana je cena

Postavljanje lokacije na zaseban server može da bude mnogo skuplje

od odgovarajuće usluge na deljenom serveru

Postavljanje lokacije na zaseban server

Page 69: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

69

Postavljanje lokacije na zaseban server

Postoje dva načina za ugošćavanje na zasebnom serveru:

1. Specijalizovana kompanija je vlasnik servera i ona je zadužena za njegovo održavanje - potpuno ugošćavanje (eng. fully managed) ili ugošćavanje na zasebnom serveru (eng. dedicated hosting)

2. Korisnik je vlasnik servera (i hardvera i softvera) – odgovoran je za njegovo održavanje – smeštanje servera (eng. co-location)

Ako je izbor smeštanje servera – kompanija koja pruža usluge će obezbediti odgovarajući prostor, napajanje el. energijom, priključak na mrežu, određenu propusnu moć i vrlo ograničeno održavanje servera –ponovno pokretanje ako se blokira ili izradu rezervnih kopija

Usluga smeštanja je najčešće jeftinija od potpunog ugošćavanja

Page 70: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

70

Mesečni računi za ugošćavanje servera kod najpoznatijih i najkvalitetnijih

kompanija, na primer Exodus (www.exodus.com) i AboveNet

(www.above.net) mogu da iznose i nekoliko hiljada dolara, u zavisnosti

od opreme, propusne moći i dodatnih usluga (kao što su nadgledanje

bezbednosti ili održavanje nekoliko kopija lokacije na različitim mestima

koja se koriste)

Ako je posao zasnovan na brzoj i robusnoj isporuci Web strana, kvalitetno

ugošćavanje je i te kako značajno

Troškovi se isplate – ukoliko se razmotre troškovi održavanja prostorije

pune servera koji su povezani sa različitim dobavljačima Internet usluga i

koje 24 sata devno, 7 dana u nedelji nadgledaju vrhunski stručnjaci za

računare i računarske mreže

Postavljanje lokacije na zaseban server

Page 71: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

71

Upravljanje Web serverima

Kada je server uspešno instaliran i kada počne da isporučuje sadržaj posetiocima lokacije – potrebno ga je svakodnevno održavati. Neprekidno pratiti:

Dostupnost

Performanse

Bezbednost

Sofisticirani programi za nadzor servera šalju zahteve za celim stranama, a ponekad i ključnim elementima - da li se strane u potpunosti formiraju

Ako kompanija kod koje je ugošćen server ne pruža takve usluge – mogu se korisiti specijalizovani programi za nadziranje lokacije – npr. WebTrends Enterprise Edition (www.webtrends.com) – sadrži module za nadzor servera i alarme

Za potpunu proveru pouzdanosti i dostupnosti lokacije – proveru dostupnosti potrebno je uraditi sa nekolio mesta na mreži

Page 72: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

72

Upravljanje sadržajem

Pravilo imenovanja datoteka:

Izbegavati upotrebu podvlake u imenima datoteka – upotrebiti crticu ili

dve reči spojiti u jednu

U imenima datoteka ili direktorijuma ne treba koristiti velika slova ili

ih mešati sa malim

Kao nastavak imena datoteke izabrati .html ili .htm, potom je dosledno

koristiti

Mogu se uvesti ograničenja u dužini imena datoteka ili šeme za

imenovanje datoteka:

Na primer, neke datoteke mogu sadržati datume, recimo saopštenja za

javnost – imena datoteka pr021299.htm i pr010500.htm mogu da ukažu na

saopštenja za javnost od 02.12.1999. i 01.05.2000.

Page 73: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

73

Uobičajena imena direktorijuma

Centralna lokacija za smeštanje programa i drugih binarnih

datoteka koje je moguće preuzeti sa lokacije.

/download ili

/binaries

Sadrži dokumentaciju u formatu pdf./pdfs

Sadrži audio materijal, uglavnom nestrujeće zvučne zapise./audio

Sadrži video materijal, uglavnom nestrujeće video zapise./video

Sadrži sve slike upotrebljene na lokaciji, uključujući GIF,

JPEG i PNG datoteke

/images

Trebalo bi da sadrži sve spoljašnje kaskadne stilove koji su

upotrebljeni na lokaciji

/styles ili /css

Sadrži skriptove koji se koriste na lokaciji. Tu spadaju

JavaScript skritpovi, CGI skriptovi, ColdFusion, ASP

skriptovi. Neki autori prave zasebne direktorijume za

različite tipove skriptova, na primer /js za JavaScript

/scripts

Tradicionalna lokacija za smeštanje CGI programa koji se

koriste na Web lokaciji

/cgi-bin

Sadržaj Ime direktorijuma

Page 74: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

74

Upravljanje sadržajem –arhitektura tri lokacije

Razvojni

serverPomoćni

server

Korisnici

Kada su potpuno

razvijena, nova svojstva se

primenjuju na pomoćnom

serveru

Kada su potpuno

razvijena, nova svojstva se

primenjuju na pomoćnom

serveru

Autori sadržaja

Pomoćni server sadrži

verziju lokacije sa

izmenama koje će kasnije

biti sinhronizovane sa

produkcijskim serverom

Pomoćni server sadrži

verziju lokacije sa

izmenama koje će kasnije

biti sinhronizovane sa

produkcijskim serverom

Sinhronizovanje sadržaja

Produkcijski

“živi” server

Produkcijski

server isporučuje

sadržaj

korisnicima

Produkcijski

server isporučuje

sadržaj

korisnicima

Autori

lokacije

Velike sturkturne i tehnološke izmene

testiraju se na ovom izolovanom serveru

Velike sturkturne i tehnološke izmene

testiraju se na ovom izolovanom serveru

Page 75: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

75

Upravljanje sadržajem

Pravila:

Nikada ne treba raditi direktno na aktivnoj lokaciji – arhitektura

tri lokacije

Redovno proveravati hiperveze na lokaciji

Redovno proveravati detalje na Web stranama – pravopis,

pravne napomene i fontove

Obezbediti adresu [email protected] na koju će korisnici

moći da šalju predloge, postavljaju pitanja i obaveštavaju o

uočenim greškama

Page 76: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

76

Analiza posećenosti – brojači poseta

Mnoge lokacije za nadzor posećenosti koriste jednostavne brojače na stranicama

Osim što broje posete lokaciji – ne mogu se upotrebljavati ni za kakvu drugu svrhu

Neki korisnici na osnovu brojača odlučuju da li će detaljnije pregledati lokaciju

Ako brojač ukazuje da je lokaciju posetilo nekoliko korisnika – posetilac će pomisliti da na lokaciji nema ništa zanimljivo i napustiće lokaciju

Brojač je pod punom kontrolom administratora – može biti uvećan broj poseta

Većina profesionalnih i ozbiljnih lokacija ne sadrži brojače – korisnici misle da su lokacije sa brojačima amaterske

PREDLOG:

Ne postavljati na lokaciju vidljiv brojač poseta.

Page 77: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

77

Analiza posećenosti – dnevnici servera

Dnevnici Web servera sadrže detaljne informacije o tome šta su

korisnici tražili na lokaciji

Analizirajući zapise iz dnevnika može se videti koju stranu je

korisnik pročitao, a koju nije – odluka koje će se strane staviti bliže

matičnoj strani lokacije, a koje dublje u hijerarhiju

Sa dnevnikom servera nije teško raditi – ali zahteva malo planiranja

Dnevnik se mora analizirati veoma pažljivo – postoje

specijalizovane organizacije, na primer HitBox (www.hitbox.com)

Dnevnici su vrlo slični

Page 78: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

78

Analiza posećenosti – dnevnici servera

Web server vodi dva dnevnika:

Dnevnik pristupa

Dnevnik grešaka

Mogu se voditi i dnevnici:

Dnevnik reference u koji se zapisuju informacije o tome sa koje je lokacije

određeni korisnik došao

Dnevnik agenata – pamti informacije o agentima (najčešće čitačima Weba)

koji su upotebljeni za pristupanje lokaciji

Često se informacije u referencama i upotrebljenim agentima upisuju u

dnevnik pristupa lokaciji

Najčešći format dnevnika i pristupa ima prikladno ime – popularni format

dnevnika

Page 79: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

79

Struktura popularnog formata dnevnika

Host identd authenticated-user [Time of request]“request made” result-code bytes-transferred

Izvod iz tipičnog dnevnika:

206.251.142.45 – [22/Feb/2007:16:29:09 – 0800]“GET /badfile.htmHTTP/1.0” 404 222

sj.ix.netcom.com - - [22/Feb/2007:16:29:12 - 0800]“GET /HTTP/1.‚1” 200 7947

sj.ix.netcom.com - - [22/Feb/2007:16:29:13 - 0800]“GET /images/about.gif HTTP/1.1” 200 506

sj.ix.netcom.com - - [22/Feb/2007:16:29:14 - 0800]“GET /images/staff.gif HTTP/1.1” 200 580

sj.ix.netcom.com - - [22/Feb/2007:16:29:14 - 0800]“GET /images/products.gif HTTP/1.1” 200 620

pheoenix.goodnet.com – lsw[22/Feb/2007:16:40:50 - 0800]] “GET /images/whatsnewtop.gif HTTP/1.1” 200 874

Page 80: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

80

Polja dnevnika pristupa

2358U ovom polju zapisan je broj bajtova koji su poslati

klijentu.

Bytes

transferred

200

404

Ovo polje sadrži numerički statusni HTTP kôd koji

server vraća i koji ukazuje na uspeh ili neuspeh

izvršavanja zahteva.

Result code

“GET/products/books.

htmlHTTP/1.0”

Ovo polje sadrži aktuelni HTTP zahtev koji je klijent

prosledio.

Request made

[22/feb/

2007:13:52:54-08000

Ovo polje sadrži datum, kada je objekat zahtevan. On je

najčešće u formatu DD/Mon/YYYY:hh:mm:ss-GMT

GMT-razlika u odnosu na griničko vreme.

Time of

request

-

bigboss

Ovo polje sadrži korisničko ime poslato za

identifikaciju korisnika. Ukoliko nije zadato, u dnevniku

će stajati crtica.

Authenticated

user

-Informacija koju vraća identd. Ukoliko nije

upotrebljena, u dnevniku stoji crtica.

Identd

192.102.249.5

Pc1.lažnidomen.com

Adresa klijenta koji zahteva objekat. Ovo polje ponekad

sadrži samo IP adresu jer ime domena ne može biti

razlučeno.

Host

PrimerOpisPolje

Page 81: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

81

Analiza posećenosti

U dnevnik se zapisuju zahtevi za svim objektima lokacije –

oni vrlo brzo postaju veoma veliki

Datoteke sa dnevnicima treba podeliti na manje celine (po

danima, nedeljama ili mesecima) kako bi mogle efikasno da

se analiziraju

Postoje mnogi programi – automatizacija analiziranja

dnevnika na primer WebTrends Log Analyzer

(www.webtrends.com)

Page 82: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

82

Automatizacija analiziranja dnevnika

Jednostavniji programi za analizu samo će pročitati datoteke sa

dnevnikom i sačiniti izveštaj

Lokacije sa više od nekoliko hiljada poseta mesečno – za

analiziranje dnevnika koristiti programe koji koriste baze podataka

da pomoću njih naprave arhivu dnevnika za duži period

Arhiva postaje veoma velika

Odluka o tome koliko podataka je zaista potrebno čuvati

Ukoliko lokaciju posećuje veliki broj posetilaca - jedan računar nameni

samo za obradu i analizu dnevnika

Page 83: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

83

Analiza upotrebe lokacije

Poslednja svrha snimanja dnevnika – njihova obrada i izrada izveštaja o upotrebljavanju lokacije

Programi za statističku analizu generišu izveštaje koji ilustruju različite aspekte upotrebe lokacije

Pažljivo analizirati dnevnike servera i dobijene podatke upotrebitida se poboljša lokaciju ili proceniti njenu efikasnost

Ekonomska efikasnost lokacije – analiza dnevnika iz dužeg vremenskog perioda

Lokacija za prodaju preko Interneta – analizirati troškove poseta i prodaja – isporuka lokacije nije besplatna – dobro poznavati torškove svake posete lokaciji

Page 84: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

84

Primer izveštaja o upotrebi lokacije

Page 85: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

85

Uobičajeni poslovi pri analizi dnevnih servera

Pregled dnevnika grešaka, otkrivanje greške 404

Otkrivanje ključnih reči na pretraživačima Interneta

Uočavanje lokacije sa referencama

Uočavanje čitača koji se najčešće koriste

Uočavanje šema vezanih za geografiju i jezike

Uočavanje dnevne šeme poseta

Utvrđivanje da li su uobičajene jednokratne ili višekratne posete

Otkrivanje korisnika i domena sa kojih korisnici najčešće posećuju lokaciju

Određivanje tačnog trajanja prosečne posete lokaciji

Pronalaženje staza kojima se korisnici najčešće kreću

Pregled tačaka izlaza

Pregled tačaka ulaza

Page 86: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

86

Problem sadržaja lokacije

Odluka o tome koji sadržaj je prihvatljiv za postavljanje na Internet

Filtriranje lokacija – tehnologija koja se najčešće koristi poseban program za filtriranje proverava ocenu sadržaja lokacije pre nego što dozvoli da ona bude učitana

ako je zahtevani sadržaj prihvatljiv biće prikazan korisniku u suprotnom

sadržaj neće biti prikazan

Sa aspekta isporuke lokacije – ključni problem vezan za prihvatljivost sadržaja je adekvatno obeležavanje neprikladnog sadržaja i izbegavanje situacija u kojima je prihvatljiv sadržaj označen kao neprihvatljiv i filtriran

Page 87: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

87

Problem sadržaja lokacije

Konzorcijum W3C predložio je platformu za izbor sadržaja na Internetu,

PICS (http://www.w3.org/pub/WWW/PICS/) kao rešenje za filtriranje

sadržaja na Webu

Ocenjena lokacija sadržaće određeni element <meta> u zaglavlju HTML

dokumenta – taj elemenat sadržaće ocenu prihvatljivosti lokacije

Sadržaj lokacije ocenjuje služba za ocenjivanje sadržaja – grupa, organizacija

ili kompanija

U službe za ocenjivanje sadržaja spadaju i nezavisne, neprofitne grupe, poput

organizacije Recreational Software Advisory Council (RSAC) koja već ocenjuje

prihvatljivost kompjuterskih igara

Ocena mora biti zasnovana na dobro definisanom skupu pravila koj i opisuje

kriterijum za ocenjivanje,

skalu vrednosti za svaki aspekt ocenjivanja i

opis kriterijuma koji je upotrebljen za donošenje ocene

Page 88: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

88

Problem sadržaja lokacije

Dodeljivanje ocene prikladnosti dokumentu ili lokaciji – u zaglavlje HTML datoteke dodaje se oznaka <meta>

Ona mora da sadrži:

URL adresu organizacije koja je dodelila ocenu

Informacije o sistemu ocenjivanja (verzija, podnosilac i datum d onošenja)

Samu ocenu

Da bi se generisala RSAC i PICS ocena, potrebno je samo popuniti

obrazac i odgovoriti na nekoliko pitanja o sadržaju loakacije

Nakon što se popuni i priloži upitnik, organizacija podnosiocu zahteva šalje Web stranu ili elektronsku poruku sa sadržajem oznake <meta> koji

treba dodati u zaglavlje HTML dokumenta

Page 89: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

89

Primer PICS ocene u obliku oznake <meta>

<metahttp-equiv=“PICS-Label”

Content=‘ (PICS-1.1” http://www.rsac.org/ratingsv01.html

l gen true comment “RSACi North America Server” for

http://www.democompany.com on “2000.01.31T03:52-0800” r

(n 0 s 0 v 0 l 0))’>

Po sistemu ocenjivanja RSACi informacije se ocenjuju od 0 do 4,

Ocena 0 daje se bezazlenim sadržajima, dok ocenu 4 zaslužuju

najekstremniji slučajevi

Dok filtrira lokaciju, program za filtriranje čita ocenu i na ossnovu nje

odlučuje da li će sadržaj biti prikazan ili ne

Page 90: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

90

Problem sadržaja lokacije

Tehnologije filtriranja postaju sve popularnije – Internet

Explorer sadrži ugrađen filtar koji radi sa platformom PICS

Page 91: Serversko - vps.ns.ac.rs · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani, Lokacija čija je interaktivnost bazirana

91

Zaključak

Brza isporuka lokacije veoma je važna – korisnikov opšti utisak o lokaciji

zavisi od toga koliko ona brzo reaguje

Kada se lokacija optimizuje – uzeti u obzir sve aspekte isporuke –

protokole, servere i mreže

Pri projektovanju Web servera, najpre proceniti potrebe lokacije – na

osnovu njih izabrati: hardver, operativni sistem i Web server

Ozbiljno razmotriti i mogućnosti smeštanja lokacije na server – najbolje

rešenje je neki vid ugošćavanja

Nakon završetka lokacije – pažljivo nadgledanje – održavanje lokacije ne

odnosi se samo na održavanje hardvera i softvera servera, već i na sadržaj

lokacije