zaskriptove
Pedagoško društvo Srbije
 
početna početna strana
početna

početna strana


ARHIVA VESTI I DOGAĐAJA OD 2002. DO 2013. GODINE
ARHIVA 2013. GODINA
ARHIVA 2012. GODINA
ARHIVA 2011. GODINA
ARHIVA 2010. GODINA
ARHIVA 2009. GODINA
ARHIVA 2008. GODINA
ARHIVA 2007. GODINA
ARHIVA 2006. GODINA
ARHIVA 2002. -2005. GODINA
POVRATAK NA NOVI SAJT
  Arhiva sajta Pedagoškog društva Srbije - 2002. - 2015. godina

 

 

 

 

 

 

:: Internet tehnologije ::


U tekstu koji sledi će biti opisane glavne tehnologije korišćene u izgradnji ovog sajta: PHP jezik i MySQL baza podataka. Razlozi izbora ovih tehnologija za naš sajt su brojni, počevši od besplatnosti ovih tehnologija pa sve do pouzdanosti i široke rasprostranjenosti istih.

Open Source softver

Pod opensource softverom podrazumevamo onaj softver koji je dostupan korisnicima i u izvornom kodu i koji sami korsnici mogu menjati, prilagođavati i koristiti bez materijalne naknade pod uslovima često navedenim u GPL licenci. OpenSource zajednice su zajednice programera i korisnika okupljenih u, često neprofitne, organizacije, koji za cilj imaju razvoj određenih softverskih rešenja. Ljudi koji pristupaju ovim organizacijama i učestvuju u izradi softvera vode se različitim motivima: od želje za novim saznanjima, učenja kroz rešavanje praktičnih problema, želje za potvrdom sopstvenih sposobnosti, pa do sticanja materijalne koristi kroz obuke, kurseve i druge vidove pomoći korisnicima softvera.

Iako je osnovna ideja softvera otvorenog koda besplatnost i javna dostupnost, sve je više profitnih organizacij koje iz svojih razloga pristupaji, a često i vode ovakve projekte. Tako npr. I najveće korporacije kao što su IBM ili Sun Microsystems vode neke od ovih projekata.

Sajt www.pedagog.rs i OpenSource rešenja

Pri koncipiranju sajta Pedagoškog društva Srbije www.peagog.org.rs pošlo se od sledećih zahteva:

•  koristiti tehnologije koje po kvalitetu ne odskaču od trenutnih standarda
•  razviti internet aplikacije koje će svoj rad zasnivati na nekoj od baza podataka
•  s obzirom da je Pedagoško društvo neprofitna organizacija koja ima ograničena materijalna sredstva na raspolaganju posebnu pažnju obratiti na cenu

Naš izbor je pao na open source rešenja koja su besplatna za upotrebu, ali koja svojim kvalitetom mogu da stanu rame uz rame sa komercijalnim proizvodima.

Konkretno, odlučili smo se da naše web aplikacije realizujemo uz pomoć PHP-a i MYSQL baze podataka.

Baze podataka

U srži web sajta koji se uprevlja poacima je baza podataka. Da bi sistem mogao da radi, mora da postoji baza podataka i ona mora da se nalazi na web serveru, ili na računaru kome web server može da pristupi. Da bismo kreirali bazu podataka i mogli sa njom da komuniciramo, moramo posedovati program po imenu sistem za upravljanje bazama podataka (database menagement system - DMBS). Da bi baza bila deo sistema, mora da se nalazi na serveru.

Baze podataka informacije čuvaju u tabelama, odnosno nizu polja (kolona) i zapisa (vrsta). Ovakva struktura se naziva hijerarhiskim skladištenjem podataka.

Međutim, za rukuvanje složenim informacijama koriste se relacione baze podataka. Ovim bazama rukuje sistem za upravljanje relacionim bazama podataka (RDBMS). Osnovne mogućnosti relacionih baza su: višestruke taele i primarni i strani ključevi.

