»razvoj i realizacija e–dnevnika podržanog bazom podataka...

55
Banja Luka, april 2008. Panevropski univerzitet APEIRON Banja luka Specijalisti čki studij Vukašin Stjepanovi ć, prof . »Razvoj i realizacija E–dnevnika podržanog bazom podataka i web stranicom«

Upload: others

Post on 29-Oct-2019

24 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

Banja Luka, april 2008.

Panevropski univerzitet APEIRON Banja luka

Specijalistički studij

Vukašin Stjepanović, prof.

»Razvoj i realizacija E–dnevnika podržanog bazom podataka i web

stranicom«

Page 2: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 2

SADRŽAJ

Uvod ........................................................................................................................3 Prikaz postojećeg stanja ..........................................................................................7 Prijedlog novog rješenja........................................................................................12 Komparacija novog i postojećeg modela...............................................................50 Zaključak................................................................................................................52 Literatura................................................................................................................53

Page 3: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 3

Uvod

Od rođenja pa do smrti svaki pojedinac je u stalnoj aktivnosti. Svaka aktivnost pojedinca ili grupe podložna je provjeravanju kvaliteta i kvantiteta, kao rezultata te aktivnosti. Potrebu da se mjeri rezultat rada u nastavi usvojile su i prirodne nauke, uz punu podršku pedagoško psiholoških naučnih dostignuća. Sam proces kojim utvrđujemo koji nivo kvaliteta i kvantiteta je razvijen pojedini oblik ponašanja ili saznajni proces vaspitanika odnosno učenika, je evolucija vaspitno-obrazovnog rada. Postupci identif ikovanja i prikupljanja informacija i elemenata za evoluciju vaspitno-obrazovnog rada su mnogobrojni i različiti i uspostavljaju se pomoću mjernih instrumenata. Pri postavljanju mjernih instrumenata uvijek polazimo od ciljeva koje postavljamo. Anketama, intervjuima, skalama, procjenama ... vrednujemo određene vidove ponašanja, kao što su stavovi, mišljenja, karakteri i slično. Teško je u potpunosti izvršiti vaspitno - obrazovne zadatke bez bliske saradnje roditelja i nastavnika. Roditelji i nastavnici se dogovaraju , da kako u eri naglog razvoja nauke, tehnike, kulture; u periodu snažne demokratizacije društvenog života, školu i porodicu suštinski mijenjati i učiniti sposobnom da zadovolji potrebe mladih. Škola i porodica se brinu da poboljšaju materijalne uslove škole ,da je povežu sa sredinom i da učine sposobnom za savremeni vaspitno-obrazovni rad. Skladnom saradnjom roditelja i škole usklađuju se vaspitne mjere u porodici i školi; postiže se da dijete zavoli školski rad; rado ide u školu ; sa lakoćom i osjećajem zadovoljstva udovoljava školskim obavezama, kulturno se ponaša u školi i na ulici i vrši izbor sadržaja zabave koji će uticati na obogaćivanje njegove ličnosti. U uslovima prisne saradnje roditelja i škole

Page 4: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 4

moguće je stalno pratiti rad i razvoj učenika; iznalaziti uzroke eventualnih teškoća, pružiti mu neophodnu pomoć, ukazati na propuste i podsticati normalne tokove razvoja. Saradnja omogućuje da se uvijek zna šta i kako učenik radi, kad mu je i zašto potrebna pomoć. U ovakvim uslovima brzo se otklanjaju uzroci neuspjeha u pojedinim predmetima, osujećuju pojave prije delikventnog ponašanja i ispravljaju zastranjivanja u ponašanju. Tu prestaje neki od razloga zbog kojih su se sukobljavali roditelji i nastavnici, zbog kojih su optuživali jedni druge i stvarali uslove poljuljanog povjerenja i otežane saradnje. Koje su to zajedničke odgovornosti roditelja i škole?

• ostvarivanje ciljeva • postignuti uspjeh u školi • uvažavanje-poštovanje • iskrena i jasna komunikacija (direktna i putem E-

dnevnika) • razumijevanje • usaglašavanje • zajedničko planiranje i odlučivanje

Saradnja porodice i škole doprinosi aktiviranju i osposobljavanju roditelja za pedagošku djelatnost, omogućuje im uvid u ono što škola radi, koliko joj je i kako moguće pomoći. Škola omogućuje roditeljima uvid u njene rezultate, propuste i nastojanja. Škola upoznaje roditelje sa reformama koje se vrše u školi, kako bi ih oni shvatili i pr ihvatili; zatim škola roditeljima ukazuje na nužnost rješavanja svih vaspitnih problema u skladu sa ciljevima i zadacima novog školstva. Iz svega ovog proizlazi zaključak da bez prisne, sadržajno bogate i planski usmjerene saradnje porodice i škole ne može biti govora o punom uspjehu u vaspitanju mladih, razvijanju svestrano obrazovanih, stvaralačkih i slobodnih ličnosti. Koji su to lični kontakti roditelja i nastavnika u vaspitno obrazovnom procesu?

• Posjeta nastavnika roditeljskom domu • Posjeta roditelja školi • Dopisivanje (forma kontakt na web stranici)

Roditeljski sastanci: • Opšti roditeljski sastanci • Razredni i odjeljenski sastanci • Grupni sastanci (forum na web stranici)

Opšte i pedagoško obrazovanje i usavršavanje roditelja: • Škola za roditelje • Kursevi i seminari • Tribine

Page 5: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 5

• Predavanja i diskusije Novi oblici saradnje roditelja i škole:

• Dani kad roditelji posjećuju školu i prisustvuju časovima • Pristup i uvid u rad i vladanje svog djeteta putem E-

dnevnika

Kao što vidimo veliki je spektar mogućnosti primjene IT u vaspitno-obrazovnom radu u savremenoj i reformisanoj školi. Približiti roditeljima postignute trenutne rezultate učenika je veliki pomak, kako u saradnji roditelja i nastavnika, te funkcionisanju trougla učenik-nastavnik-roditelj, tako i u primjeni sve prisutnijih informacionih tehnologija. U konkretnom slučaju Brčko Distrikta Bosne i Hercegovine, tu primjenu je lako uraditi, pošto je Vlada Brčko Distrikta Bosne i Hercegovine uč inila veliki iskorak obezbjeđenjem hardverske i softvrske podrške. Sve, naprijed navedene aktivnosti, opredijelile su moja interesovanja i rad ka poboljšanju saradnje roditelja i nastavnika, odnosno škole, sa jednim novim i kvalitetnijim i kvantitativnijim odnosom.

Informacione tehnologije brzo i sigurno ulaze u sve pore našeg življenja, dajući ogroman doprinos kvalitetu našeg života i rada. Poštujući i cijeneći zalaganje svih nastavnika, na svim nivoima, a takođe i rukovodstva Vlade Brčko Distrikta, da se informacione tehnologije primijene u obrazovanju, uključujem se i ja svim svojim znanjima i energijom. Do sada sam u radu primijenio nekoliko manjih i većih projekata, a jedan od njih je i izrada E- dnevnika. Uz upotrebu računara želim da podignem kvalitet i brzinu saradnje roditelja i nastavnika, ne isključujući učenike, koji će i sami učestvovati u ažuriranju baze podataka. Cilj obrazovanja učenika u informacionim tehnologijama i samom korištenju, tako dobija i jedan viši kvalitet, jer će i roditelji na neki način uz pomoć nastavnika, literature i svoje djece moći da komuniciraju na još jedan način, koristeći svoju hardversku i softversku podršku. Internet je u BiH dostupan, već nekih, desetak godina, pa i u Brčkom želimo da uđemo u »skromnu« porodicu škola koje posjeduju i koriste E-dnevnik. Cilj je da naša škola primijeni Interenet kao ozbiljno sredstvo komunikacije sa učenicima, komunikacije sa roditeljima, publikacije svojih, kako obrazovnih, tako i vaspitnih sadržaja, saradnje sa drugim školama putem on line servisa i slično.

Prvenstvena ideja ovakve aplikac ije je sinhrona komunikacija roditelja sa školom zasnovana na pretpostavci da roditelji treba u svakom trenutku da budu upoznati sa postignućima svog djeteta. Na ovaj način ostvaruju se različite uštede od kojih je najznačajnija ušteda na vremenu potrebnom da roditelj dođe u školu i raspituje se o uspjehu svog djeteta, kao i vremenu nastavnika koji treba da primi svakog od roditelja pojedinačno. Roditelj će u ovom slučaju da pristupi web sajtu

Page 6: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 6

škole i da preko Interneta sazna sve što je vezano za njegovo dijete u bilo kojem trenutku. Nastavnici treba samo da ažurno unose promjene u bazu podataka, što će im kasnije biti od izuzetne koristi prilikom raznih analiza podataka koje nisu nikako ili su vrlo teško mogli da obavljaju nad zapis ima u klasičnom dnevniku. Druga ideja - namjena bi mogla da bude statistička obrada podataka za upravu škole, pa čak i za vladu, jer ovako uneseni podaci su idealni za različite analize. Npr, može se lako utvrditi starosna i polna struktura, prosječan uspjeh, broj izostanaka, prosječan uspjeh kod određenog nastavnika i mnoštvo drugih informacija na osnovu jednostavnih upita nad bazama podataka. Očekivani rezultat nije da se iz upotrebe izbaci klasični dnevnik, nego da podaci koji su u njemu sadržani budu lakše i korisnije ekploatisani.

