DINAMIČKE WEB STRANICE

Download Report

Transcript DINAMIČKE WEB STRANICE

DINAMIČKE WEB STRANICE

Web stranice se dijele na:

• •

Statičke web sadržaje Dinamičke web sadržaje

Statički web sadržaji

• Statički web sadržaji su datoteke koje su unaprijed smještene u odgovarajući direktorijum fajl-sistema web servera i spremne su za isporuku klijentima po njihovom zahtjevu.

HTTP klijent Klijent zahtjeva fajl Sever učitava fajl iz fajl sistema i šalje ga klijentu HTTP server

Dinamički Web sadržaji

• • Dinamičke stranice su ugrađeni programi (ugrađene skripte ili postoji povezanost s nekom pozadinskom aplikacijom ili bazom podataka) koji omogućavaju automatske promjene nekih podataka na stranicama bez intervencije autora stranice.

Dinamičke stranice web sajta su stranice koje imaju sposobnost da se mijenjaju same na osnovu podataka i upita koje primaju od korisnika koji gleda web sajt.

Klijent zahtjeva fajl HTTP klijent HTTP server server generiše fajl i šalje ga klijentu; ne snima ga u svoj fajl-sistem

• • • • • Potreba za svakodnevnim promjenama sadržaja na internetu dovela je do razvoja složenijih internet tehnologija koje omogućavaju dinamične web aplikacije.

Dinamički sadržaji omogućavaju da korisnik može da izmijeni određen sadržaj nap. različita kupovina, prijava na određeni sajt, izmjena podataka o proizvodima koju vrši kompanija ...

Postupak izrade dinamičke web je stranice složen i dugotrajan, jer se mora voditi računa o mnogim parametrima.

Koriste se najčešće prilikom izrade zahtjevnijih web sajtova koji moraju da budu apsolutno prilagođeni zahtjevima korisnika koji pregleda web sajt.

Takođe se koriste za povezivanje sa bazom podataka i njenom manipulacijom. Nezaobilazne su u izradi online web prodavnica.

HTTP komunikacija

• • • Komunikacija između klijenta i servera zasnovana na zahtijev/odgovor principu.

Svaki par zahtijev/odgovor smatra se nezavisnim od ostalih.

– U slučaju da prvi klijent pošalje zahtijev serveru i dobije odgovor, zatim drugi klijent pošalje zahtijev i dobije odgovor, pa potom ponovo prvi klijent pošalje novi zahtijev, nema načina da se ustanovi da je prvi klijent poslao dva zahtijeva (prvi i treći).

Server svaki zahtijev opslužuje nezavisno od ostalih zahteva.

Praćenje sesije korisnika

• • • • HTTP protokol ne omogućava praćenje sesije korisnika.

Kako bi se ovaj cilj ipak postigao definisano je pomoćno rešenje - mehanizam slanja “kolačića” (cookies) između klijenta i servera Uveo ga je Netscape Navigator, a kasnije je postao standardni mehanizam podržan od strane svih web browsera i servera.

Cookie - možemo ga shvatiti kao string od tipično 20-30 znakova koji je namijenjen za jednoznačno identifikovanje korisnika na serveru.

• • • • • Prilikom slanja prvog zahtijeva server će ustanoviti da mu klijent nije poslao cookie kao jednu stavku u zaglavlju zahtijeva.

U odgovor na taj zahtijev server će dodati cookie.

Ukoliko je Web čitač podešen tako da radi sa cookie-ima, on će u svim sljedećim zahtevima koje bude slao tom serveru uključiti i cookie, tako da će server moći da prepozna klijenta koga je već ranije opsluživao.

Glavna svrha kolačića jeste da sačuva informacije. Uglavnom se koriste za čuvanje korisničkog imena i lozinke – korisnik ne mora da ih unosi svaki put kada pristupi lokaciji Mogu se koristiti za čuvanje svih podešavanja koja je korisnik zadao kada je poslednji put pristupao lokaciji

Arhitektura mreže

Nakon pažljive analize prilikom izrade sajta, neophodno je doneti • • odluku o arhitekturi sistema, na kojoj će se sajt instalirati.

Odluka mora biti donijeta na osnovu trenutnih potreba i budućeg razvoja.

– za jednostavne statičke web aplikacije dovoljni su klijenti i server, – za dinamičke i poslovne aplikacije potrebne su najmanje tri komponente: klijenti, web server i aplikacioni server.

