SADRŽAJ
Aplikacija je nastala, prvenstveno da bi se napravila ušteda prilikom čestog dopisivanja autora SMS-om. Poznato je da se GPRS naplaćuje po ostvarenom protoku podataka, koji u uovom slučaju nije veliki, a za WAP server se autor „snašao“. Naravno, iskorišćen je nalog koga autor ima na serveru „galeb.etf.bg.ac.yu“. To je besplatni studentski nalog, gde autor kao student ima pravo da postavi svoju WEB prezentaciju, što znatno snižava troškove. U cilju smanjenja prenete količine podataka aplikacija nema nikakve slike ili ulepšavajuće elemente, sadrži samo ono što je neophodno.
Da bi se koristio sistem, mora se pokrenuti browser telefona i treba da se ode na adresu na kojoj se nalazi aplikacija. U konkretnom slučaju to je http://galeb.etf.bg.ac.yu/~ln980610d/chat.php Aplikacija je takođe dostupna sa WAP prezentacije http://galeb.etf.bg.ac.yu/~ln980610d. Tu treba ići na link „Nenad’s chat“. Na ekranu će se pojaviti:
|
|
|
Slika 1 – Izgled ekrana za logovanje |
|
|
|
Slika 2 – Izgled popunjenog menija za logovanje |
Tada je potrebno je uneti username i password. Zatim je potrebno pritisnuti taster „Options“ i izabrati opciju „Logovanje“.
|
|
|
Slika 3 – Izgled menija za logovanje |
Nakon izbora opcije „Login“, biće učitana osnovna strana WAP aplicacije:
|
|
|
Slika 4 – Izgled osnovne strane |
Na ovoj osnovnoj strani imamo prikazane pristigle poruke, kao i formular za unošenje odredišta nove poruke i formular za tekst te poruke. Ispred samog teksta poruke imamo ispisano ime (username) korisnika sistema od koga imamo pristigle poruke.
U opcionom meniju imamo stavke: Read, Send, Clear All i Login.
Kao što je rečeno opcija „Read“ vrši čitanje pristiglih poruka. Praktično, izborom ove opcije osvežava se osnovna strana. Time se iz baze izvlače sve pristigle poruke za logovanog korisnika i prikazuju na novoučitanoj strani.
|
|
|
Slika 5 – Pristigla ne nova poruka |
U odnosu na sliku 3, na slici 4 vidimo da je pristigla još jedna poruka.
Izborom formulara „To“, ulazimo u masku za unos korisničkog imena korisnika sistema kome želimo da pošaljemo poruku. U polju označenom sa „Message“ unosimo sam tekst poruke.
|
|
|
Slika 6 – Popunjava se polje odredišta poruke |
|
|
|
Slika 7 – Unosi se tekst nove poruke |
Po unešenju prethodno opisanih vrednosti, iz opcionog menija biramo opciju „Send“. Izborom ove opcije popunjena polja formulara šalju se na server, a tamo se upisuju u MySQL bazu podataka. Time je poruka spremna da bude pročitana na odredišnom telefonu.
Izborom opcije „Clear All“, opcionog menija, brušu se u bazi sve poruke koje se odnose na logovanog korisnika.
|
|
|
Slika 8 – Pristigle poruke su izbrisane |
Administrator se loguje na sistem ukucavanjem korisničkog imena: „admin“ i lozinke administratora.
|
|
|
Slika 9 – Logovanje administratora |
Potom se na ekranu prikaziju iz baze pročitane informacije o korisnicima, kao i formilar za unos korisničkog imena i lozinke novog korisnika. Informacije o korisnicima su ispisane u formatu: „username:password“.
|
|
|
Slika 10 – Osnovni ekran ulogovanog administratora |
Za ovaj formular vezan je i sledeći opcioni meni:
|
|
|
Slika 11 – Opcioni meni administratora |
U formularu se unose korisničko ime i lozinka novog korisnika kao na slici:
|
|
|
Slika 12 – Popunjen formular za dodavanje novog korisnika |
Zatim u opcionom meniju biramo „Add new“i kreiran je nalog za novog korisnika
U formularu se unose korisničko ime korisnika koga želimo da obrišemo:
|
|
|
Slika 13 – Popunjavanje formulara za brisanje korisnika |
U ovom slučaju password se ne uzima u razmatranje u ovom slučaju, pa ga ne treba unositi.
Zatim u opcionom meniju biramo „Rem. user“i obrisan je nalog.
Administrator može da blokira celokupnu komunikaciju. To se radi tako što u opcionom meniju izabere „Block System“.
|
|
|
Slika 14 – Izbor opcije blokiranja komunikacija |
Komunikacja, ukoliko je blokirana, može se deblokirati biranjem opcije“UnBlock System“.
|
|
|
Slika 15 – Izbor opcije deblokiranja komunikacije |
Kada je komunikacija blokirana, korisnici dobijaju poruku:
|
|
|
Slika 16 – Poruka korisnicima o blokiranoj komunikaciji |
Baza podataka je relativno jednostavna. Ima samo tri tabele.
|
|
|
Slika 17 –Model baze podataka |
Tabela SystemUser sadrži polja username i password. Polje username je primarni ključ, što znači upravo da se ne mogu naći dva korisnika sa istim username-om. Polje username je dva puta strani ključ u tabeli Message, ali u različitim ulogama: dest i sour (odredište i izvorište poruke). Primarni ključ tabele Message, idMes, je autoincrement i on je generički. Tabela Administrator je tabela koja sadrži generičko polje idAdministrator, koje je primarni ključ i auto increment. Polje password je polje za administrativnu lozinku, a polje block ima default vrednost „0“. Kada je ono 0 to znači da sistem nije blokiran, a ako je ono 1 sistem je blokiran.
Na osnovu ovog model generisan je SQL, kojim se formira potrebna MySQL baza podataka.
CREATE TABLE SystemUser (
username VARCHAR(20) NOT NULL,
passwrd VARCHAR(20) NULL,
PRIMARY KEY(username)
)
TYPE=InnoDB;
CREATE TABLE Administrator (
idAdministrator INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
passwrd VARCHAR(20) NULL,
block INTEGER UNSIGNED NULL DEFAULT 0,
PRIMARY KEY(idAdministrator)
)
TYPE=InnoDB;
CREATE TABLE Message (
idMessage INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
dest VARCHAR(20) NOT NULL,
sour VARCHAR(20) NOT NULL,
message TEXT NULL,
PRIMARY KEY(idMessage),
INDEX Message_FKIndex1(sour),
INDEX Message_FKIndex2(dest),
FOREIGN KEY(sour)
REFERENCES SystemUser(username)
ON DELETE CASCADE
ON UPDATE NO ACTION,
FOREIGN KEY(dest)
REFERENCES SystemUser(username)
ON DELETE CASCADE
ON UPDATE NO ACTION
)
TYPE=InnoDB;
Aplikacija ja napravljena i istestirana za rad sa telefonom tipa Nokia 6230. Browser-i nekih starijih telefona nisu u stanju da pravilno interpretiraju sadržaj strana koji dobijaju od aplikacije. Kako je model telefona Nokia 6230 star oko godinu dana smatram da bi sa svim telefonima koji se sada pojavljuju na tržištu aplikacija trebalo da radi sasvim korektno.
Uočeno je da je na nekim starijim telefonima glavni problem to što ne interpretiraju pravilno „<do>” tagove, pa se umesto teksta “Send”, “ClearAll”,... ispisuje “Unknown”. Ali uglavnom aplikacija je skroz funcionalna, ukoliko se napamet zna raspored funkcija.
|
[1] |
PHP i MySQL Razvoj aplikacija , Prevod drugog izdanja, Luke Welling, Mikro knjiga, 2004. |
|
[2] |
Relacione baze podataka, Treće dopunjeno izdanje, Vladimir Blagojević, Klub NT, 2003. |
|
[3] |
|
|
[4] |
|
|
[5] |