Što je web aplikacija

XAMPP
Skinuli ste besplatni paket XAMPP. S njim ste na some računalu dobili web poslužitelj Apache, PHP programski skriptni jezik, MySQL - sustav za upravljanje relacijskim bazama podataka (RDBMS = Relation Database management System).
Sad vaše računalo ima sve potrebno za kreiranje web aplikacija bez da ste spojeni na internet.
Što je to web aplikacija?
Najprije, što web aplikacija nije.
U predinternetsko doba aplikacije su bile datoteke s nastavkom .exe. Sve je bilo "zavareno" u toj datoteci .exe, na primjer cijeli Word je bio u word.exe, cijeli Excel je bio u excel.exe, cijeli Access je bio u access.exe. Nitko nije mogao tu datoteku .exe otvoriti i pretraživati, nitko, niti onaj tko ju je kodirao, jer on je imao "ne zavarenu" verziju na svom računalu koju je nadograđivao te izbacivao stalno nove verzije "zavarene" .exe aplikacije.
Takve aplikacije postoje i danas, a gore spomenute su takve i danas.
Takve web aplikacije nisu.
Kakve su onda?
Rasute. Suprotno od .exe, gdje je riječ o jednoj "zavarenoj crnoj kutiji". Što je suprotno od zatvoreno? Suprotno od zatvoreno je rasuto. Web aplikacija je rasuta po cijelom internetu, znači po cijeloj Zemaljskoj kugli.
Objasni to Ivica malo pobliže.
Sve što vidite na ekranu kad se spojite na internet je web stranica. Web stranica je proizvod web aplikacije. Web aplikacija je ta koja je nama na ekran poslala web stranicu.
Web stranica u koju i sad gledate dok ovo čitate, sastoji se od onoga što ćete ugledati kad pogledate izvorni kod, "view source", pa dio izvornog skripta ove stranice, kojeg možete vidjeti pomoću naredbe view source, evo na ovoj slici:


Web stranica se sastoji od HTML strukture, CSS formatiranja, JavaScript dinamike, grafičkih elemenata za upravljanje stranicom, i unutrašnjih linkova (href=....) koji pozivaju slike, videa i ostali sadržaj te stranice koji može dolaziti od kud god iz bijeloga svijeta i mi ga vidimo na ekranu, na stranici.
Sadržaj najčešće dolazi iz baze podataka, pa je tako svaka web aplikacija povezana s bar jednom web aplikacijom. Svaka web stranica ima i linkove koje mi vidimo na ekranu i koji nas vode na druge stranice ili samo promjene dio sadržaja na postojećoj stranici.
Web stranica na ekranu igra ulogu izvješća i formi u Accessu. Ako su na stranici samo sadržaj i linkovi onda je to web stranica tipa izvješće u Accessu. Ako su na stranici polja u koja trebamo nešto upisati, onda je to forma u Accessu preko koje punimo, ispravljamo, brišemo, ažuriramo podatke u bazi podataka.
Baza podataka o kojoj je riječ u radionicama je MySQL. MySQL zovemo još i poslužiteljem baza podataka jer drži sve naše baze podataka. Taj MySQL poslužitelj je povezan s web poslužiteljem, Apache, i krug se zatvorio. Na web poslužitelju fizički je smještena web aplikacija, a na MySQL poslužitelju je smještena naša baza podataka.
I što je na kraju web aplikacija? To je ono što fizički leži na web poslužitelju, u nekoj mapi. U našim vježbama je to mapa htdocs koju je Apache imenovao "localhost" pa tako naše php skripte pohranjujemo u mapu htdocs (c:\xampp\htdocs\stranica1.php) koju u internet pregledniku otvaramo s localhost/stranica1.php.
Kasnije ćemo otvoriti posebnu mapu unutar mape htdocs, na primjer app1, pa ćemo je otvarati s localhost/app1/index.php ili samo s localhost/app1/ bez index.php jer je index.php home page koja se otvara automatski bez da je napišemo u adresi.
PHP je skriptni jezik čija je uloga prenijeti SQL upite u bazu podataka, baza razumije te upite jer su pisani na njenom SQL jeziku. Baza pronađe podatke koje upit traži i vrati ih PHP-u na web poslužitelj. PHP te podatke pomoću HTML-a i CSS-a strukturira i formatira te ih isporuči na naš ekran kao web stranicu. PHP nije došao na naš ekran. PHP stalno leži na web poslužitelju i tako ležeći obavlja spomenute svoje poslove. naime, on svaki put kad neki link-zahtijev dospije na web poslužitelj toj aplikaciji, kopira sebe i kopiju šalje u procesuiranje rezultat čega je web stranica na našem ekranu.
na taj način PHP može poslužiti ma koliko posjetitelja istovremeno, jer se služi kopijama sebe. To dalje znači da svaki posjetitelj web aplikacije ima za sebe cijelu kopiju aplikaciju. Ušli ste na neku web trgovinu i nalazite se u "sobi 12" i vi vidite što je u toj sobi. Netko drugi je u isto vrijeme u istoj trgovini, ali u "sobi 22" i on na svome ekranu vidi sve što je u sobi 22. Vi klik na link i idete dalje, taj drugi klik na neki link i ide dalje, dakle, web trgovina (web aplikacija) se posveti u cijelosti svakom svom posjetitelju. To je isto kao kad bi u fizičkoj trgovini sve bilo vama na usluzi, istovremeno sa stotinu drugih u trgovini kojima je također trgovina u cijelosti posvećena. Trebali bi imati mogućnost kopiranja fizičkih trgovina i osoblja, pa da svaki kupac dobije jednu kopiju trgovine za sebe. To se dešava s virtualnim trgovinama, sa svakom web aplikacijom.
Ovu stranicu možete anonimno komentirati i tako pomoći da bude informativnija i na taj način proizvod više ljudi a ne samo jednog čovjeka.

Primjedbe