Page 7: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 7

Prikaz postojećeg stanja

Sistem obrazovanja na prostorima bivše države, a takođe i u novostvorenim, nije se mijenjao dugo, ili se mijenjao sporo i to samo u nekim segmentima rada. U novoj postavci rada u Brčko Distriktu Bosne i Hercegovine, tj. u reformi obrazovnog sistema neminovno je došlo do promjena u nastavnim planovima i programima, a zbog ubrzanog tehnološkog napretka i uvođenja IT, mijenjaju se i metode rada, a takođe i nastavna sredstva i pomagala. Generalni cilj reforme je poboljšati kvalitet obrazovanja, učiniti ga efikasnim i kompatibilnim evropskim standardima. Nastavnikova uloga postaje više:

• Pomagač u procesu nastave, »nevidljivi« vodič • Nastavnik koji predaje »stvarnost« i najnovija naučna saznanja • Menadžer informacija, stvara saradničke timove • Navigator znanja, razvija metode učenja primjenjive cijelog života • Član obrazovne zajednice koju čine nastavnici, roditelji i učenici

Osim ove uloge, nastavnik ima ulogu kreatora pedagoške dokumentacije, koja je u pojedinim segmentima nepotrebna, često se duplira, a u svakom sličaju predstavlja neku vrstu baze podataka. Školski dnevnik, kao jedan od radnih dokumenata, matična knjiga, kao trajni pisani dokument uspjeha učenika i đačka knjižica kao lični dokument uspjeha učenika, su slični po podacima kojima operišu.

Slika 1. »Baza podataka« nastavnika i predmeta u klasičnom dnevniku

Page 8: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 8

Odjeljenski starješina evidentira članove odjeljenske uprave. Podatke o nastavnim predmetima i nastavnicima koji izvode nastavu upisuje odjeljenski starješina na početku školske godine, a evidentira i sve promjene u toku školske godine. Raspored školskih pismenih zadaća upisuje predmetni nastavnik na početku školske godine, kao i sve podatke o školskim pismenim zadaćama u toku školske godine, crvenom bojom. Raspored časova upisuje odjeljenski starješina na početku, kao i sve izmjene u toku školske godine, a verif ikuje ga direktor svojim potpisom. Evidenciju vježbi, kontrolnih zadataka i testova upisuju predmetni nastavnici. U prostor predviđen za slobodne aktivnosti učenika, unose se podaci o učenicima i vrsta slobodne aktivnosti u koju je učenik uključen. Plan i ostvarenje plana rada odjeljenske zajednice upisuje i evidentira odjeljenski starješina. Podatke o praktičnoj nastavi i podatke o stručnim posjetama, izletima i ekskurziji upisuje i evidentira odjeljenski starješina. Društveno-koristan rad učenika evidentira predmetni nastavnik, a evidenciju dopunske, dodatne i fakultativne nastave vodi odjeljenski starješina sa predmetnim nastavnicima. Ako pogledamo par sledećih primjera, možemo zaključiti da je školski dnevnik, na neki način baza podataka, koja je raspoređena na mnogo stranica papira. Imenik učenika to najbolje pokazuje.

Slika 2.(a) Pregled podataka o učeniku i njegovom uspjehu

U imenik učenika odjeljenski starješina upisuje sve podatke o učeniku (abeceda-azbuka) redom na početku školske godine čitko i pregledno. U rubrike

Page 9: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 9

predviđene za ocjene učenika, predmetni nastavnici upisuju ocjene brojčano, bez ikakvih drugih oznaka. Ocjene iz pismenih zadaća se upisuju crvenom bojom. Utvrđenu ocjenu utvrđuje odjeljenski starješina brojčano, a opšti uspjeh opisno i brojčano. Utvrđena zaključna ocjena na kraju godine, kao i opšti uspjeh učenika na kraju godine upisuje se crvenom bojom. Opšti uspjeh na kraju godine izražava se opisno i brojčano. Odjeljenski starješina upisuje i bilježi pohvale, nagrade i vaspitno disciplinske mjere. Odjeljenski starješina upisuje o popravnim ispitima crvenom bojom. Nastavni kalendar popunjava odjeljenski starješina na početku školske godine upisujući dane od septembra do juna. Dani u kojima se ne izvodi nastava precrtavaju se tankim linijama crvene boje, a dani u kojima nastava nije održana iz nepredviđenih razloga precrtavaju se linijom plave boje. Nastavni kalendar verifikuje odjeljenski starješina svojim potpisom. U dnevnik rada, predmetni nastavnici upisuju naziv predmeta, sadržaj rada, broj časa i verifikuju sve to potpisom. Predmetni nastavnici evidentiraju izostanke učenika, a odjeljenski starješina upisuje opravdane i neopravdane izostanke, ukupan broj održanih i neodržanih časova sedmično i sve verifikuje potpisom. Odjeljenski starješina evidentira zapisnike sa sjednica odjeljenskog vijeća, roditeljskih sastanaka, kao i podatke saradnje roditelja sa školom.

Slika 2.(b) Pregled podataka o učeniku i njegovom uspjehu

Uspjeh učenika na kraju polugodišta i školske godine po predmetima eksploatišu podatke iz imenika učenika po kolonama i daju jedan vid pregleda za

Page 10: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 10

dato odjeljenje. Tabelarni pregled uspjeha učenika po predmetima upisuje odjeljenski starješina, a podatke za drugo polugodište u istoj tabeli upisuje crvenom bojom.

Slika 3. Pregled uspjeha učenika po predmetima

Vlada Brčko Distrikta je u svom konceptu razvoja ponudila školama portal www.skole.bdcentral.net. Portal je zamišljen kao mjesto gdje će škole Brčko Distrikta imati svoj prostor na web-u na kome će moći da se predstave i obavijeste užu i širu javnost o svojim aktivnostima i svom radu. Portalom je stvoreno mjesto na kome bi trebalo da se nađu sve informacije vezane za školstvo u Brčko Distriktu tj. lokacija www.skole.bdcentral.net je zamišljena kao informacioni servis svih obrazovnih institucija na području Brčko Distrikta. Ova zamisao je sprovedena najviše radom samih članova portala tj. radom samih škola i obrazovnih institucija uz tehničku pomoć radnika pododjeljenja za informatiku, te samih nastavnika i profesora informatike uz aktivno učešće učenika. Portal se sastoji od više dijelova koje, u saradnji sa administratorom portala, uređuju njegovi članovi. Svaka institucija koja je član portala može da objavi različite sadržaje na različ itim dijelovima portala i u različitim oblic ima. Takođe je omogućeno i pretraživanje portala kao i korištenje informacija uz

Page 11: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 11

pomoć linkova iz slotova. Izabrani sadržaj se skoro uvijek nalazi u centralnom dijelu stranice. Trenutnu veb stranicu smo radili programom (editorom) Front Page, uz pomoć više uslužnih programa i grafičkih programa. Na portalu www.skole.bdcentral.net dosta posla je olakšano korištenjem Epoz editora koji omogućava uređivanje i pripremanje stranica online, tj. na samoj web lokaciji. Da bi se u izgradnji portala postigao planirani uspjeh i ostvarili ciljevi zbog kojih je portal postavljen, svi koji učestvuju u njegovoj izgradnji na bilo koji način, moraju se pridržavati sljedeć ih pravila:

• Obezbijediti pristupne podatke – password člana portala treba da zna što manji broj ljudi,

• Sve sadržaje koji se postavljaju na odgovarajući način optimizovati i prilagoditi,

• Nemoralni sadržaji su najstrožije zabranjeni, • Zabranjuje se postavljanje sadržaja koji su na bilo koji i na bilo kojoj

osnovi uvredljivi, • Linkovi koji su postavljeni na stranice portala treba da budu veze

isključivo sa sajtovima iz oblasti školstva, edukacije mladih, informacionih tehnologija i sl.

• Osobe koje zvanično održavaju dio portala odgovaraju za neažurnost sadržaja i nepoštovanje ovih pravila.

Vlada Brčko Distrikta pokušava već duže vrijeme da odjeljenje za obrazovanje izvrši instalaciju jedne baze podataka, koja bi bila svrsishodna njenom radu. Trenutno stanje pokazuje da se za bilo koje podatke ili skupove podataka angažuje veliki broj radnika, za što se potroši mnogo vremena, a često se i zakasni sa ekploatacijom određenih podataka. Ti podaci su trenutno samo u papirnoj verziji, a u velikom broju slučajeva su nesređeni i zabačeni, pa se u tom smislu i izgubi mnogo vremena tražeći određene podatke. Sve naprijed rečeno navodi na potrebu automatizacije administrativnih zadataka, uz korištenje novih informacionih tehnologija, te potrebu da se i postojeći informacioni hardverski i softverski resursi iskoriste na racionalniji i funkcionalniji način. Resursi u opremi i stručnjacima postoje, samo ih treba pravilno iskoristiti.

Page 12: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 12