Da bi funkcinisao kao online sistem, sistem za upravljanje bazom podataka mora biti relaciona baza,mora biti u stanju da radi pod operativnim sistemom koji server traži, mora da razume SQL iskaze i mora biti komatibilan sa ODBC-om, JDBC-om ili nekim drugim standardnim formatom drajvera.

Najviše se koriste sistemi: Microsoft Access, SQL Server, MySQL, PostgreSQL i Oracle.

MySQL

MySQL je DMBS sistem koji je počeo na Unixu, kao dobra alternativa za Access, ali danas nije ograničen samo na ovaj operativni sistem (radi podjednako dobro i na Windows i na Linux platformi). Za razliku od Accessa kod njega ne postoje ogrančenja vezana za istovremeni pristup, a već je čuvena njegova brzina i stabilnost. MySQL je sposoban da rukuje velikim količinama podataka. Najveća prednost ovog DMBS sistema jeste njegov cena - besplatan je, i iako postoje i kompleksnija open source rešenja kao što je PostgeSQL, MySQL je veoma popularan i gotovo da nema pružaoca hosting usluga koji na svojim serverima ne daju podršku za ovaj sistem. MySQL je instaliran je na preko četiri miliona računara, gde se koristi za potrebe web sajtova, datawarehouse-a, poslovnih aplikacija i u druge svrhe.

MySQL server je sredinom 90-tih kreirao finac Michael Wideniu. Cilj je bio da se kreira server baze podataka koji će imate sve funkcionalnosti koje nedostaju u mSQL bazi, koja je u to vreme bila jedna od retkih OpenSource baza podataka. Sekundarni cilj je bio da se kreira pristojna platforma za razvoj web aplikacija. Prve verzije koda su se pojavile maja 1995. godine i kasnije su date OpenSource zajednici. Od onda, MySQL je doživeo proces razvoja, kako samog softvera za upravljanje bazom podataka, tako i propratnih alata. MySQL danas postoji u verzijama za velik broj različitih operativnih sistema kao što su Linux, Windows, MacOS, HPUX, FreeBSD, i drugi.

Rastom popularnosti Linux operativnog sistema i PHP programskog jezika, raste i popularnost MySQL baze podataka. Razlog leži u tome što su ove aplikacije postale nazvaničan standard u OpenSource svetu. Prilikom instalacije Linux-a, kao standardan sistem za upravljanjem bazama podataka se nudi MySQL, a i PHP jezik ga podržava u osnovnom skupu funkcionalnosti. Široka rasprostranjenost je još jedan razlog korišćenja, jer kada se neko ko nije upućen opredeljuje za bazu podataka, prvo se upita: koji sistem koristi najviše ljudi? Takođe, većina Internet provajdera nudi MySQL kao server prilikom davanja usluge hostinga web prezentacija.

Činjenica da je MySQL besplatan, ne znači da je loš. Kao i svaki drugi sistem ima svoje prednosti i nedostatke. Prednost MySQL-a u poređenju se drugim sistemima za upravljanje bazama podataka leži u tome što je optimizovan za rad na web sajtovima. Pred MySQL je postavljena misija da bude brz prilikom uspostavljanja konekcija i davanja odgovora na upite. Server ima nekoliko metoda optimizacije upita i keširanja rezultata u memoriji, što mu daje prednost kod upotrebe na Internetu, gde je moguće da identičan upit bude postavljen nekoliko desetina, stotina ili čak hiljada puta uzastopce. Na ovom polju MySQL nema pravog rivala, jer ostali sistemi nisu optimizovani za takav rad. Sa druge strane, MySQL ne podržava velik broj funkcionalnosti koja se očekuje od ozbiljnog servera baze podataka: pre svega se misli na podršku referencijalnog integriteta i pod-upita. Zatim, u kompleksnijim aplikacijama se kao problem može javiti i nedostatak trigera i uskladištenih procedura. Nedostatak ovih opcija je neposredno vezan za brzinu rada koju MySQL postiže, jer održavanje referencijalnog integriteta i pozivanje trigera direktno utiče na brzinu upita. Jedan od problema je u činjenica da se tabele i indeksi ove baze drže u zasebnim fajlovima, što uz loše dizajniran sistem zaključavanja može da izazove korupciju baze podataka.

