Serversko · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da...

48
Serversko programiranje

Transcript of Serversko · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da...

Page 1: Serversko · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

Serversko programiranje

Page 2: Serversko · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

5

CGI programi

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

serveru

HTTP zahtev

Page 6: Serversko · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

14

Primer serverske analize HTML dokumenta

HTTP zahtev

Page 15: Serversko · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

18

ASP

Page 19: Serversko · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

19

Cena

Kvantitativno poređenje serverskih tehnologija

Page 20: Serversko · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

20

Kvantitativno poređenje serverskih tehnologija

Page 21: Serversko · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

Tehnologije distribuiranih objekata

Page 22: Serversko · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

Upotreba multimedije na Web stranama

Page 28: Serversko · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 Adobe-ovog (Macromedijinog) 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

Adobe-ov (Macromedijin) Flash vodeći je 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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 podatka 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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

35

Formati za datoteke sa zvukom

Ogg Vorbis je besplatan metod enkodiranja i kompresije 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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 televizijskom kvalitetu 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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

43

Formati datoteka sa video zapisima i njihova kompresija

RealVideo 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 RealVideo, 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. Verovatno najčešći format video zapisa, 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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

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 · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

45

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 46: Serversko · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

46

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 47: Serversko · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

47

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 48: Serversko · 3 Serversko programiranje Serversko programiranje ne prime ćuje razlike koje mogu da postoje na klijentskoj strani Lokacija čija je interaktivnost bazirana na serveru,

Tehnologije za Web