Prijedlog novog rješenja Moj doprinos je u tome da uradim moje viđenje rješavanja trenutnih problema u administrativnim zadacima, putem pilot projekta, koji se može i dalje razvijati i poboljšavati. Prije samog početka, stvaranja e-dnevnika podržanog bazom podataka i web stranicom, izvršio sam istraživanje, kojim bi prije svega opravdao svoj napor da unaprijedim dio poslova kojim se bavimo u obrazovanju. Došao sam do podatka da od 602 učenika od V do VIII razreda, računar u kući ima 477 učenika ili 79,23%. Od 477 učenika koji imaju računare, njih 358 ili 75,05% koristi internet. Od 358 učenika koji posjeduju računare i koriste internet, prema njihovim izjavama i izjavama njihovih roditelja, internet koristi 213 roditelja ili 59,5% (u nekim porodicama oba roditelja koriste internet). Računajući da se navedeni odnosi svakim danom mijenjaju u pozitivnom smislu, dobio sam prvu bitku u stvaranju ovakvog rješenja. Ovo prije svega govorim, što mi se poslije istraživanja javio određen broj učenika koji su po prvi put nabavili računar. Prilikom podizanja moje stručne spreme, a samim tim i usvajanjem novih spoznaja o hardverima i softverima, došao sam tokom rada do ideje da se e-dnevnik podržan bazom podataka i web stranicom može uraditi pomoću Microsoftovog Visual Studia Express 2005. Alatke korištene za izradu web – aplikacije su dio Microsoftovog Visual Studia Express 2005, a radi se konkretno o visual web Developeru i SQL serveru 2005 Expres. Ove alatke Microsoft je objavio za besplatno korištenje. Visual Web Developer je alatka za izradu web strana sa posebnim naglaskom na strane koje su aktivne (kod se izvršava na serveru) i na strane čiji sadržaj zavisi od baze podataka. Tehnologija koja je osnova ovakvog pristupa je ASP.NET 2.0, odnosno strane imaju ekstenziju aspx. Microsoft ASP.NET je besplatna tehnologija koja omogućava web programerima da kreiraju dinamičke web aplikac ije. Ova tehnologija uklapa često korištene Web zadatke u aplikativne servise i kontrole koje mogu lako biti više puta korištene kroz web sajtove. Navešću samo nekoliko novih serverskih kontrola koje omogućuju moćnu podršku za pristup podacima, sigurnost prijavljivanja, navigaciju pomoću čarobnjaka, menije, portale i sl. Neke ću detaljnije objasniti u nastavku:

• Kontrole za rad sa podacima. Pristup podacima u ASP.NET može se ostvariti potpuno deklarativno (bez potrebe za pisanjem koda) koristeći novo vezivanje sa podacima i kontrole - izvore podataka. Postoje nove kontrole – izvori podataka koje predstavljaju različite

Page 13: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 13

backend podatke kao što su SQL baze podataka, poslovni objekti ili XML. Isto tako postoje i nove kontrole za vezu sa podacima i koje prikazuju uobičajen korisnički interfejs sa podacima kao što su gridview, detailsview, formview itd.

• Kontrole za navigaciju. Ove kontrole obezbjeđuju uobičajen korisnički interfejs za navigaciju između strana na našem sajtu a to su treeview, menu i sitemappath. Ove kontrole koriste servis za navigaciju kroz sajt u ASP.Net 2.0 da bi obezbjedili strukturu koju smo mi definisali za svoj sajt.

• Login kontrole (prijava). Nove, login kontrole obezbjeđuju blokove izgradnje za dodavanje autentikac ionog i autorizacionog interfejsa za naš sajt kao što su login forme (forme za prijavu), forme za pravljenje novih korisnika, obnavljanje lozinki, i pr ilagođen interfejs za prijavljene korisnika koji se nalaze u nekom određenom rangu. Ove kontrole koriste ugrađeni servis članova i nivoa pristupa u ASP.Net 2.0 kako bi ostvarili komunikac iju sa korisnikom u određenom nivou pristupa definisanom za naš sajt.

• Web Part Kontrole. Ovo je nova, uzbudljiva porodica kontrola

koje omogućavaju da dodamo bogat, personalizovan sadržaj i izgled našem sajtu kao i mogućnost da se sadržaj i izgled mijenjaju direktno preko naših autorizovanih strana. Ove kontrole se oslanjaju na personalizovane us luge u ASP.Net 2.0 da bi obezbjedile jedinstveno iskustvo za svakog korisnika naše aplikac ije.

Dalje je bitno pomenuti neke nove osobine ASP.NET u kao što su:

• Master Pages (Master strane). Ove strane omogućuju da se definiše opšta struktura i elementi interfejsa za sajt kao što su zaglavlje, navigaciona traka i s l. Pomoću Master Strana, ovakav interfejs može biti korišten od strane mnogih strana koje naravno imaju i svoj jedinstveni sadržaj. Na jednom mjestu moguće je kontrolisati izgled oblik i mnoštvo funkcionalnosti sajta. Ovo poboljšava održavanje sajta i izbjegava se nepotrebna duplikacija koda za dijeljenu strukturu sajta ili ponašanje.

• Teme i Skin-ovi. To su osobine ASP.NET 2.0 koje omogućavaju lako prilagođavanje izgleda našeg sajta. Moguće je definisati informacije o stilovima na lokaciji zvanoj „Theme“ i primjenjivati ih globalno na strane i kontrole na sajtu.

Page 14: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 14

• Personalizacija. Pomoću novih personalizacionih servisa u ASP.NET 2.0 moguće je lako kreirati prilagođena iskustva u web aplikaciji. Objekat „profile“ dozvoljava programeru da izgradi skladišta informacija o korisniku i izgradi visoko prilagođena iskustva sajta. Personalizovani scenariji su sad lakši za izradu i zahtijevaju znatno manje kodiranja za inplementaciju.

• Lokalizacija. Uvođenje globalizacije i lokalizacije u web sajtove

danas je teško, zahtijeva velike količine koda i resursa. ASP.NET 2.0 i Visual Web Developer 2005 Express obezbjeđuju alate za infrastrukturu za izgradnju lokalizovanih sajtova sa mogućnošću automatskog detektovanja dolazećeg lokala i prikaza prigodnog lokalno baziranog korisničkog interfejsa.

Koja sam koristio svojstva ASP.net pri kreiranju E-dnevnika? Kičmu ove aplikacije čini baza podataka. Uz Visual Veb Developer 2005 Expres dolazi, opciono, i baza podataka MS SQL server 2005 Express koji su potpuno kompatibilni, što je i prirodno jer su proizvodi Microsofta otprilike iste generacije. Nakon osmišljavanja tabela, kreiran je dataset sa različitim upitima neophodnim za različ ite funkcije programa. Sve ovo urađeno je u samom Visual Veb Developeru. Sledeća bitna osobina nove, ASP.net tehnologije koja je korištena jesu tzv. Master Pages odnosno stranice sa zajednickim elementima (navigac ija, meniji, logo...) koje se koriste više puta u aplikaciji uz izmjenjen sadržaj. Za sigurnost aplikacije iskorištena je ugrađena funkcionalnost iz ASP.net pomoću kontrola prijavljivanja ili Login kontrola. Ovdje je maksimalno automatizovano kreiranje korisnika, dodjela nivoa pristupa i sl. Za prikaz i unos podataka iskorištene su kontrole za rad sa podacima, konkretno datagrid view, form view i details view. Kako pokrećemo VWD 2005 Express? Pri startovanju VWD 2005 Express, prvi ekran nudi nam nekoliko opcija za rad sa projektima, mi biramo New Web Site (slika 4). Sledeći ekran nudi izbor: asp.net Web site, asp.net Web service, empty Web site i neki od takozvanih templejta – unaprijed pripremljenih web sajtova koje korisnik može prilagoditi svojim potrebama.

Page 15: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 15

Slika 4. Otvaranje New Web Site

Biramo prvu opciju: asp.net web site, s tim da u donjem lijevom dijelu ekrana odaberemo lokaciju sajta i programski jezik. Biramo file system i visual basic (slika 5).

Slika 5. Izbor asp.net web site, lokacije i programskog jezika

Prihvatimo izabrane opcije dugmetom „OK“. Zašto biramo File System kao opciju za lokaciju? Pored ovog izbora postoje još 2 a to su HTTP i FTP. Pošto je asp.net prvenstveno serverska tehnologija, odnosno kód aplikacije se obrađuje na serveru, a rezultati se u HTML-u šalju u korisnikov pregledač (web browser), to znači da moramo imati web server na kojem ćemo skladištiti našu aplikaciju. Visual Web Developer

Page 16: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 16

posjeduje virtualni server koji se pokreće svaki put kad pokrenemo pregled naših stranica u pregledaču (npr Internet Explorer) ali samo u slučaju da smo odabrali file system za lokaciju. U slučaju da odaberemo HTTP, VWD 2005 Express pretpostavlja da mi na svojoj mašini imamo instaliran IIS (Internet Information Services) koji je u stvari web server pod desktop windows operativnim sistemom i omogućava izvršavanje kóda na strani servera lokalno na našoj mašini simulirajući web server, te će se u tom slučaju aplikacija smjestiti u folder IIS-a (obično: C:\Inetpub\wwwroot). Treći slučaj (FTP) je ako posjedujemo stvarni web hosting na nekom udaljenom web serveru pa pomoću FTP protokola direktno skladištimo našu aplikaciju na taj server (napomena: potrebno je da web server podržava asp.net 2 tehnologiju, što uglavnom svi windows bazirani serveri čine). Nakon potvrđivanja vrste veb sajta, lokacije i programskog jezika, VWD kreira sve potrebne foldere i fajlove potrebne za pokretanje web aplikac ije, kao i početnu stranu koja se naziva „Default.aspx“. Bitno je napomenuti da se u VWD radi kroz dva takozvana pogleda (views) a to su Source View i Design View. Prvi pogled nam prikazuje kód stranice dok u drugom, Design pogledu možemo da vizuelno s lažemo tekst i kontrole i to onako kako bi trebale da izgledaju u pregledaču (web browser).