Aplikacioni server (srednji sloj)

Baze podataka i sistemi za upravljanje bazama podataka samo su jedna polovina priče o dinamičkom webu. Druga polovina su aplikaoni serveri koji se ponašaju kao srednji sloj i omogućavaju komunikaciju između pretraživača i DMBS sistema.

Najpopularniji aplikacioni serveri su:

ASP/ASP.NET je Microsftov aplikacioni server. Za razliku od drugih ASP nije nezavisan program ili softverski modul - ngove funkcije su ugrađene u Microsoftov web server IIS. Jezik se zasniva na skriptovima, a za pristup bazama podataka može se koristiti VBScript ilJavaScript. ASP je i dalje veoma popularan, ali se sve više zamenjuje kompleksnijim ASP.NET-om. Programi i skriptovi u ASP.NET-u se mogu pati u nekoliko jezika uključujući C++, C#, Jscript i Visual Basic. Strane sa živim podacima se mogu programrati i uz pomoć COM tehnologije. ASP.NET, razumljivo, radi samo u oviru Microsoftovih rešenja: pod IIS web serverom i naravno samo na serverima koji rade pod Windowsom.

JSP ili Java Server Pages su alternativa zasnovana na Javi. Aplikacioni server je u obliku apleta koji se nalazi na serveru. Među populanim JSP kontejnerima postoje neki koji su komercijalni, kao što su Jrun firme Macromedia ili IBM-ov WebSphere, a postoje i open source rešenja, kao što je Tomcat. Naravno, JSP najviše koriste Java programeri.

ColdFusion firme Macromedia je zanovan na tagovima a ne na skriptovima i na taj način komunicira sa bazom podataka. Srce funkcionalnosti ColdFusiona je ColdFusion Markup Language. Deo sa aplikacionog servera je ColdFusion Server. On radi pod Windowsom, Linuxom, HP-Uxom ili Solarisom. Kao i ASP ColdFusion je komercijalno rešenje, odnosno za njegovu upotrebu potrbno je platiti licencu.

PHP

PHP je popularna open source alternativa za komercijalne sisteme. Njegove komande su zasnovane na skriptovima, kojie pišu u PHP skript jeziku.

PHP radi pod Apache i IIS web serverima. Radi na Windows, Linux i Mac OS X operativnim sistemima. Za razliku od ostalih serverskih tehnologija, PHP je vezan za određene baze podataka. U našem slučaju koristićemo MySQL bazu podataka.

Tvorac PHP-a, Rasmus Lefdorf je 1995 napisao jednostavan skup Perl skriptova da bi sebi olakšao rad. Nazvao ih je Personal Home Page tools. Ubrzo su ga kontaktirali drugi ljudi, nakon čega ga je pretvorio u pravi parser izvornog koda. Dodao je podršku za formulare, čime je nastao PHP/FI. Kako je vremenom popularnost rasla, došlo je do okupljanja razvojnog tima koji je napisao API i nastao je PHP3. PHP3 je poceo da se koristi širom sveta, na velikom broju web servera i dostigao veliku popularnost. Kombinacija lakoće upotrebe i robustonsti koju nudi je uzrokovala da PHP počne da se koristi i u neke svrhe koje njegovi tvorci nisu predvideli. Počeli su da se javljaju problemi sa brzinom rada, jer su se pojavile i velike web aplikacije koje su zahtevale parsiranje dugačkih php fajlova. PHP je bio u stanju da podnese to opterećenje, ali je razvojni tim znao da to može mnogo bolje da radi. Tada je napisan novi engine za parsiranje izvornog koda, koji je nazvan Zend, i kreiran je PHP4, višestruko brži od svog prethodnika. Oznaka PHP je počela da označava PHP Hypertext Processor. Radi se o rekurzivnom akronimu, kakvi su vrlo popularni u OpenSource zajednici. Osim promena u parseru izvornog koda, proširena je osnovna funkcionalnost gde je dodat velik broj funkcija koje su do tada bile u eksternim modulima.

