Presentation is loading. Please wait.

Presentation is loading. Please wait.

Serversko programiranje

Similar presentations


Presentation on theme: "Serversko programiranje"— Presentation transcript:

1 Serversko programiranje

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

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

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

5 CGI programi HTTP zahtev Svaki HTTP zahtev, od strane korisnika, generiše novi proces 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.

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

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

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.

10 Životni ciklus servleta
SERVER Prvi zahtev sevlet kod 1 1. POSETILAC kreira novi proces 2. POSETILAC SERVER sevlet kod sevlet kod 2 ... Servlet prihvata i obrađuje zahteve posetilaca N-ti POSETILAC SERVER Uništi proces 3 sevlet kod

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 zahtev prvi put novi proces sledeći put samo nova nit (thread)

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

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

14 Primer serverske analize HTML dokumenta
HTTP zahtev

15 Primer serverske analize dokumenta
čitač Web server Zahtev za dokumentom Učitavanje dokumenta analiza serverskog skripta Vraćanje rezultujućeg HTML dokumenta HTML sa serverskim skriptom

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.

17 ASP Nakon uvođenja .NET tehnologije, Microsoft je i ASP prilagodio istom, tako da je u upotrebi verzija ASP.NET 2.0, objavljena 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

18 ASP

19 Kvantitativno poređenje serverskih tehnologija
Cena

20 Kvantitativno poređenje serverskih tehnologija

21 Tehnologije distribuiranih objekata

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.

23 Osnovni koncepti 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.

24 Poziv metode serverskog objekta
2. Izvršenje metode Klijent Serverski objekat 3. rezultat 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.

25 Klijentski i serverski objekat u okviru svojih programa
Klijent aplikacija kontejner Klijent Serverski objekat 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.

26 Tehnologije distribuiranih objekata
COM/DCOM - (Distributed) Component Object Model RMI - Remote Method Invocation CORBA - Common Object Request Broker Architecture EJB - Enterprise JavaBeans

27 Upotreba multimedije na Web stranama

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

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

30 Tehnologije za animaciju
Tehnologija Opis Animirane sličice u formatu GIF 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. DHTML 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. Flash 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. Shockwave 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. Java 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.

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

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 – puta tokom jedne sekunde Za stereo zvuk potrebna su dva kanala sa po osam bita – 16 bita po uzorku zvuka – 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

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

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

35 Formati za datoteke sa zvukom
Opis WAV Wav datoteke su najčešći formati datoteka sa zvukom na Windows platformi. MPEG (MP3) 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. Ogg Vorbis 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. RealAudio Dominantna tehnologija za strujeće reprodukovanje preko Interneta. Ona zahteva poseban plejer, čije su osnovne verzije besplatne. MIDI 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. RMF Rich Music Format podržava organizacija Beatnik. To je kompaktan format koji nudi visok kvalitet reprodukovanja nakon preuzimanja datoteke. Postaje sve popularniji.

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>

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

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”>

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”>

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

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

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 ( bitova za sekund zapisa), datoteka će dvostruko narasti U stvarnosti, prenos tolike količine podataka nije lak čak ni kada se upotrebi kompresija

43 Formati datoteka sa video zapisima i njihova kompresija
Opis AVI 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. MOV (QuickTime) 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. MPEG 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. ASF 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. RM 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.

44 Formati datoteka sa video zapisima i njihova kompresija
Opis VCD 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. SVCD 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. DivX 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. DVD 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.

45 Uporedni prikaz video formata
VCD SVCD DVD HD DVD, HDTV (WMV HD) AVI, DivX, WMV MOV (Quic­kTime) RM (Real­Media) AVI DV Rezolucija NTSC/PAL 352 x x 288 480 x x 576 720 x x 5762 1440 x x 7202 640 x 4802   320 x 2402   720 x x 576 Video kompresija MPEG1 MPEG2 MPEG2, MPEG1 MPEG2 (WMV MPEG4) MPEG4 Sorenson, Cinepak, MPEG4... RM DV Audio kompresija MP1 MP1, MP2, AC3, DTS, PCM MP3, WMA, OGG, AAC, AC3 QDesign Music, MP3... Veličina fajla (MB/minut snimka) 10 10-20 30-70 ~150 (~60) 4-10 4-20 2-5 216 Minuta na CD od 74 min (650 MB) 74 35-60 ~4 (~10) 60-180 30-180 3 Kvalitet Dobar Vrlo dobar* Odličan* Izuzetan* Odličan Vrlo dobar Pristojan

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

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

48 Tehnologije za Web


Download ppt "Serversko programiranje"

Similar presentations


Ads by Google