Slika 6. Default.aspx-početna strana

Page 17: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 17

Po unaprijed određenom redu, Default strana je prikazana u Source pogledu, ali se pritiskom na dugme Des ign u donjem lijevom uglu prebacujemo u Design View. Ovde se mogu ubacivati različiti sadržaji (slika 7).

Slika 7. Design View

Pritiskom na dugme „Debug“, kód aplikacije se kompajlira, virtualni server se pokreće i aplikacija se prikazuje u unaprijed određenom pregledaču.

Slika 8. Izgled nakon akcije na dugme „Debug“

Page 18: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 18

Baza podataka “Dnevnik.mdf”. Kreiranje SQL server 2005 Expres baze (.mdf) u VWD 2005 Express! Na samom početku izrade aplikacije e-dnevnik, osnovna ideja je bila da se roditelji preko Interneta mogu informisati o uspjehu svoje djece, kao i o eventualnim izostancima. Prirodno je da se takve informacije drže u nekoj vrsti baze podataka, koja će olakšati prikaz, f iltr iranje i unos podataka. Prilikom izbora baze podataka, kao logičan izbor nametnula se SQL server 2005 Express baza koja dolazi kao opciona instalacija uz sam Visual Web Developer 2005 Express i besplatna je. Ova dva proizvoda potpuno su kompatibilna, sto se vidi iz same činjenice da u VWD 2005 postoje alati za kreiranje tabela i relacija za SQL 2005 Express. Prva stvar je planiranje tabela. To podrazumijeva analizu podataka koji će biti uneseni u bazu podataka. Sledeći korak jeste kreiranje same baze, što je lagan proces u VWD. Pritiskom na dugme „Add New Item“ dobijamo prozor u kome biramo novu SQL bazu podataka. Damo joj odgovarajuće ime i pritisnemo OK.

Slika 9. Izbor nove SQL baze podataka

Page 19: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 19

Prozor sa porukom nas obavještava da bi trebali da imamo folder koji se zova App_Data u kojem se drže stvari poput naše baze podataka, naravno ponuđeno nam je da nam VWD taj folder i napravi, što mi, naravno, prihvatamo.

Slika 10. Ponuda da nam VWD napravi folder za bazu podataka

Nakon ovoga imaćemo kreiranu bazu podataka u folderu App_Data. Ta baza još uvjek nema tabele i to je naš sledeći korak.

Slika 11. Kreirana baza podataka u folderu App_Data

Page 20: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 20

Za kreiranje tabela u bazi podataka pomoću VWD, prvo što treba jeste da otvorimo panel Database Explorer (View → Database Explorer). U tom panelu vidimo sve naše konekcije sa podacima, te je tu i naša baza „Dnevnik.mdf“. Pritiskom na znak „+“ pored imena baze u Database Exploreru, dobijamo sve elemente baze koje možemo mijenjati. U ovom trenutku, nama su interesantne tabele.

Slika 12. Naša baza podataka „Dnevnik.mdf“

Odaberemo „Tables“ i pritisnemo desni taster miša. U kontekstnom meniju izaberemo „Add New Table“. To će nam otvoriti sledeći prozor:

Slika 13. Početak kreiranja tabela

Page 21: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 21

U ovom panelu kreiramo tabele tako što pravimo kolone tabela određenog tipa podataka. U našem s lučaju, nakon analize, nalazimo da nam treba 6 tabela: Razredi, Učenici, Nastavnici, Predmeti, Ocjene i Izostanci.

Slika 14. Tabela Razredi (tblRazredi)

Slika 15. Tabela Učenici (tblUcenici)

Page 22: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 22

Slika 16. Tabela Nastavnici (tblNastavnici)

Slika 17. Tabela Predmeti (tblPredmeti)

Page 23: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 23

Slika 18. Tabela Ocjene (tblOcjene)

Slika 19. Tabela Izostanci (tblIzostanci)

Page 24: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 24

Sledeća neophodna stvar jeste uspostavljanje relac ija između ovih tabela. To je takođe izvodljivo kroz VWD, klikom na dugme Relationships (relacije su jedan na više):

Slika 20. Uspostavljanje relacija između tabela

Te odabirom primarnog i stranog ključa za tabelu sa strane 1 i tabelu sa strane više, respektivno. Nakon kreiranja relacija, šema izgleda ovako (Relacije „Više na Jedan“, strelica je uperena prema strani „jedan“):

Page 25: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 25

Slika 21. Relacije „Više na Jedan“, strelica je uperena prema strani „jedan“

Kako izgledaju glavne strane (Master pages)? Master Page je strana koja sadrži oznake i kontrole koje treba da budu zajedničke za više strana u aplikaciji. Na primjer, ako naša aplikacija treba da ima isti baner u zaglavlju ili isti meni za navigaciju, to onda treba jednom izdefinisati kód glavne strane i onda vezati sa ostalim stranicama koje će tad imati ove zajedničke osobine. Prednost je što se definiše neka vrsta zaglavlja ili navigacije

Page 26: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 26

samo jednom, a kasnije se koristi više puta bez potrebe da se duplicira kód na svakoj ovoj stranici koja koristi zajedničke elemente. Glavne strane se definišu isto kao i normalne strane. Sadrže oznake, kontrole, kód ili bilo koju kombinaciju ovih elemenata, ali glavna razlika je takozvani Nosač Sadržaja (ContentPlaceHolder). To je specijalna kontrola tipična za ASP.NET koja definiše region na glavnoj strani koji može biti zamjenjen sadržajem stranice povezane sa glavnom stranom. Nosač sadržaja može takođe da sadrži prethodno određeni sadržaj u s lučaju da vezana strana ne treba da prebriše ovaj sadržaj. Sintaksa za ovu kontrolu data je ispod: <%-- ContentPlaceHolder control --%> <asp:contentplaceholder id="FlowerText" runat="server"/> <%-- ContentPlaceHolder with default content --%> <asp:contentplaceholder id="FlowerText" runat="server"> <h3>Welcome to my florist website!</h3> </asp:contentplaceholder> Da bi se razlikovale od normalnih stranica sa .aspx ekstenzijom, Glavne strane imaju .master extenziju. Strane jednostavno mogu da koriste glavne strane tako što definišu MasterPageFile atribut u direktivi stranice kao što je to demonstrirano u kódu ispod. Stranica vezana sa glavnom stranom naziva se stranica sa sadržajem (Content Page). <%@ Page MasterPageFile="Site.master" %> Stranica sa sadržajem može da odredi kontrolu Sadržaj (Content) tako da prebriše Nosač sadržaja u Glavnoj strani. Kontrola Content (sadržaj) je vezana za određenu kontrolu ContentPlaceHolder (nosač sadržaja) pomoću ContentPlaceHolderID osobine. Strane sa sadržajem mogu da imaju oznake i kontrole unutar kontrole Content ne mogu da imaju sadržaj višeg nivoa. Ipak, mogu posjedovati direktive ili kód za obradu na serveru. <%@ Page MasterPageFile="Site.master" %> <asp:content id="Content1" contentplaceholderid="FlowerText" runat="server"> With sunshine, water, and careful tending, roses will bloom several times in a season. </asp:content> <asp:content id="Content2" contentplaceholderid="FlowerPicture" runat="server"> <asp:Image id="image1" imageurl="~/images/rose.jpg" runat="server"/> </asp:content>

Page 27: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 27

U sledećem primjeru vidi se veza između Glavne i stranice sa sadržajem. Glavna strana ima dva nosača sadržaja koji se zovu FloverPicture i FloverText, pored ostalog, zajedničkog sadržaja. Pojedinačne strane koriste ovaj zajednički izgled, ali prebrišu sadržaj u nosaču sadržaja sa svojim, specif ičnim sadržajem. Možemo primijetiti da stranica Default.aspx ne posjeduje kontrolu sadržaj (content) pa zato neće imati sopstveni specifičan sadržaj. Zato stranica Rose.aspx za sadržaj FloverPicture ima sliku Rose.jpeg, a za FloverText ima text: With sunshine, water, and careful tending, roses will bloom several times in a season. Za Master Page Site.master kód je sledeći: <%@ master language="VB" %> <html> <head> <link rel="stylesheet" href="StyleSheet.css" type="text/css" /> </head> <body> <form id="Form1" runat="server"> <div> <table class="main" cellspacing="0" cellpadding="2"> <tr class="header"> <td colspan="2" class="header"/> </tr> <tr valign="top"> <td class="sidebar" rowspan="2"> <a href="daffodil.aspx">Daffodil</a><br/> <a href="rose.aspx">Rose</a><br/> <a href="dahlia.aspx">Dahlia</a><br/> <a href="hydrangea.aspx">Hydrangea</a><br/> <a href="daisy.aspx">Daisy</a><br /> </td> <td class="body"> <asp:contentplaceholder id="FlowerText" runat="server"> <h3>Welcome to my florist website!</h3> We have an enormous selection of quality flowers and seeds, available for shipping to any location worldwide. Let us handle all you gardening needs! </asp:contentplaceholder> <br /><br /> <asp:contentplaceholder id="FlowerPicture" runat="server"> <img alt="water lilies" src="Images/waterlilies.jpg"/> </asp:contentplaceholder> <br /><br />

Page 28: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 28