U današnje vreme se pred interpretere koda postavlja nekoliko teških zadataka, koji se u engleskom jeziku mogu nazvati 4S (Speed, Stability, Security, Scalability):

Brzina ( Speed) . Današnji web serveri su pod stalnim opterećenjem zbog otvorenost Interneta, koji omogućava konekciju na server iz celog sveta. Velik broj istovremenih konekcija zahteva da procesi koji ih opslužuju obrađuju njihove zahteve u najkraćem mogućem roku, kako bi što pre oslobodili resurse servera. Zbog toga je brzina rada jedan od ključnih faktora kada se vrši odabir programskog jezika u kome će se raditi web aplikacija. Pod brzinom se indirektno podrazumeva i da interpreter zauzima što je moguće manje memorije, kako ne bi usporavao ostale procese na računaru. PHP se odlično integriše sa drugim softverima na računaru, a mogućnost upotrebe PHP-a kao modula Apache web servera je dodatna prednost. Pozivi drugih aplikacija iz PHP skriptova zahtevaju jako malo dodatnih resursa.

Stabilnost. Funkcionisanje i upotrebna vrednost aplikacije zavise od njene stabilnosti. Svaki softver ima neke greške u sebi, ali je važno da se ti bug-ovi što brže otklanjaju. Robustni sistemi, sa kvalitetnim timom programera koji ispravljaju greške, uvek imaju prednost u odnosu na ostale. Iza PHP-a se nalazi OpenSource zajednica, koja garantuje da će se ispravke vršiti u najkraćem mogućem roku.

Sigurnost. Sistem mora biti zaštićen od napada od spolja, kao i raznih pokušaja rušenja sistema davanjem loših ulaznih podataka. Da bi se to postiglo, sistem mora u sebi imati ugrađene mehanizme zaštite. PHP nudi velik broj nivoa sigurnosti koji se mogu podesiti u inicijalizacionom fajlu.

Skalabilnost. Danas se web okruženje koristi za razvoj potpuno jednostavnih, ali i izuzetno kompleksnih web aplikacija. Zbog toga je potrebno da programski jezik koji se koristi omogućuje pisanje vrlo jednostavnih skriptova za jednostavne potrebe (dakle, da ne postoji slučaj kada je potrebno napisati 30 redova koda da bi se ispisao jedan red u prozoru browsera), a da sa druge strane nudi visok nivo kontrole na kompleksnim programima (koji mogu imati i više stotina redova koda). PHP se u početku koristio za manje skriptove, koji su radili obradu rezultata HTML formulara, tako da je jednostavnost bila primarna. PHP je i nastao, jer autor nije hteo da stalno piše nekoliko redova Perl koda iznova, kada god želi da uradi neki jednostavan zadatak. Kada su se oblasti primene web tehnologija počele proširivati, uvedeni su objektno-orijentisani koncepti, napisan je PHP4 koji nudi pristojan nivo kontrole kompleksnosti.

Ono što izdvaja PHP od ostalih programskih jezika je velik broj ugrađenih funkcija koje mogu da obavljaju najraznovrsnije zadatke na potpuno transparentan način. Neke od interesantnijih funkcija PHP-a:

•  manipulacija nizovima, stringovima, datumima, preračunavanje datuma po različitim kalendarima
•  kontrola pravopisa
•  pakovanje i raspakivanje fajlova (bzip i zip format)
•  pristup COM objektima
•  čitanje i kreiranje PDF fajlova
•  pristup raznim bazama podataka direktno ili kroz ODBC interfejs
•  manipulacija fajlovima i direktorijumima
•  upravljanje XML dokumentima uz podršku za DOM model
•  ubotreba .NET tehnologija
•  ostvarivanje konekcija na FTP server i komunkacija FTP protokolom
•  ostvarivanje HTTP konekcija na udaljene web servere
•  komunikacija IMAP, POP3 i NNTP protokolima
•  pristup Java objektima i pozivanje njihovih medota
•  komunikacija pomoću LDAP protokola
•  kreiranje i čitanje Flash prezentacija (.swf fajlovi)
•  implementacija SSL-a pomoću OpenSLL biblioteke
•  upravljanje procesom štampanja
•  upotreba socket-a, za direktnu komunikaciju na nekom TCP/UDP portu

HTTP serverski softver

Web server je računar koji koristi neku verziju operativnog sistema kao što su Windows ili Unix/Linux, na kojima rade specijalni programi koji obrađuju HTTP zahteve. Termin web server, kada govorimo o dinamičkim sajtovima, obično ne ukazuje na sam računar nego na program koji na njemu radi. Program se naziva i HTTP serverom, da bi se razlikovao od aplikacionog servera.

HTTP serveri koji se najčešće koriste su IIS i Apache.

IIS - Internet Information Server je Microsoftovo rešenje što, znači da radi samo pod Windows operativnim sistemima. Ovo je veoma snažan i fleksibilan program čija je najveća prednost što se nalazi kao standardni modul operativnih sistema Windws XP Professional i Windows NT, 2000 i 2003 server. To paktično znači da ako imate licencu za neke od ovih operativnih sistema imate mogućnost korišćenja IIS-a.

Apache

Apache je ime jednog od najpoznatijih web servera. Ime nije dobio po poznatom indijanskom plemenu već je ono skraćenica od "A PAtCHy server" (u slobodnom prevodu: "zakrpljeni server"), jer su se njegovi autori prvobitno bavili zakrpama (patch) za NSCA server, koji je nekada bio vrlo popularan, a danas skoro zaboravljen.

Apache je freeware proizvod, što znači da je besplatan, da se uz njega distribuira i njegov kod i da svako ima pravu na upotrebu i izmenu koda.

Apache postoji u verzijama za prakično sve plaforme i operativne sisteme koji postoje na svetu, navedimo samo neke: BeOS, FreeBSD, HPUX, IRIX, Linux, MacOSx, NetBSD, NetWare, OpenBSD, OS/2, QNX, Sinix, Solaris i Microsoft Windows. Širom sveta, na svim ovim platformama postoje korisnici ovog servera, čime se otkrivanje i ispravljanje grešaka i sigurnosnih propusta pretvara u jedan vrlo dinamičan proces, što dodatno uverava u pouzdanost ovog softvera.

Apache podržava sve najnovije standarde. Server se lako proširuje dodatnim modulima, podržava DBM format koji omogućava jednostavnu kontrolu pristupa web stranicama, omogućava mapiranje više IP adresa na jednoj mašini, samostalno podešavanje error poruka. Podržani su i SSL 1 i 2 (Secure Socket Layer), protokoli za zaštićene transakcije koji su osnova svake kupoprodaje preko Interneta. Kad su u pitanju statičke stranice (običan HTML), Apache nije najbrži, ali pokazuje izvrsne rezultate. U izvršavanju aktivnih stranica (CGI) nema mu premca.

Apache trenutno drži većinu tržišta web servera. Rezultati ispitivanja firme "NetCraft" (www.netcraft.com/ survey) pokazuju da Apache pokreće više od 60 odsto internet servera u svetu.

 
 

Arhiva sajta Pedagoškog društva Srbije - 2002. - 2015. godina

Pedagoško društvo Srbije © na Internetu od 2002. sajt osnovala Sonja Žarković / webmaster: e@leksa

 
.
 
REKLAME