Odabir arhitekture zavisi od: – broja korisnika i računara na mreži, – – – vrsta razvojnih okruženja i programskih alata, modela i obima baze podataka, složenosti programskih procedura.

Web aplikacije su najčešće zasnovane na • Klijent/server modelu arhitekture Klijent/server arhitektura je razvijena kao: – višenamenska, – modularna infrastruktura, – zasnovana na slanju i primanju poruka, sa ciljem unapređenja upotrebljivosti i fleksibilnosti.

Klijent/ server arhitektura može biti – Dvoslojni klijent/server sistem – Troslojni klijent/server sistem – Arhitektura višeslojnih sistema

Klijent – server arhitektura

• U klasičnim sistemima za obradu podataka po klijent/server arhitekturi mogu se uočiti tri klase komponenti: server, klijenti i mreža.

Namjena servera : – optimalno upravljanje zajedničkim resursima (podacima), – upravljanje bazom podataka kojoj pristupa više korisnika, – kontrola pristupa i bezbjednosti podataka i – centralizovano obezbjeđenje integriteta podataka za sve aplikacije.

Klijent-aplikacije vrše upravljanje korisničkim interfejsom i izvršavaju dio logike aplikacije.

Računarska mreža i komunikacioni softver omogućavaju prenos podataka između klijenta i servera.

Dvoslojna arhitektura

• Dvoslojna arhitektura sastoji se od 3 komponente distribuirane u dva sloja – klijentskom i serverskom.

• • • Te tri komponente su: Korisnički interfejs – sesije, unos teksta, dijaloški prozori, prikaz na ekranu.

Upravljanje procesima – generisanje, izvođenje i nadgledanje procesa i neophodnih resursa Upravljanje podacima – servisi vezani za deljenje podataka i datoteka

• Jedna od osnovnih karakteristika klijent/server sistema je distribuirana obrada podataka – logika aplikacije je podijeljena između klijenta i servera tako da obezbedi optimalno korišćenje resursa.

– Na primjer, prezentacija podataka i provjera ulaznih podataka su sastavni dio klijent-aplikacije, dok se rukovanje podacima, u smislu njihovog fizičkog smiještaja i kontrole pristupa, vrši na serveru.

Troslojni klijent/server sistemi

• Klijent/server sistemi sa troslojnom arhitekturom (three-tier architecture) predstavljaju sisteme sa tri, u velikoj meri nezavisna, podsistema. U pitanju su sljedeći podsistemi: 1. podsistem za interakciju sa korisnikom (implementira funkcije korisničkog interfejsa); 2. podsistem za implementaciju osnovnih funkcija sistema (implementira tzv. “poslovnu logiku”); 3. podsistem za rukovanje podacima, pri čemu se prije svega misli na fizički smještaj podataka (ovo je, zapravo, sistem za upravljanje bazama podataka).

• Za razliku od dvoslojnog modela obrade podataka, gdje je logika aplikacije bila podijeljena između klijenta i servera, u troslojnom modelu ona se nalazi koncentrisana u tzv.

aplikacionom serveru – čija je namjena da izvršava programski kod koji implementira logiku aplikacije.

– Klijent aplikacija je namijenjena samo za implementaciju korisničkog interfejsa, – a funkcija sistema za upravljanje bazom podataka je isključivo fizičko rukovanje podacima (u prethodnom slučaju je, pored toga, izvršavao i deo logike aplikacije).

Prednosti troslojne arhitekture

• Troslojni koncept je doveo do podele programskog koda na segmente koji implementiraju tačno određene funkcije sistema.

– Tako organizovan sistem je jednostavniji za održavanje, jer je moguće nezavisno razvijati korisnički interfejs, i logiku aplikacije.

– Za potrebe fizičkog rukovanja podacima najčešće se koristi neki od komercijalno dostupnih servera.

– Podrazumijevaju oslanjanje na standarde u odgovarajućim oblastima, zasnovane na Internet tehnologijama, što omogućava integraciju sistema u pogledu korišćene hardverske i softverske opreme.

Troslojna arhitektura

Arhitektura višeslojnih sistema

• Daljim proširivanjem koncepta troslojnih sistema dolazi se do pojma višeslojnih sistema (multitier architecture), gde se vrši dalja podjela na komponente u okviru srednjeg sloja sa ciljem još većeg povećanja performansi.