<asp:adrotator id="MyAdRotator" advertisementfile="Ads.xml" runat="server"/> </td> </tr> <tr> <td class="footer"> <asp:label id="Footer" font-italic="true" text="Copyright Microsoft 2003" runat="server" /> </td> </tr> </table> </div> </form> </body> </html> Za stranicu Default.aspx kód je sledeći: <%@ page language="VB" masterpagefile="~/Site.master" %>

Dok stranica Rose.aspx je opisana sledećim kódom: <%@ page language="VB" masterpagefile="~/Site.master" %> <asp:content id="Content1" contentplaceholderid="FlowerText" runat="server"> With sunshine, water, and careful tending, roses will bloom several times in a season. </asp:content> <asp:content id="Content2" contentplaceholderid="FlowerPicture" runat="server"> <img alt="rose" src="images/rose.jpg" /> </asp:content>

Za našu aplikaciju, e-dnevnik korištene su Glavne strane za definisanje izgleda i navigaciju. Postoje dvije Glavne strane korištene u ovoj aplikaciji: to su MasterPageOsnovni.master koja se nalazi u korjenom direktoriju našeg sajta i koji određuje izgled sajta za neprijavljene korisnike i za roditelje, i MasterPageAdmin.master, koji određuje izgled stranicama kojim pristupaju administratori i nalazi se u folderu Administratori. Slika sa izgledom i kód ovih stranica dati su ispod:

Page 29: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 29

MasterPageOsnovni.master

Slika 22. Izgled MasterPageOsnovni

<%@ Master Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div > <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: 100%; font-size: 10pt; font-family: Verdana; text-decoration: none;" align="center"> <tr> <td bgcolor="#6632fb" colspan="1" valign="bottom"> <asp:Image runat=server ID = Baner1 ImageUrl ="~/Slike/baner2.jpg" Width="265px" /></td> <td colspan="2" bgcolor="#6632fb" valign="bottom" align="right"> &nbsp;<asp:LoginView ID="LoginView1" runat="server"> <LoggedInTemplate> <span style="color: #0000ff; text-decoration: underline"></span> <table bgcolor="silver" style="width: 120px"> <tr> <td colspan="2" rowspan="2"> Dobrodošli

Page 30: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 30

<asp:LoginName ID="LoginName1" runat="server" /> </td> </tr> <tr> </tr> <tr> <td style="width: 100px"> <asp:LoginStatus ID="LoginStatus1" runat="server" LogoutText="Odjaviti se" /> </td> <td style="width: 100px"> </td> </tr> </table> <br /> &nbsp; </LoggedInTemplate> <AnonymousTemplate> <table style="width: 120px"> <tr> <td bgcolor="silver" style="width: 100px"> Niste prijavljeni na sistem.</td> </tr> <tr> <td bgcolor="silver" style="width: 100px"> &nbsp;<asp:LoginStatus ID="LoginStatus1" runat="server" LoginText="prijavite se" LogoutText="Odjaviti se" /> </td> </tr> </table> <br /> </AnonymousTemplate> </asp:LoginView> <asp:SiteMapPath ID="SiteMapPath1" runat="server" Font-Names="Verdana" Font-Size="0.8em" PathSeparator=" : "> <PathSeparatorStyle Font-Bold="True" ForeColor="#E0E0E0" /> <CurrentNodeStyle ForeColor="WhiteSmoke" /> <NodeStyle Font-Bold="True" ForeColor="Gainsboro" /> <RootNodeStyle Font-Bold="True" ForeColor="#E0E0E0" /> </asp:SiteMapPath> </td> </tr> <tr> <td colspan="2" bgcolor="silver" align="left" rowspan="" valign="middle"> <span style="font-size: 10pt; font-family: Verdana"> <asp:Image ID=Cosak runat=server ImageUrl="~/Slike/cosak.jpg" /></span></td> </tr> <tr> <td valign="top" bgcolor="#ffffcc" width="220"> <asp:TreeView ID="TreeView1" runat="server" DataSourceID="SiteMapDataSource1"

Page 31: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 31

ShowExpandCollapse="False" Width="250px" ImageSet="Arrows"> <ParentNodeStyle Font-Bold="False" /> <HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" Font-Bold="True" /> <SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD" HorizontalPadding="0px" VerticalPadding="0px" /> <NodeStyle Font-Names="Verdana" Font-Size="8pt" ForeColor="Black" HorizontalPadding="5px" NodeSpacing="0px" VerticalPadding="0px" Font-Bold="False" /> </asp:TreeView> </td> <td valign="top"> <table width="500"> <tr> <td width="15" style="height: 21px"> </td> <td style="height: 21px" width="100%"> </td> <td width="15" style="height: 21px"> </td> </tr> <tr> <td width="15"> </td> <td width="100%"> <asp:contentplaceholder id="ContentPlaceHolder1" runat="server"> </asp:contentplaceholder> </td> <td width="15" valign="top"> &nbsp;</td> </tr> <tr> <td width="15"> </td> <td width="100%"> </td> <td width="15"> </td> </tr> </table> </td> </tr> <tr> <td colspan="2" valign="middle" style="height: 15px"> </td> </tr> </table> <br /> <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" /> </div> </form> </body> </html>

Page 32: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 32

MasterPageAdmin.master

Slika 23. Izgled MasterPageAdmin

<%@ Master Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div > <table border="0" cellpadding="0" cellspacing="0" style="width: 100%; height: 100%" align="center"> <tr> <td bgcolor="#0bdaf8" colspan="1" valign="bottom" style="width: 260px"> <asp:Image ID = Baner runat=server ImageUrl="~/Slike/Baner1.jpg" Width="265px"/></td> <td colspan="2" bgcolor="#0bdaf8" valign="bottom" align="right"> &nbsp;<asp:SiteMapPath ID="SiteMapPath1" runat="server" Font-Names="Verdana" Font-Size="0.8em" PathSeparator=" : "> <PathSeparatorStyle Font-Bold="True" ForeColor="#E0E0E0" /> <CurrentNodeStyle ForeColor="WhiteSmoke" /> <NodeStyle Font-Bold="True" ForeColor="Gainsboro" /> <RootNodeStyle Font-Bold="True" ForeColor="#E0E0E0" /> </asp:SiteMapPath> </td> </tr> <tr> <td colspan="2" bgcolor="silver" align="left" rowspan="" valign="middle"> <span style="font-size: 10pt; font-family: Verdana"> <asp:Image runat=server ID=Cosak ImageUrl="~/Slike/cosak.jpg" /></span></td> </tr>

Page 33: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 33

<tr> <td valign="top" bgcolor="#ffffcc" style="width: 260px"> <asp:TreeView ID="TreeView1" runat="server" DataSourceID="SiteMapDataSource1" ShowExpandCollapse="False" Width="250px" ImageSet="Arrows"> <ParentNodeStyle Font-Bold="False" /> <HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" Font-Bold="True" /> <SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD" HorizontalPadding="0px" VerticalPadding="0px" /> <NodeStyle Font-Names="Verdana" Font-Size="8pt" ForeColor="Black" HorizontalPadding="5px" NodeSpacing="0px" VerticalPadding="0px" Font-Bold="False" /> </asp:TreeView> <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" /> &nbsp; </td> <td valign="top"> <table width="500" style="font-family: verdana"> <tr> <td width="15"> </td> <td> </td> <td width="15"> </td> </tr> <tr> <td width="15"> </td> <td> <asp:contentplaceholder id="ContentPlaceHolder1" runat="server"> </asp:contentplaceholder> </td> <td width="15"> </td> </tr> <tr> <td width="15"> </td> <td> </td> <td width="15"> </td> </tr> </table> </td> </tr> <tr> <td colspan="2" valign="middle" style="height: 18px"> </td> </tr> </table> <br /> &nbsp;</div> </form> </body> </html>

Page 34: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 34

Sigurnost Ono što je zajedničko za savremene Internet-aplikacije i servise kao što su forumi, eCommerce sajtovi, portali i s lično, jesu korisnički nalozi (eng. User accounts) Sajtovi sa korisničkim nalozima treba da omoguće mnoštvo usluga. Kao minimum, potrebno je dozvoliti novom korisniku da napravi nalog odnosno postojećem korisniku da se prijavi na s istem. Nakon toga, takve web aplikacije mogu da donose odluke zavisno od prijavljenog korisnika, kao recimo: neke akcije ili stranice mogu biti ograničene na samo prijavljenog korisnika ili određenu podgrupu korisnika, sa druge strane mogu da sadrže informacije specifične za prijavljenog korisnika ili mogu da imaju više ili manje informacija u zavisnosti od prijavljenog korisnika. Ovde ćemo istražiti tehnike za autentifikaciju korisnika kroz web-formu, autorizovanje pristupa određenim stranicama i funkcionalnostima i upravljanje korisnicima u ASP.NET aplikacijama. Konkretno, obratićemo pažnju na sledeće tehnike:

• Identifikovanje i prijava korisnika na web-sajt. • Korištenje ASP.NET okvira za članstva (membership framework),

pomoću ASP.NET configuration alata kako bi se upravljalo korisničkim nalozima.

• Pravljenje, modifikovanje i brisanje korisničkih naloga. • Ograničavanje pristupa web strani, direktorijumu ili specifičnoj

funkcionalnosti bazirano na prijavljenom korisniku. • Korištenje ASP:NET okvira za uloge (Roles framework) da bi

dodjelili „uloge“ korisnicima. • Upravljene Ulogama. • Ograničavanje pristupa web strani, direktorijumu ili specifičnoj

funkcionalnosti bazirano na korisnikovim ulogama. • Prepravljanje i proširivanje ASP.NETovih sigurnosnih web kontrola.

Autentifikacija, Autorizacija, Korisnički nalozi, Uloge Autentifikacija, Autorizacija, Korisnički nalozi, Uloge su 4 termina koji će biti često korišteni u daljem tekstu te bi definisanje ovih termina bilo logično na samom početku. Autentifikacija je proces utvrđivanja korisnikovog identiteta. Za korisnika koji je bio uspješno identifikovan kaže se da je autentif ikovan. Za

Page 35: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 35

neidentif ikovanog korisnika kažemo da je neautentifikovan ili anoniman (eng. Anonymous user). Sigurnosna autentifikacija traži da ispunimo barem jedan od tri zahtjeva: nešto što samo mi znamo, nešto što samo mi imamo ili nešto što mi jesmo. Većina web aplikacija se za autentifikaciju služi nečim što korisnik zna, kao što je jedinstvena lozinka ili PIN. Informacije korištene za identifikac iju korisnika – njihovo korisničko ime i lozinka na primjer – nazivaju se akreditivima (eng. Credentials). Ovdje ćemo se baviti na autentifikaciju pomoću formi, što je model kod kojeg korisnik svoje akreditive obezbjeđuje kroz formu web stranice. Svi smo iskusili ovu vrstu autentifikacije ako smo koristili Internet servise (npr. prijava na web mail servise kao što je yahoo mail ili google-ov gmail zahtijeva autentif ikaciju preko forme sa korisničkim imenon i lozinkom). U dodatku identif ikacije korisnika, server možda mora da ograniči resurse ili funkcionalnost u zavisnosti od korisnika. Autorizacija je proces određivanja da li određeni korisnik ima prava pristupa određenim resursima i funkcionalnostima. Korisnički nalog su uskladištene informacije o određenom korisniku. Korisnički nalog minimalno mora da sadrži informacije koje nedvosmisleno identifikuju korisnika kao što su njegovo korisničko ime i lozinka. Uz ovo, nalozi mogu da sadrže stvari kao što je korisnikova e-mail adresa, vrijeme kad je nalog napravljen, datum i vrijeme zadnjeg prijavljivanja, ime i prezime, adresu, broj telefona i kućnu adresu, te neke informacije specifične za korištenje određene web usluge. Za skladištenje ovih informacija, koriste se baze bodataka o korisnicima, relacione baze podataka kao što je Microsoft SQL server. Web aplikacije koje podržavaju korisničke naloge mogu opciono da grupišu korisnike u „uloge“. Uloga je obična oznaka prikačena korisniku i obezbjeđuje sredstva za uopštavanje definisanja pravila autorizacije i funkcionalnosti na nivou stranice. Na primer, aplikacija može da ima „Administrator“ ulogu za autoruzaciju pravila koja zabranjuju svima osim administratoru pristup određenim web stranama. Sa druge strane, aplikacija može da ima oblasti sa pristupom za članove neke druge „Uloge“. U našoj aplikaciji to je oblast „Roditelji“ kojoj mogu pristupiti korisnici kojima je dodata uloga „Roditelja“ od strane „Administratora“ što će kasnije biti detaljnije opisano. Autentifikacija korisnika u aplikacijama ASP.NET Kad korisnik unese URL odnosno adresu željenog sadržaja u pretraživač ili klikne na link, pretraživač napravi HTTP zahtjev koji se upućuje web serveru za određeni sadržaj, koji može biti prosta HTML stranica, ASP.NET strana, slika, JAVA skript dokumenat ili neki drugi sadržaj. Zadatak web servera je da vrati

Page 36: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 36

zahtijevani sadržaj pri tome vodeći računa da li je onaj ko je uputio zahtjev autorizovan da dobije određeni sadržaj. Inače uobičajeni HTTP zahtjevi nemaju identifikacione informacije. U s lučaju da u zahtjevu postoje takve informacije, na serveru je da otpočne proceduru za autentifikaciju koja za cilj ima da odredi identitet korisnika koji šalje zahtjev. Koraci u ovoj proceduri zavise od tipa autentif ikacije koju web aplikacija koristi. ASP.NET podržava tr i tipa autentif ikacije: Windows, Passport i autentifikacija pomoću formi. Iako je za ovaj rad bitna autentifikacija pomoću formi, radi poređenja opisaćemo i Windows autentif ikaciju. Procedura Windows autentifikacije koristi jednu od sledeći tehnika:

• Osnovna autentifikacija. • Zbirna autentifikacija. • Integrisana Windowsova autentifikacija.

Sve tri tehnike se služe istim pristupom: kad stigne neautorizovani zahtjev, server šalje HTTP odgovor koji traži da se izvrši autentif ikacija da bi se moglo nastaviti. Pretraživač prikazuje dijalog-prozor koji traži korisničko ime i lozinku.

Slika 24. Dijalog-prozor koji traži korisničko ime i lozinku

Ove se informacije vraćaju serveru kroz HTTP zaglavlje. Ovo je uobičajen postupak za aplikac ije na Intranetu. Korak sa stalnim potvrđivanjem identiteta kroz ovaj dijalog – prozor izbjegne se na nač in da pretraživač automatski šalje akreditive serveru. Iako je ovo odličan način za Intranet

Page 37: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 37

aplikacije, bilo bi nepraktično praviti Windows nalog za svakog korisnika našeg sajta na Internetu. Autentifikacija pomoću formi je, s druge strane, idealna za Internet web aplikacije. Prisjetimo se da autentifikacija pomoću formi traži od korisnika akreditive kroz web – formu. Kao posljedica toga, kad korisnik želi da pristupi neautorizovanim resursima, automatski biva preusmjeren na stranicu za prijavu gdje može unijeti svoje akreditive. Poslati akreditivi bivaju onda provjereni pomoću pregleda „skladišta“ korisnika – obično neke od baza podataka. Slika ispod prikazuje kako procedura autentif ikacije pomoću forme ima velike prednosti.

Slika 25. Procedura autentifikacije pomoću forme

Page 38: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 38

Obično se na ovaj način zaštićuju određene oblasti na web aplikaciji (stranice i direktorijumi sa stranicama), ali šta ako želimo da sakrijemo samo određene sadržaje za anonimne korisnike? Jednostavno, za tu namjenu u ASP.NET 2 imamo posebnu kontrolu koja se naziva LoginView i kada se postavi na stranicu, prikazuje različ it sadržaj anonimnom i prijavljenom korisniku. Autentifikacija, Autorizac ija, Korisnički nalozi, Uloge u e-Dnevniku U našoj aplikac iji maks imalno ćemo iskoristiti prednosti ASP.NET 2 tehnologije tako što ćemo sa minimumom koda imati funkcionalno i optimalno osiguran sajt za naše korisnike – prvenstveno nastavnike i roditelje. Prvi korak u obezbjeđivanju naše aplikacije jeste pokretanje alata u VWD 2005 Express: „ASP.NET configuration“ a to možemo uraditi na par načina: jedan je iz menija Webs ite – ASP.NET configuration. Drugi je tako što ćemo pritisnuti dugme koje se nalazi u gornjem desnom uglu prozora „Solution explorer“.

Slika 26. Akcija na dugme ASP.NET configuration

Nakon pokretanja ove alatke, u web pretraživaču otvara nam se sledeći prozor:

Page 39: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 39

Slika 27. Izgled Web Site Administration Tool

Kao što vidimo, ponuđene su nam tri stavke za konfigurisanje pa krenimo redom: Odabirom linka security (isti efekat se dobija pritiskom na karticu securuty pri vrhu prozora) dolazimo do prozora za konfigurisanje sigurnosti aplikacije.

Slika 28. Konfigurisanje sigurnosti aplikacije

Page 40: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 40

Ovde se nude dvije mogućnosti: da nam „čarobnjak“ pomogne pri konfiguraciji ili da sami podesimo svoju aplikaciju. Budimo hrabri i uradimo to na ovaj drugi način. Prvo što treba da odredimo je tip autentifikacije za korisnika. Njega određujemo nakon što prozorčiću USERS kliknemo na link dole „Select authentication type“. Odaberemo: „From the Internet“. Ako bi smo izabrali From a local netvork, ASP.NET aplikacija bila bi prilagođena za rad u Intranetu odnosno lokalnoj mreži sa ograničenim brojem računara. Kliknemo na dugme „Done“ u donjem desnom uglu. Nakon ovoga bivamo automatski preusmjereni nazad na stranicu security. Primjetimo da sada u prozorčiću Users imamo neke nove linkove za konfigurisanje, pa kliknimo na prvi.

Slika 29. Izbor opcije „From the Internet“

Page 41: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 41

Slika 30. Stranicu security sa novim linkovima za konfigurisanje

Create Users link omogućava nam da napravimo korisnika. Trebaće nam jedan za sad tek da imamo od čega da krenemo u našoj aplikaciji. Dajmo mu korisničko ime „Administrator1“ sa lozinkom „admin12##“ (ASP.NET configuration alat zahtijeva tzv. jake lozinke koje ne smiju biti kraće od 6 karaktera i moraju sadržavati barem jedan specijalni – ne alfanumerički znak)

Slika 31. Kreiranje prvog korisnika

Page 42: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 42

Kliknemo na dugme „Create User“. Sledeći prozor kaže nam da smo kreirali korisnika.

Slika 32. Potvrda da smo kreirali korisnika

Kliknemo na dugme Back da bi se vratili na karticu security. Sledeća stavka koju konfigurišemo jesu „Uloge“ ili „Roles“. Kliknemo na link „Enable Roles“ u prozorčiću Roles. Nakon toga dobijamo dva nova linka istom prozorčiću: „Disable Roles“ koji isključuje upotrebu Uloga na web aplikaciji i druga je „Create i Manage Roles“. Nećemo da diramo prvi link nego idemo na drugi. To nam otvara sledeći prozor:

Slika 33. Konfiguracija uloge (Roles): „Create i Manage Roles“

Page 43: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 43

Ovde možemo dodati koliko god trebamo Uloga za našu aplikaciju. U našem slučaju to su samo Administrator i Roditelj. Prije nego što se vratimo na stranicu security kod imena uloge administratori kliknemo na link Manage ispod napisa Add/Remove Users. To nas dovodi do sledećeg prozora gdje treba da nađemo našeg korisnika kojeg smo krstili sa Administrator1. čekirajmo okvirčić kraj njegovog imena i onda kliknimo dugme back:

Slika 34. Verifikacija dodjele uloge (Roles)

Za sada je to sve. Nakon što napravimo par foldera sa ograničenim pristupom, ponovo ćemo se vratiti u naš alat ASP.NET configuration da bi pravili pravila za pristup i manipulisali istim (treći prozorčić na security kartici: Access Rules, linkovi Create Access Rules i Manage Access Rules. Sad za sad ćemo zatvoriti web pretraživač sa našim ASP.NET configuration alatom i vratiti se u VWD 2005 Express da vidimo koje promjene su načinjene. Kao prvo, ovaj alat napravio je bazu podataka „ASPNETDB.MDF“ u kojoj će držati relevantne podatke koja se nalazi u folderu App_Data (vidljiva u prozoru solution explorer ili database explorer). Sledeće, u fajlu „web.config“ koji definiše konfiguraciju aplikacije, primjetne su promjene koje se odnose na obezbjeđenje sajta. Te promjene biće još očitije kad se naprave folderi sa ograničenim pristupom određenim direktorijumima. Hajde da napravimo te foldere. U prozoru solution explorer selektujemo naš sajt (u našem slučaju on se zove „tester“) i kliknimo desnim tasterom miša na njega. Iz kontekstnog menija izaberimo „New Folder“ te mu damo ime Administratori. Ponovimo iste korake za kreiranje foldera Roditelji.

Page 44: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 44

Slika 35. Kreiranje foldera sa ograničenim pristupom

Nakon što smo to uradili, hajde da u svakom od njih napravimo po jednu stranicu kojoj ćemo pristupiti prije i poslije konfigurisanja pravila za pristup. To radimo na način da selektujemo folder i pritisnemo desni taster miša. Iz ponuđenog kontekstnog menija izaberemo Add New Item pa iz prozora koji nam se otvori biramo Web Form.

Slika 36. Početak izrade stranica

Možemo da zadržimo i ime Default.aspx, programski jezik, naravno, ostaje Visual Bas ic jer smo se na početku opredjelili za njega. Kliknemo na dugme Add. Istu stvar uradimo i sa folderom Roditelji. Sada ćemo dodati neki

Page 45: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 45

sadržaj na ove stranice da bi smo ih mogli pogledati u pretraživaču. Kliknimo dvaput na fajl Default.aspx u folderu Administratori. Na donjem lijevom uglu VWD postoje dvije kartice „Source“ i „Des ign“. Automatski je odabran „Source“ pogled koji nam omogućava da editujemo kod stranice. Prebacimo se u „Design View“. Iz padajućeg menija za formatiranje teksta odaberimo Heading 2 i na stranici ispišimo „Administratori imaju pristup ovoj strani“.

Slika 37. Ispis teksta na stranici Tester

Nakon toga pritisnimo ctrl+shift+w da bi vidjeli ovu stranicu u pretraživaču.

Slika 38. Izgled nakon ispisa teksta na stranici Tester

Page 46: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 46

Vidimo da sad svako ima pristup ovoj stranici. Ista stvar je i sa stranicom Default.aspx iz foldera Roditelji. Hajde sad da konfigurišemo našu aplikaciju tako da korisnic i svrstani u Ulogu Administratora mogu da pristupe svim sadržajima, korisnici iz uloge Roditelji mogu da pristupe opštim sadržajima i sadržajima iz foldera Roditelji. Neprijavljeni korisnici mogu da pristupe samo opštim sadržajima. Pokrenimo ponovo ASP.NET configuration alat. Iz prozorčića Access Rules odaberimo link Add access rules.

Slika 39. Kreiranje Add access rules

Nakon ovoga u novom prozoru odaberemo folder za koji treba da obezbijedimo i odaberemo odgovarajućeg korisnika odnosno ulogu koja smije da pristupi odabranom folderu. Odaberimo sledeće: Folder: Administratori, Role: Administrator i Permission: Allow.

Slika 40. Kreiranje uloge koja smije da pristupi odabranom folderu

Page 47: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 47

Nakon što pritisnemo dugme „OK“, bićemo preusmjereni na security stranicu gdje ponavljamo iste korake ali biramo sledeće: Folder: Administratori, Rule applies to: Anonymous users. Permission: Deny, OK Folder: Roditelji, Rule applies to: Administratori, Permission: Allow, OK Folder: Roditelji, Rule applies to: Roditelji, Permission: Allow, OK Folder: Roditelji, Rule applies to: Anonymous users, Permission: Deny. Ovim smo dozvolili administratorima pristup svim sadržajima, roditeljima pristup folderu Roditelji, a ostelim korisnicima zabranili pristup folderima Administratori i Roditelji. Hajde da zatvorimo ASP.NET configuretion alat i da se vratimo u VWD da bi provjerili kako ovo funkcioniše. Odaberimo fajl Default.aspx iz foldera Administratori i pritisnimo ctrl+shift+w da bi pogledali isti u pretraživaču. Dobijamo poruku o grešci:

Slika 41. Poruka o grešci

Mi znamo da je to zato što smo ograničili pristup sadržajima iz ovog foldera na korisnike sa ulogom administratora. Ako pogledamo adresu u pretraživaču, vidjećemo da nas je server pokušao preusmjeriti na stranicu za prijavljivanje Login.aspx da bi se prijavili kao administrator, a koju mi nemamo. Hajde da je napravimo. Obratimo pažnju na to da ona mora biti u korjenom direktoriju našeg sajta. To znači biramo Tester, desni klik, Add New Item i Web

Page 48: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 48

Form. Dajmo fajlu ime Login.aspx. Hajde da odmah dodamo kontrolu koja će korisnicima dozvoliti da se prijave na aplikaciju. To je takozvana Login kontrola i nalazi se u Toolbox prozoru. Prevucimo je na stranicu Login.aspx (u design view-u). Sačuvajmo promjene pritisnuvši ctrl+shift+s.

Slika 42. Dodavanje kontrole koja korisnicima dozvoljava prijavu

Vratimo se na Default.aspx iz foldera Administratori i pritisnimo ctrl+shift+w za pregled u pretraživaču. Trebalo bi da budemo automatski preusmjereni na našu stranicu za prijavu: Login.aspx i kad se ulogujemo tek onda bivamo vraćeni na stranu Default.aspx iz foldera Administratori. Ovo je jednostavan primjer kako se na lak način osigurava sajt. Sledeće što treba da učinimo je da omogućimo korisnicima da naprave nalog, a to radimo tako što napravimo novu stranicu koju ćemo nazvati „NapraviNalog.aspx“ i na nju prevučemo kontrolu CreateUserWizard. Naravno da nećemo dozvoliti novokreiranom korisniku da sam bira svoju ulogu nego ćemo taj posao prepustiti administratoru, ali o tom potom. Potrebne su nam još stranice za promjenu lozinke i oporavak zaboravljene lozinke sa kontrolama ChangePassword i PasswordRecovery respektivno. Evo pregleda gotovih stranica vezanih za sigurnost u našem e-dnevniku dat je na sledećoj slici:

Page 49: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 49

Slika 43. Izgled završene stranice za prijavu

U prilogu specijalističkom radu dao sam pregled web aplikacije, te način komunikacije roditelja putem interneta, i pregled baze podataka.

Page 50: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 50

Komparacija novog i postojećeg modela

Prva namjena mog rada, tj. ove web aplikacije, je sinhronizovana komunikacija škole i roditelja, sa pretpostavkom da roditelji u svakom trenutku trebaju biti informisani o svim postignuć ima svog djeteta. Time se ostvaruju različite uštede, a naznačajnija je ušteda u vremenu potrebnom da svaki roditelj dođe u školu na informativne sastanke sa razrednim starješinom, a takođe i ušteda u vremenu nastavnika koji treba da primi svakog roditelja pojedinačno i saopšti mu rezultate rada i ponašanja njegovog djeteta. U ovom slučaju roditelj će pristupiti web sajtu škole i preko interneta saznati sve što je vezano za njegovo dijete u bilo kom trenutku. U tom slučaju dužnost svakog nastavnika je samo da ažurno unose promjene u bazu podataka, a što će svakom nastavniku kasnije veoma koristiti, prilikom različitih analiza podataka koje nisu nikako ili su veoma teško obavljali sa zapisima u klasičnom dnevniku. Druga namjena je statistička obrada podataka za samog nastavnika, a i za upravu škole, kao i za vladu (ministarstvo obrazovanja), pošto su ovako uneseni podaci idealni za različite analize. Sve informacije se dobiju jednostavnim upitima nad bazama podataka, kao starosna i polna struktura, prosječan uspjeh, broj izostanaka, prosječan uspjeh kod određenog nastavnika itd. Treća namjena je podrška nastavi, tj. postavljanje elektronskog rasporeda časova na web sajt, najava pismenih zadataka, kontrolnih, testova, dopunske nastave, kao i davanje domaćih zadataka, raznih uputstava, koji bi se vezali za konkretne časove ili za određen predmet. Četvrta namjena bi bila podrška timskom radu, tj. razvila bi se razmjena elektronskih podataka i dokumenata u okviru određenih projekata, kao i lakše nadgledanje i praćenje rada na projektima. Sve ovo proširuje viziju dalje nadogradnje ovog projekta u bliskoj budućnosti, što se za klas ični način rada ne može vezati. Naime, sa menadžmentom u odjeljenju za obrazovanje, te sa menadžmentom moje škole, predložio sam i dogovorio sam se da se izvrši jedna takva priprema, koja bi podrazumijevala:

• Sistem testiranja preko web-a; • Instalisanje, na neki način, javnih računarskih terminala za pristup

informacijama, a u nekom kasnijem trenutku i automatsko izdavanje dokumenata;

Page 51: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 51

• Ažurniji rad u bibliotekama, sa stanjem u fondu knjiga i rezervisanje knjiga;

• Za raliku od klasičnog načina rada, roditelji kod kuće mogu vršiti analizu rada kako svog djeteta, tako i predmetnih nastavnika, kroz napredovanje svog djeteta;

• Sistem automatskog štampanja izvještaja, potvrda, diploma...

Na nekim od ovih prijedloga se već radi na pripremi u obliku projekata, što je prihvaćeno, bez zadrške, a takođe vjerujem da će i naš univerzitet APEIRON takođe dati punu podršku. Moram naglasiti, što je u radu već rečeno, da nije svrha da se iz upotrebe izbaci klasičan dnevnik, nego da e-dnevnik sa podacima koji su u njemu sadržani bude lakše i svrsishodnije iskorišten, što sa klasičnim načinom rada nije slučaj.

Page 52: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 52

Zaključak

Svojim radom u projektu »Razvoj i realizacija E–dnevnika podržanog bazom podataka i web stranicom« sam postigao sve postavljene ciljeve, a čak otvorio i nove mogućnosti, koje bi mogle biti predmet i cilj novog projekta ili projekta na poboljšanju postojećeg. Osim toga došlo je do nekih novih efekata na koje u polaznim osnovama nisam računao. Razbila se jedna ljudska učmalost, radoznalost se ponovo vratila u prvi plan, kako kod kolega nastavnika, tako i kod učenika, a pogotovo kod roditelja. Učenici traže više učešća u ažuriranju web sajta, nastavnici traže obuku za rad na ažuriranju podataka o učenicima, ocjenama, izostancima, ... Roditelji su već dali prijedlog da se i za njih pripreme određeni kursevi, koji će pokriti dio neznanja i nesnalaženja u radu na internetu, a kasnije žele da prate interesovanja svoje djece, te da i oni mogu ići u „pos jete“ istim web sadržajima, kako bi se ponovo, kao u nekim prošlim vremenima, mogao ostvariti prisniji dijalog sa djecom i sa školom. Osim toga i menažmenti odjeljenja za obrazovanje, menadžmenti škola, kao i aktiv nastavnika informatike i aktiv profesora informatike postigli su ovim projektom jedan zavidan rezultat, koji je trenutno nadmašio očekivanja, na što je polazna ideja svakako i upućivala. Od ovog trenutka i naša sredina postaje član, za sada male, porodice škola i gradova koji posjeduju e-dnevnik, na dobrobit svih nas.

Page 53: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 53

Literatura

1. Doug Lowe; ASP:NET 2.0 Everyday Apps for Dumies; Wiley Publishing, Inc.2006

2. Scott Mitchell; Teach Yourself ASP.NET 2.0 in 24 Hours; Sams 2006 3. Mesbah Ahmed, Chris Garrett, Jeremy Faircloth, Chris Payne, Wei Meng Lee

(Series Editor), Jonothon Ortiz (Technical Editor); ASP.NET Web Developers Guide; Syngress Publishing, Inc. 2002

4. Sikha Saha Bagui, Richard Walsh Earp; Naučite SQL na SQL Serveru 2005 (Learning SQL on SQL Server 2005); O’Really, 2007.

5. Sikha Saha Bagui, Richard Walsh Earp; Projektovanje baza podataka (Designing Effektive Database Systems); AW, 2006.

6. Oficijelni Asp.net sajt sa tutorijalima za asp.net tehnologiju i Visual Web Developer: http://www.asp.net/Guided-Tour/default.aspx,

oktobar 2007.g. do marta 2008.g 7. Majkrosoftov sajt za ucenje i pomoć za početnike:

http://msdn2.microsoft.com/en-us/beginner/default.aspx, oktobar 2007.g. do marta 2008.g 8. Majkrosoftov sajt za učenje i pomoć pri razvoju softvera:

http://msdn2.microsoft.com/en-us/library/cc136611.aspx, oktobar 2007.g. do marta 2008.g 9. Početnički tutorijali za asp.net:

http://quickstarts.asp.net/QuickStartv20/aspnet/doc/whatsnew.aspx, oktobar 2007.g. do marta 2008.g

10. E-dnevnik (pdf.), www.e-dnevnik.org, oktobar 2007.g. do marta 2008.g 11. Školski e-dnevnik i sigurnost, www.devprotalk.com/showthread.php?t=3538, oktobar 2007.g. do marta 2008.g 12. Microsoft Visual Web Developer 2005 Express Edition,

www.microsoft.com/express/vwd, oktobar 2007.g. 13. Microsoft Visual Web Developer 2005 Express Edition,

www.en.wikipedia.org/Microsoft_Visual_Studio_Express, oktobar 2007.g. 14. Baze podataka, www.baze-podataka.net/, oktobar 2007.g. do marta 2008.g

Page 54: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 54

Razvoj i realizacija E–dnevnika podržanog bazom podataka i web stranicom Apstarkt: Jedan od važnih, zadanih, ciljeva vaspitanja i obrazovanja je i saradnja učenik – roditelj – nastavnik. U navedenom trouglu veoma važnu ulogu za konačan uspjeh učenika kao pojedinca daje kontakt između roditelja i nastavnika i konstantna informisanost roditelja o njegovom djetetu. U radu sam dao osnovne karakteristike današnjeg modela, kao i detaljan razvoj i realizac iju E–dnevnika podržanog bazom podataka i web stranicom, te prednosti novog rješenja. Opisana je praktična primjena Microsoft-ovog Visual Web Developer-a, u fazama stvaranja Web stranice i baze podataka, kao i sigurnosni dio, sa autentif ikacijom, autorizacijom, korisničkim nalozima, ulogama. Takođe je opisana i praktična primjena, kao i pregled web aplikacije, te način komunikacije roditelja putem interneta, i pregled baze podataka. Ključne riječi: E-dnevnik, Web stranica, Baza podataka, Internet, Microsoft Visual Web Developer 2005 Express, Master Pages, Tabele (tbl), Relacije, Sigurnost, Autentif ikacija, Autorizacija, Korisnički nalozi, Uloge, Administrator, Roditelji, Password.

Page 55: »Razvoj i realizacija E–dnevnika podržanog bazom podataka ...apeironsrbija.edu.rs/Centar_za_izdavacku_djelatnost/Radovi/Specijalisticki/V... · (abeceda-azbuka) redom na početku

SPECIJALISTIČKI RAD Student: Stjepanović Vukašin, prof.

Fakultet Poslovne Informatike Banja Luka Mentor: prof. dr Zoran Avramović, dipl. inž. elek. 55

POJMOVNIK

E-dnevnik

Electronic

Elektronski

FTP

File Transfer Protocol

Protokol za prenos datoteka udaljenih računara

HTML

HyperText Markup

Language

Jezik za označavanje hiperteksta, kojim se obezbjeđuje višeslojno povezivanje dokumenata

HTTP

HiperText Transfer

Protokol

Set pravila koja omogućuju razmjenu podataka između Web hosta i korisnika

IIS

Internet Information

Services

Servisi internet podataka

IT

Information Technology

Tehnologija koja obuhvata hardver, softver i komunikacije

PIN

Personal Identification

Number

Lična lozinka za raspoznavanje; (pin, izvod, nožica) izvod na priključku , čipu, modulu, uređaju

SQL

Structured Query Language

Strukturisani jezik za upite; najšire korišćeni jezik za komunikaciju sa relacionim bazama podataka

URL

Uniform Resurce Locator

Predstavlja način adresiranja lokacija strana na www. i objedinjuje podatke o protokolu koji se koristi, adresi mjesta na kojem se resurs nalazi, položaju poddirektorijuma na tom mjestu i imenu tražene datoteke (ili web strane)

VWD

Visual Web Developer

Dio paketa programa Microsoft Visual Web Studio 2005, u dvije verzije, običnoj i Expres

XML

Extensible Markup Language

Skraćenica za proširivi (metajezik) za označavanje (engl. markup) tekstualnih dokumenata