65
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA DIPLOMSKI RAD br. 2718 DINAMIČKO PRUŽANJE USLUGA NA POKRETNIM UREĐAJIMA Zoran Štrbac Zagreb, lipanj 2006.

DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

SVEUČILIŠTE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

DIPLOMSKI RAD br. 2718

DINAMIČKO PRUŽANJE USLUGA NA

POKRETNIM UREĐAJIMA

Zoran Štrbac

Zagreb, lipanj 2006.

Page 2: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

Mentor rada: dr.sc. Ignac Lovrek Voditelj rada: dr.sc. Ignac Lovrek

Page 3: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

Sadržaj

Uvod ..............................................................................................................................................1

1. Bežično pružanje usluga – OTA............................................................................................2

1.1. OTA putem WAP-a.......................................................................................................4

1.2. OTA u J2ME okruženju ................................................................................................4

2. Protokol Push-OTA...............................................................................................................5

2.1. Vrste podataka za Push OTA-u .....................................................................................8

3. OTA unutar J2ME okruženja ..............................................................................................10

3.1. Arhitektura pružanja usluga.........................................................................................10

3.2. Profil pokretnog informacijskog uređaja.....................................................................12

3.2.1. Arhitektura visoke razine i MIDP .......................................................................13

3.2.2. Zahtjevi za pokretne informacijske uređaje.........................................................14

3.3. OTA unutar specifikacije MIDP 2.0............................................................................16

3.3.1. Očekivana funkcionalnost uređaja.......................................................................16

3.3.2. Životni ciklus pružanja usluge.............................................................................17

3.3.3. Otkrivanje i odabir aplikacije ..............................................................................18

3.3.4. Instalacija aplikacije ............................................................................................19

3.3.5. Ažuriranje aplikacije............................................................................................21

3.3.6. Izvršavanje aplikacije ..........................................................................................22

3.3.7. Brisanje aplikacije ...............................................................................................22

3.3.8. Promjene u JAD-u za podršku OTA-i .................................................................22

3.3.9. Međusobna suradnja između AMS-a i poslužitelja za pružanje usluga ..............24

4. Lokacijske usluge i OTA.....................................................................................................25

4.1. Vrste lokacijskih usluga ..............................................................................................25

4.1.1. Okidne usluge ......................................................................................................26

4.1.2. Informacijske usluge............................................................................................27

4.1.3. Usluge praćenja treće strane ................................................................................27

4.1.4. Usluge pružanja pomoći korisniku......................................................................28

4.2. Lokacijska tehnologija i lokacijske metode.................................................................28

4.2.1. Identifikacija ćelije ..............................................................................................30

4.2.2. Metoda poboljšanog promatranja vremenske razlike..........................................32

4.2.3. Potpomognuti GPS ..............................................................................................32

4.2.4. Hibridna rješenja..................................................................................................33

Page 4: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

4.2.5. Usporedba lokacijskih metoda ............................................................................33

5. Usluga pružanja lokacijski zavisnih informacija pokretnom korisniku uz pomoć OTA-e .35

5.1. Analiza problema i predložena rješenja.......................................................................35

5.1.1. Otkrivanje, preuzimanje i instalacija aplikacije ..................................................35

5.1.2. Određivanje lokacije korisnika............................................................................36

5.1.3. Obrada lokacije i dohvat odgovora na poslužitelju .............................................36

5.1.4. Komunikacija između aplikacije i poslužitelja....................................................37

5.2. Izvori informacija za lokacijsku uslugu.......................................................................37

5.3. Arhitektura usluge .......................................................................................................38

5.4. Funkcionalnost OTA poslužitelja................................................................................39

5.5. Funkcionalnost klijentske aplikacije ...........................................................................39

5.6. Funkcionalnost poslužiteljske aplikacije .....................................................................41

6. Opis programskog rješenja usluge.......................................................................................42

6.1. Opis rješenja klijentske aplikacije ...............................................................................42

6.1.1. Klasa KlijentPumpa.............................................................................................43

6.1.2. Klasa Find............................................................................................................44

6.2. Opis rješenja poslužiteljske aplikacije.........................................................................45

6.2.1. Klasa PosluziteljPumpa .......................................................................................46

6.2.2. Klasa Worker.......................................................................................................46

6.3. Opis rješenja OTA poslužitelja....................................................................................47

6.3.1. Konfiguriranje Apache web poslužitelja za OTA-u ............................................47

6.4. Preuzimanje, pokretanje i rad s aplikacijom................................................................48

6.4.1. Preuzimanje aplikacije.........................................................................................48

6.4.2. Pokretanje poslužiteljske aplikacije ....................................................................50

6.4.3. Pokretanje klijentske aplikacije i demonstracija usluge ......................................50

7. Poslovni aspekti lokacijskih usluga.....................................................................................56

Zaključak .....................................................................................................................................60

Literatura .....................................................................................................................................61

Page 5: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

1

Uvod

Porastom broja korisnika pokretnih uređaja u zadnjih nekoliko godina i razvojem samih

pokretnih uređaja u pogledu procesorske snage, potrošnje energije, prikaza te veličine

memorije, otvorile su se mogućnosti i stvorili poticaji za kreiranje novih vrsta usluga. Jedne

od novonastalih usluga su lokacijske usluge i bežično pružanje usluga korisniku. Ove dvije

vrste usluga moguće je međusobno povezati kako bi se korisniku putem jedne usluge olakšalo

korištenje druge usluge.

Zadatak diplomskog rada je istražiti i implementirati bežično pružanje usluga korisniku,

proučiti lokacijske usluge i metode te razviti lokacijsku informacijsku uslugu čije će

korištenje korisniku biti omogućeno uz pomoć bežičnog pružanja usluga. Prilikom

istraživanja posebna je pozornost obraćena na otkrivanje, odabir, preuzimanje i instalaciju

aplikacije na pokretni uređaj. U prvom poglavlju dan je svojevrstan uvod u problem bežičnog

pružanja usluga. Ostvarenje bežičnog pružanja usluga korištenjem push komunikacije opisano

je u drugom poglavlju kroz prikaz protokola Push OTA. Treće poglavlje nas upoznaje s

bežičnim pružanjem usluga unutar Java okruženja za male uređaje i profila pokretnog

informacijskog uređaja, te pruža detaljan opis već spomenutog postupka tog načina pružanja

usluga. Pregled lokacijskih usluga te opis metoda lociranja korisnika, koje se koriste pri

ostvarivanju takvih usluga, dan je u četvrtom poglavlju. U petom poglavlju opisana je

ostvarena lokacijska usluga kroz podrobnu analizu problema, prikaz predloženih rješenja te

konačnu arhitekturu i funkcionalnost same usluge. Opis programskog rješenja i korištenje

same usluge dano je u šestom poglavlju dok su u sedmom poglavlju ukratko prikazani

poslovni aspekti lokacijskih usluga.

Page 6: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

2

1. Bežično pružanje usluga – OTA

Razvojem pokretnih mreža i samih uređaja koji se u njima koriste, pružena je podrška za nove

načine njihove primjene. Jedna od tehnologija je i bežično pružanje usluga (engl. Over The

Air Provisioning, skraćeno OTA) koje se odvija u dinamičkom okruženju. Pojam dinamičkog

okruženja ovdje se odnosi na vrijeme, lokaciju i širinu primjene. Glavna ideja OTA-e odnosi

se na to da korisnik, nakon što nabavi uređaj, ne mora ponovno ići operateru kako bi na njemu

omogućio korištenje novih usluga, već da to može napraviti putem bežičnog prijenosa tj.

putem OTA-e. OTA je dakle mogućnost preuzimanja i instalacije usluge ili nekog sadržaja

putem bežične mreže, najčešće na zahtjev korisnika.

Ostvarenje pružanja usluga putem OTA-e može biti izvedeno na više načina. Jedan od

najčešćih slučajeva uporabe OTA-e u današnje vrijeme je konfiguracija WAP (Wireless

Application Protocol) ili MMS (Multimedia Messaging Service) postavki na korisničkim

uređajima tako što ih operater šalje korisniku putem SMS (Short Message Service) poruke.

Korisnički zahtjev uključuje pozivanje centra za korisničku podršku gdje korisnik osobno

zahtjeva slanje točno određenih postavki za neku telekomunikacijsku uslugu od operatera.

Operater zatim inicira push komunikaciju putem OTA-e preko SMS-a i šalje postavke

korisniku [5]. Korisnik po primitku poruke s postavkama za konfiguraciju odobrava

instalaciju te je time njegova usluga omogućena. Primjer za ovaj slučaj korištenja OTA-e

prikazan je na slici (Sl. 1.1).

Sl. 1.1 Prikaz konfiguracije postavki OTA-om preko SMS-a

Page 7: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

3

Drugi slučaj uporabe pružanja usluga putem tehnologije OTA je još uvijek malo korišten, ali

u zadnje vrijeme se sve više primjenjuje, naročito u području igara za pokretne uređaje i

lokacijskih usluga. Ideja u ovom slučaju uporabe je da korisnik sam, putem aplikacije za

otkrivanje sadržaja (engl. Discovery Application, skraćeno DA), pronađe uslugu ili aplikaciju

koja ga zanima te njenim odabirom pokrene instalaciju iste korištenjem OTA-e [1]. Na slici

(Sl. 1.2) možemo vidjeti jednostavan prikaz arhitekture OTA za ovaj način pružanja usluga.

Sl. 1.2 Jednostavan prikaz OTA arhitekture

Primjećujemo slijedeće dijelove arhitekture za ostvarivanje funkcionalnosti OTA:

• Klijentski uređaj s aplikacijom za otkrivanje sadržaja – Klijentski uređaj mora

imati programsku podršku (engl. software) koji korisniku omogućuje lociranje

aplikacija na određenom poslužitelju za pružanje usluge u mreži i mogućnost odabira

koje će aplikacije preuzeti. Ovaj software se naziva aplikacija za otkrivanje sadržaja tj.

već spomenuti DA. DA može biti temeljena na web pregledniku ili zasebna, ali je

važno da koristi isti protokol za pružanje usluge kao i poslužitelj.

• Mreža – Ovo podrazumijeva bilo koju odgovarajuću bežičnu mrežu. Najčešće se za

prijenos koristi GPRS ili GSM mreža, a u novije vrijeme i UMTS i EDGE.

• Poslužitelj za preuzimanje (download) sadržaja (Provisioning Portal) – Ovaj dio

arhitekture se još naziva i portal za pružanje usluge, poslužitelj ili uređaj za

distribuciju. On je glavno računalo, vidljivo u mreži, na kojem je obično pokrenut web

poslužitelj i koji ima pristup spremniku sadržaja. Ima dvije glavne funkcije: osigurava

pravilno oblikovane izbornike, često napisane u WML-u ili HTML-u, koji ispisuju

aplikacije koje je moguće preuzeti i pružaju pristup aplikacijama. Jedan poslužitelj za

preuzimanje sadržaja može podržavati jedan ili više OTA protokola.

Page 8: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

4

• Spremnik sadržaja (Content Repository) – Kao što i samo ime govori, ovo je

spremnik u kojem se nalaze sve aplikacije i opisnici aplikacija koje je moguće

preuzeti.

Sa slike možemo i vidjeti sam tok pružanja usluge i podijeliti ga u tri glavna dijela. To su:

otkrivanje sadržaja, odabir sadržaja te preuzimanje i instalacija odabranog sadržaja.

Pružanje usluga putem OTA-e danas se najčešće izvodi na 2 načina tj. korištenjem dviju

tehnologija. To su OTA putem WAP-a i OTA u Java okruženju, preciznije u J2ME (Java 2

Platform, Micro Edition) okruženju.

1.1. OTA putem WAP-a

Pružanje usluga OTA-om unutar protokola WAP ostvareno je posebnim protokolom Push-

OTA koji se nalazi unutar WAP protokolnog složaja u sloju usluga sjednice (engl. Session

Services). Ostali dijelovi bitni za podršku OTA-i unutar WAP-a su još provisioning usluga u

sloju otkrivanja usluge (engl. Service Discovery), usluga autentifikacije u sloju sigurnosnih

usluga (Security Services) i push usluga u aplikacijskoj okosnici (engl. Application

Framework). Tri osnovne strane u pružanju usluga Push-OTA-om su inicijator push-a (engl.

Push Initiator, skraćeno PI), push proxy prilaz (engl. Push Proxy Gateway, skraćeno PPG) i

WAP klijent.

1.2. OTA u J2ME okruženju

Pružanje usluga korištenjem OTA-e u J2ME okruženju je prvenstveno povezano s profilom

pokretnog informacijskog uređaja (engl. Mobile Information Device Profile, skraćeno MIDP).

MIDP je dosad imao dvije verzije: MIDP 1.0 i aktualni MIDP 2.0. OTA je sastavni dio MIDP

2.0 dok je u MIDP 1.0 bio samo preporuka. U J2ME okruženju pružanje usluga putem OTA-e

odnosi se prvenstveno na otkrivanje, odabir, preuzimanje, instalaciju i korištenje MIDP

aplikacija koje inače nazivamo MIDlet-ima. To su aplikacije koje su posebno prilagođene za

pokretne uređaje koji podržavaju Java tehnologiju tj. koje su u skladu s MIDP-om. MIDlet-

ima je moguće ostvarivanje brojnih usluga za korisnike, kao recimo lokacijskih usluga, a isto

tako moguće im je ponuditi i zabavu kroz igre napravljene u J2ME okruženju.

Page 9: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

5

2. Protokol Push-OTA

Protokol Push-OTA je dio okosnice Push koji je odgovoran za prijenos sadržaja od push

proxy prilaza (engl. Push Proxy Gateway, skraćeno PPG) do klijenta i njegovih korisničkih

agenata.

Na slici (Sl. 2.1) vidimo da u komunikaciji Push OTA postoje tri strane i to inicijator push-a,

PPG i WAP klijent. PI je taj koji pokreće push komunikaciju. On komunicira s PPG-om

putem protokola za pristup push-u (engl. Push Access Protocol, skraćeno PAP), a PPG nakon

prilagodbe primljenih podataka te iste prosljeđuje WAP klijentu putem Push OTA-e [3].

Sl. 2.1 Prikaz Push OTA komponenata i odnosa među njima

PI je najčešće aplikacija koja je pokrenuta na nekom tipičnom web poslužitelju i koja šalje

push sadržaj i informacije o isporuci PPG-u. Na slici su PPG i PI prikazani kao odvojeni

entiteti, što najčešće i je slučaj, ali isto tako mogu i biti na jednom mjestu.

Protokol PAP je sredstvo kojim PI šalje sadržaj prema pokretnoj mreži adresirajući njen PPG.

PAP je izveden tako da bude neovisan o transportnom protokolu koji se nalazi na nižoj razini

pa tako može biti prenesen svakim protokolom koji dopušta transport MIME tipova preko

Interneta. PAP podržava sljedeće operacije:

• Slanje push sadržaja (PI prema PPG)

• Obavijest o rezultatu (PPG prema PI)

• Odustajanje od slanja (PI prema PPG)

• Zamjena push sadržaja (PI prema PPG)

• Upit o statusu (PI prema PPG)

• Upit o mogućnostima klijenta (PI prema PPG)

Page 10: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

6

Push poruka sastoji se od tri entiteta: kontrolnog entiteta, sadržajnog entiteta, i opcionalnog

entiteta za posebne mogućnosti. Kontrolni entitet je XML dokument koji sadrži upute o

isporuci namijenjene PPG-u, a sadržajni entitet je namijenjen klijentu.

PPG obavlja funkciju pristupne točke za slanje sadržaja s Interneta na pokretnu mrežu te sve

funkcije koje idu uz to, kao što su autentifikacija, rezolucija adresa i slično. PPG pruža

okosnici Push razne usluge kao:

• Identifikaciju i autentifikaciju PI-a, te kontrolu pristupa

• Analizu sintakse (engl. parsing) i detekciju pogrešaka u push sadržaju i kontrolnoj

informaciji

• Usluge pronalaska klijenta, uključujući pronalazak klijentovih mogućnosti

• Rezolucija adrese primatelja push sadržaja

• Binarno kodiranje i kompilacija određenih tipova sadržaja, ili općenito sažimanje, u

svrhu poboljšanja efikasnosti OTA-e

• Konverzija protokola

Nakon što PPG primi sadržaj od PI-a putem PAP-a, on ga dijeli na nekoliko dijelova ovisno o

namjeni. Za PPG je najvažniji prvi dio u kojem se nalazi kontrolna informacija za njega

samog. Ta informacija sadrži primateljevu adresu, ograničenja vremena isporuke, informaciju

o kvaliteti usluge (engl. Quality of Service, skraćeno QoS), zahtjeve za obavijestima itd.

Nakon što je sadržaj odobren za isporuku, PPG pokušava pronaći pravog klijenta i isporučiti

sadržaj tom klijentu koristeći Push-OTA-u.

Push OTA je dizajniran tako da radi na vrhu HTTP (engl. HyperText Transport Protocol)

protokola ili WSP (engl. Wireless Session Protocol) protokola. Prva varijanta naziva se još i

OTA-HTTP, a druga OTA-WSP. Dijelovi OTA-WSP-a koji se odnose na beskonekcijski

push moraju uvijek biti izvedeni i u PPG-u i u klijentima. Konekcijski-orijentiran push, koji

koristi ili OTA-HTTP, ili OTA-WSP, je opcionalan.

Protokolna varijanta OTA-WSP je arhitekturno tanki protokolni sloj na vrhu WSP-a i može

stoga biti korišten u kombinaciji s bilo kojom vrstom prijenosa spomenutom u specifikaciji

WAP. OTA-WSP koristi osobine ponuđene od WSP-a i proširuje iste kako bi udovoljila

Page 11: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

7

posebnim potrebama push-a. Naprimjer, OTA-WSP se oslanja na WSP-ovu sposobnost

pregovaranja o mogućnostima, vjerojatno koristeći UAProf, i pruža i beskonekcijske

(nepotvrđeni push) i konekcijski orijentirane push (potvrđeni i nepotvrđeni push) usluge.

Protokolna varijanta OTA-HTTP koristi HTTP za OTA komunikaciju između PPG-a i

klijenta i stoga je primarno korištena u zajednici s IP nosiocima. HTTP varijanta pruža jedino

konekcijski orijentirani push. Push sadržaj se isporučuje putem metode HTTP POST,

implicirajući da se PPG ponaša kao HTTP klijent, a WAP klijent kao HTTP poslužitelj. Da bi

se izbjegla zabuna, WAP klijent se stoga naziva terminalom kad se raspravlja o OTA-HTTP-

u.

Push OTA definira dvije metode za uspostavljanje aktivne TCP (engl. Transmission Control

Protocol) konekcije. Metode su PO-TCP (PPG Originated TCP) i TO-TCP (Terminal

Originated TCP). PO-TCP omogućuje uspostavljanje aktivne TCP konekcije kada je

prijenosna veza aktivna (ili može biti aktivirana od strane PPG-a) i kada je IP (Internet

Protocol) adresa terminala poznata PPG-u. TO-TCP metoda se bavi drugim slučajevima i

obično se koristi u kombinaciji sa SIR (engl. Session Initiation Request) mehanizmom .

Koristeći koncept (dugotrajnih) sjednica, OTA-WSP pruža načine na koje klijent može

priopćiti svoje mogućnosti PPG-u. U OTA-HTTP-u terminal se registrira kod PPG-a kako bi

ostvario sličnu funkcionalnost. To se ostvaruje tako da PPG šalje terminalu zahtjev HTTP

OPTIONS gdje terminal u odgovoru šalje CPI (Capability and Preference Information) tj.

informacije o mogućnostima i postavkama. Postoji i mehanizam koji sprječava slanje te

informacije kada je ona već poznata PPG-u kako bi se poboljšala efikasnost OTA-e. OTA

HTTP također pruža načine za identifikaciju i moguću autentifikaciju terminala i PPG-a.

Neovisno o tome koristi li se OTA-WSP ili OTA-HTTP, često je potrebno da klijent inicira

komunikaciju. SIA (engl. Session Initiation Application) je aplikacija za pokretanje sjednice i

nalazi se na strani klijenta, a namijenjena je upravo u svrhu iniciranja komunikacije od

klijenta. SIA osluškuje i čeka SIR od PPG-a, a odgovara aktivacijom odgovarajućeg nosioca i

kontaktiranjem željenog PPG-a.

Kad se koristi OTA-WSP, uvijek je na klijentu da preuzme inicijativu uspostavljanja WSP

sjednice. PPG šalje SIR klijentu kad želi uspostaviti WSP sjednicu za push. Nakon što klijent

Page 12: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

8

primi SIR, on aktivira nosioca specificiranog u SIR-u i uspostavlja WSP sesiju prema

naznačenom PPG-u preko tog nosioca.

SIR mehanizam se koristi i zajedno s OTA-HTTP-om, naročito onda kad IP adresa klijenta

nije poznata PPG-u i/ili kad PPG ne može aktivirati željenog nosioca. U tom slučaju SIR

upućuje klijenta da aktivira određenog nosioca i uspostavi aktivnu TCP vezu prema PPG-u

naznačenom u SIR-u (koristeći TO-TCP metodu).

SIR se obično šalje klijentu korištenjem beskonekcijskog push-a (podržanog od OTA-WSP)

koji je neovisan o tome da li će klijent koristiti OTA-WSP ili OTA-HTTP kad poslije

kontaktira PPG. Pažnja je naročito posvećena tome da SIR bude dovoljno kompaktan kako bi

stao unutar jedne SMS poruke u normalnom slučaju jer SMS pruža načine na koje se može

koristiti dobro poznata adresa klijenta (MSIDSN – Mobile Station International Subscriber

Directory Number) i sigurnost na transportnom sloju.

2.1. Vrste podataka za Push OTA-u

Okosnica WAP push dopušta prijenos bilo koje MIME (engl. Multipurpose Internet Mail

Extensions) vrste podataka između PI-a i klijenta. Vrste podataka opisane u ovom dijelu su

stvorene kako bi se dodale mogućnosti koje nisu već omogućene od postojećih MIME vrsta

podataka. Kako bi se zadovoljile potrebe određenih aplikacija (npr. MMS, WTA, pružanje

usluga), druge vrste podataka sa posebnom push semantikom su definirane od strane WAP-a.

Vrsta podataka SI (Service Indication) pruža mogućnost slanja obavijesti krajnjim

korisnicima asinkronim putem. Takve obavijesti mogu biti, naprimjer, primitak novog e-mail-

a, promjena cijena dionica, novinski naslovi, oglasi, podsjetnici itd. U najosnovnijem obliku,

SI sadrži kratku poruku i URI koji označava uslugu. Poruka se prezentira korisniku po

primitku i korisniku se daje na odabir da uslugu naznačenu URI-jem odmah aktivira ili da

odgodi odluku o SI za kasnije. Ako se SI odgodi, klijent ga pohranjuje i krajnjem korisniku se

daje mogućnost da djeluje na njega kasnije.

Vrsta podataka SL (Service Loading), za razliku od SI, ne uključuje nikakvo uplitanje

korisnika. SL sadrži URI koji pokazuje na neki sadržaj kojeg klijent preuzima bez odobrenja

Page 13: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

9

krajnjeg korisnika, i uputu da li sadržaj treba pokrenuti, obraditi ili spremiti u priručnu

memoriju (engl. cache). Ako sadržaj treba pokrenuti ili obraditi, PI može odrediti određenu

razinu uplitanja od strane korisnika.

Vrsta podataka CO (Cache Operation) pruža načine poništavanja određenih objekata ili svih

objekata koji dijele isti URI prefiks u klijentskoj cache memoriji. Ova mogućnost je korisna u

situacijama kada se ne može odrediti istek vrijednosti sadržaja u cache memoriji i kad se

sadržaj mijenja češće nego što mu korisnik pristupa.

Page 14: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

10

3. OTA unutar J2ME okruženja

Kao što smo već ranije spomenuli, tehnologija OTA unutar J2ME okruženja temelji se na

specifikaciji MIDP 2.0 koja definira mehanizme i daje sučelja za podršku over-the-air

pružanja usluga. Isto tako, kad govorimo o pružanju usluge OTA-om u J2ME okruženju

najčešće mislimo na pronalazak i preuzimanje željenih J2ME aplikacija tj. MIDlet-a, kako ih

inače nazivamo u ovom okruženju. U prvom smo poglavlju već prikazali jednostavni prikaz

arhitekture OTA koja omogućava pružanje usluga OTA-om, a sad ćemo malo detaljnije

pogledati tu arhitekturu i njene dijelove.

3.1. Arhitektura pružanja usluga

Sustav za pružanje usluga OTA-om obično obuhvaća objavljivanje i upravljanje sadržajem,

instalaciju i ažuriranje aplikacija te praćenje uporabe aplikacija (sadržaja) u svrhu naplate. Na

slici (Sl. 3.1) možemo vidjeti te funkcijske dijelove.

Sl. 3.1 Detaljni prikaz arhitekture OTA

Page 15: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

11

Kao što vidimo, procesi u pozadini su više uključeni, nego što to korisnik vidi pa tako

uočavamo:

• upravljanje sadržajem (engl. Content Management) – Ovo je software na

poslužiteljskoj strani koji upravlja spremnikom, obično bazom podataka, i podržava

razvrstavanje sadržaja, načine na koje treća strana može dodati svoje aplikacije itd.

Neki operateri zahtijevaju da aplikacije budu certificirane prije nego što budu

dostupne za OTA-u.

• otkrivanje sadržaja (engl. Content Discovery) – Kao što smo već vidjeli, korisnik

upućuje DA na poslužitelj za pružanje usluge koji pristupa spremniku aplikacija i

omogućava pravilno oblikovane izbornike raspoloživih aplikacija i sadržaja.

• autentifikaciju – Ako poslužitelj za pružanje usluge podržava autentifikacijski modul,

korisnik se autentificira prije nego što dobije pristup spremniku.

• preuzimanje aplikacije i instalaciju – Jednom kad je autentifikacija završena,

počinje preuzimanje sadržaja koje se izvodi u dva dijela i kojim upravlja sustav za

upravljanje aplikacijama (engl. Application Management System, skraćeno AMS) tj.

software u pokretnom uređaju koji upravlja preuzimanjem sadržaja, izvršavanjem i

brisanjem aplikacija te ostalim resursima unutar uređaja. Ako postoji opisnik

aplikacije u obliku Java opisnika aplikacije (engl. Java Application Descriptor,

skraćeno JAD), AMS ga preuzima iz spremnika poslužitelja za pružanje usluga. Na

osnovi informacije pronađene iz preuzetog opisnika, AMS automatski preuzima

aplikaciju (MIDlet suite JAR dokument) iz spremnika. Ako je potrebno, korisnik se

ponovno autentificira. Ako je aplikacija uspješno prenesena, automatski se instalira.

• potvrda – AMS šalje potvrdu o statusu kako bi naznačio je li prijenos uspio ili nije.

• praćenje – Potvrda o statusu može se koristiti za praćenje korištenja aplikacije,

naprimjer u svrhu naplate. Sustav naplate je obično integriran unutar poslužitelja za

pružanje usluge.

Kao dodatak osnovnim obilježjima opisanim gore, neki OTA poslužitelji za pružanje usluga

pružaju slijedeće funkcionalnosti:

• personalizaciju – mogućnost ponude određenih aplikacija ovisno o postavkama

svakog korisnika,

• klasifikaciju temeljenu na uređajima – ponuda se ograničava samo na one

aplikacije koje se mogu izvoditi na korisnikovom uređaju,

Page 16: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

12

• sigurnost – stroga autentifikacija korisnika i kontrola pristupa,

• upozorenja – obavijesti korisnicima da postoje nove aplikacije koje zadovoljavaju

njihove postavke.

3.2. Profil pokretnog informacijskog uređaja

Profil pokretnog informacijskog uređaja (engl. Mobile Information Device Profile, skraćeno

MIDP) je ključni element J2ME platforme. U kombinaciji s CLDC-om (Connected Limited

Device Configuration), MIDP pruža standardnu Java izvršnu okolinu za današnje

najpopularnije pokretne informacijske uređaje, kao naprimjer pokretne telefone i osobne

digitalne pomoćnike (engl. Personal Digital Assistant, skraćeno PDA). Specifikacija MIDP,

definirana kroz JCP (Java Community Process), definira platformu za dinamičku i sigurnu

isporuku optimiziranih, grafičkih, mrežnih aplikacija. CLDC i MIDP pružaju jezgrenu

aplikacijsku funkcionalnost zahtjevanu od pokretnih aplikacija u obliku standardizirane Java

izvršne okoline i bogatog skupa Java API-ja (Application Program Interface) kako bi se

omogućila otvorena okolina za razvoj aplikacija od treće strane za pokretne informacijske

uređaje (engl. Mobile Information Device, skraćeno MID). Ljudi koji razvijaju aplikacije ne

moraju ih pisati više puta za razne uređaje, već ih napišu jednom i brzo ih isporučuju širokoj

lepezi različitih pokretnih uređaja. MIDP je stoga široko prihvaćena platforma za pokretne

aplikacije.

Dosad su objavljene dvije verzije MIDP-a, to su MIDP 1.0 i MIDP 2.0. MIDP 1.0 je

originalna specifikacija koja pruža jezgrenu aplikacijsku funkcionalnost za pokretne

aplikacije, uključujući osnovno korisničko sučelje i mrežnu sigurnost. MIDP 2.0 je revidirana

verzija specifikacije MIDP 1.0. Nove mogućnosti uključuju poboljšano korisničko sučelje,

proširenu povezivost, višemedijsku i zabavnu (igre) funkcionalnost, pružanje usluga OTA, i

sigurnost s kraja na kraj. MIDP 2.0 je kompatibilan s MIDP 1.0 i također je usmjeren na

uređaje kao što su pokretni telefoni i PDA-ovi.

Pokretni informacijski uređaji, MID-ovi, obuhvaćaju potencijalno jako široki skup

mogućnosti. Umjesto da se pokušaju uhvatiti u koštac sa svim tim mogućnostima, razvojni

tim za MIDP je odlučio ograničiti skup API-ja samo na one iz onih funkcijskih skupina za

Page 17: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

13

koje se smatra kako predstavljaju apsolutnu nužnost kako bi se ostvarila široka portabilnost i

uspješna isporuka [2]. Ovo uključuje:

• isporuku i naplatu aplikacija

• životni ciklus aplikacije

• model za verificiranje aplikacije i sigurnosni model za privilegirane domene

• transakcijsku sigurnost s kraja na kraj (HTTPS)

• MIDlet push registraciju

• mrežnu povezanost

• trajnu pohranu

• zvuk

• mjerače vremena (engl. timer)

• korisničko sučelje

3.2.1. Arhitektura visoke razine i MIDP

Pogledajmo arhitekturu visoke razine, prikazanu na slici (Sl. 3.2), i gdje se MIDP nalazi

unutar nje. Prije nego objasnimo pojedine dijelove arhitekture, treba napomenuti kako neće

svi uređaji koji implementiraju specifikaciju MIDP imati sve elemente prikazane na ovoj slici,

niti će njihova programska podrška biti ovako posložena po slojevima.

Sl. 3.2 Prikaz arhitekture visoke razine

Page 18: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

14

U arhitekturi visoke razine, blok na najnižoj razini (MID) predstavlja sklopovlje (engl.

hardware) pokretnog informacijskog uređaja. Iznad tog hardware-a nalazi se sistemski

software uređaja i to je sloj u kojem se nalaze njegove biblioteke i operacijski sustav. Na

sljedećoj razini, gledajući slijeva nadesno, nalazi se CLDC. Ovaj blok predstavlja virtualni

stroj (engl. Virtual Machine, skraćeno VM) tj. virtualni stroj i pripadne povezne biblioteke

definirane CLDC specifikacijom te također pruža podslojnu Java funkcionalnost na koju se

mogu nadograđivati Java API-ji više razine.

Dvije kategorije API-ja su prikazane iznad CLDC-a:

• MIDP API-ji - skup API-ja definiran specifikacijom MIDP i

• API-ji specifični za OEM (engl. Original Equipment Manufacturer) tj.

proizvođača - moguće je da ove aplikacije nisu prenosive na druge MID-ove.

Blokovi na najvišoj razini predstavljaju tipove aplikacija koje su moguće na MID-u. Tako

imamo sljedeće tipove aplikacija:

• MIDP aplikacije – Ove aplikacije se zapravo već spomenuti MIDleti i koriste API-je

definirane specifikacijama MIDP i CLDC. Ova vrsta aplikacije je u središtu

specifikacije MIDP i očekuje se da bude najčešća vrsta aplikacije na MID-u.

• Aplikacije specifične za OEM – Ove aplikacije ovise o klasama koje nisu dio

specifikacije MIDP i nisu prenosive između MID-ova.

• Aplikacije uređaja – Ove aplikacije nisu napisane u Javi i izgrađene su iznad

postojećeg MID-ovog sistemskog software-a.

3.2.2. Zahtjevi za pokretne informacijske uređaje

Zahtjevi koje ćemo ovdje navesti su zapravo dodatni zahtjevi uz one koji su već navedeni u

specifikaciji CLDC. Na visokoj razini, MIDP specifikacija pretpostavlja da je MID ograničen

u jačini procesora, memoriji, povezivosti i veličini prikaza.

Zahtjevi koji se odnose na hardware su:

Prikaz:

• Veličina ekrana: 96 x 54

• Dubina prikaza: 1 bit

• Oblik pixela: omjer otprilike 1:1

Page 19: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

15

Unos:

• Jedan ili više sljedećih mehanizama: jednoručna tipkovnica, dvoručna tipkovnica ili

ekran na dodir

Memorija:

• 256 KB postojane memorije za MIDP implementaciju, više nego što je zahtjevano

CLDC-om

• 8 KB postojane memorije za perzistentne podatke kreirane od aplikacije

• 128 KB nepostojane memorije za Java izvršnu okolinu

Mrežna povezivost:

• Dvosmjerna, bežična, po mogućnosti nekontinuirana, s ograničenom brzinom

Zvuk:

• Mogućnost reprodukcije tonova, ili preko dodijeljenog hardware-a, ili preko

programskog algoritma

Zahtjevi koji se odnose na software su:

• Minimalna jezgra (engl. kernel) za upravljanje hardware-om (npr. rad s prekidima,

iznimkama itd.)

• Mehanizam za čitanje i pisanje u postojanu memoriju kako bi se zadovoljili zahtjevi

RMS (engl. Record Management System) API-ja za trajnu pohranu

• Pristup za čitanje i pisanje bežičnoj mrežnoj komponenti uređaja kao podrška za

mrežne API-je

• Mehanizam koji će pružiti temelj za uporabu vremena u vremenskom označavanju

podataka upisanih u spremnik podataka (engl. Record Storage) i za API-je koji se

odnose na timer-e.

• Minimalnu sposobnost pisanja na bit-mapirani grafički prikaz

• Mehanizam za registriranje korisničkog unosa iz jednog (ili više) od 3 ulazna

mehanizma spomenuta ranije

• Mehanizam za upravljanje životnim ciklusom aplikacije

Konačne implementacije uređaja koje su kompatibilne s specifikacijom MIDP moraju

zadovoljavati niz zahtjeva koje mi sad nećemo sve nabrajati, već ćemo samo navesti neke od

njih koje su najzanimljivije. Dakle, MIDP uređaji moraju:

• podržavati MIDP 1.0 i MIDP 2.0 MIDlete i skupine MIDleta (MIDlet Suites)

Page 20: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

16

• sadržavati sve pakete, klase i sučelja definirana u MIDP-u

• implementirati pružanje usluga OTA-om na zahtjev korisnika

• pružiti podršku za pristup HTTP 1.1 poslužiteljima i uslugama, bilo direktno, bilo

preko spojnog pristupa

• podržavati generiranje tonova u medijskom paketu

• podržavati SP-MIDI (Scalable Polyphony MIDI)

• podržavati bar UTF-8 kodiranje znakova za API-je koji dozvoljavaju aplikacijama

definiranje kodiranja znakova

3.3. OTA unutar specifikacije MIDP 2.0

Specifikacija MIDP OTA definira kako MIDP uređaji surađuju s poslužiteljima za pružanje

usluga, uključujući i to kako preuzimaju (engl. download) aplikacije. Ona definira OTA

proces pokrenut od korisnika, a ne mehanizam push OTA koji pokreće poslužitelj. OTA je u

specifikaciji MIDP 1.0 bila samo preporučena praksa, a u MIDP 2.0 ona je unaprijeđena i

postala je obavezna. S obzirom da je sada dio standarda, sve slijedeće verzije MIDP-a će

podržavati OTA-u na konzistentan i standardan način. Dvije verzije OTA-e su vrlo slične, ali

postoje neke razlike, kao naprimjer novo svojstvo JAD-a koje koristi AMS kako bi izvjestio

da je MIDlet suite obrisan ili striktnije provjeravanje kod ažuriranja MIDlet-a. Korištenje

cookie-sa je također zamijenjeno ponovnim pisanjem URL-a.

Specifikacija MIDP OTA se može podijeliti na sljedeća područja interesa:

• očekivanu funkcionalnost uređaja (kao podrška za OTA-u)

• životni ciklus OTA aplikacije

• promjene u JAD-u za podršku OTA-i

• međusobnu suradnju između AMS-a i poslužitelja za pružanje usluga

3.3.1. Očekivana funkcionalnost uređaja

Kako bi mogao podržavati OTA-u, uređaj kompatibilan s MIDP-om mora biti sposoban za:

• Pregledavanje sadržaja ili neki drugi način lociranja opisnika MIDlet suite aplikacija u

mreži

Page 21: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

17

• Prijenos MIDlet suite-a i njegovog pripadnog aplikacijskog opisnika (engl.

Application Descriptor, skraćeno AD) od poslužitelja do pokretnog uređaja koristeći

HTTP 1.1 ili drugi protokol sjednice koji implementira funkcionalnost HTTP 1.1

• Odgovaranje na odgovore 401 (Unauthorized) i 407 (Proxy Authentication Required),

primljene nakon HTTP zahtjeva, tako što će od korisnika zatražiti korisničko ime i

lozinku i ponovno poslati HTTP zahtjev s uključenim podacima za provjeru identiteta

• Instaliranje MIDlet suite-a na uređaj

• Pozivanje MIDlet-a

• Dopuštanje korisniku da obriše MIDlet suite koji je pohranjen na njegovom uređaju.

Samo jedan MIDlet ne može se obrisati jer je jedinica prijenosa MIDlet suite.

3.3.2. Životni ciklus pružanja usluge

Na slici (Sl. 3.3) je prikazan kompletni životni ciklus OTA aplikacije. Uočavamo da se

životni ciklus sastoji od 5 dijelova. To su otkrivanje aplikacije, preuzimanje aplikacije i

instalacija, pokretanje aplikacije, ažuriranje aplikacije i brisanje aplikacije.

Sl. 3.3 Životni ciklus OTA aplikacije

Sve počinje kad korisnik da naredbu pokretnom uređaju, koristeći DA, da traži željenu

aplikaciju na određenom portalu za pružanje usluga u mreži. Nakon što pronađe aplikaciju,

korisnik je odabire za preuzimanje i instalaciju. Nakon uspješne instalacije, aplikacija se može

pokrenuti, ažurirati ili obrisati s uređaja. Svim ovim koracima upravlja AMS.

Page 22: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

18

3.3.3. Otkrivanje i odabir aplikacije

Kao što je već rečeno, otkrivanje aplikacije je proces u kojem korisnik locira MIDlet suite

koristeći svoj uređaj. Otkrivanje aplikacije pokrenuto od korisnika i instalacija MIDlet suite-a

mora biti podržana na slijedeći način:

• Za vrijeme korištenja DA, korisniku se nudi veza (engl. link) na MIDlet suite ili na

opisnik aplikacije

• Korisnik odabire jedan od ponuđenih link-ova kako bi pokrenuo proces instalacije

• Ako postoji opisnik aplikacije, on se prvi prenosi na uređaj. Ovaj opisnik sadrži

informaciju o MIDlet suite-u i može ga koristiti AMS od uređaja u svrhu pokretanja

instalacije

• Ako ne postoji opisnik aplikacije, ili nakon što je AMS preuzeo opisnik aplikacije i

zaključio da instalaciju treba nastaviti, započinje preuzimanje MIDlet suite JAR (Java

ARchive) datoteke

Kad govorimo o aplikaciji za otkrivanje sadržaja tj. DA, mislimo prvenstveno na dva moguća

rješenja. U prvom slučaju radi se o najobičnijem web pregledniku za pokretne uređaje koji

učitava HTML ili WAP stranice na kojima su ponuđeni link-ovi na aplikacije, a u drugom

slučaju radi se o aplikaciji unutar samog uređaja koja se spaja na određeni mrežni resurs i

prezentira ponuđene aplikacije na određeni način. U ovom drugom slučaju, često se radi o već

ugrađenim aplikacijama od strane operatera.

Koristeći DA, korisnik bi trebao biti u mogućnosti pristupiti mrežnoj lokaciji i vidjeti opis

MIDlet suite-a kao i link, koji kad se odabere, pokreće instalaciju odabranog MIDlet suite-a.

Ako link pokazuje na JAR datoteku, JAR datoteka i njen jedinstveni identifikator resursa

(engl. Uniform Resource Locator, skraćeno URL) se proslijeđuju AMS-u na uređaju kako bi

on započeo proces instalacije. Ako link pokazuje na opisnik aplikacije, onda:

1. Nakon što je link odabran, poslužitelj mora naznačiti u odgovoru da je podatak koji se

prenosi MIME (Multipurpose Internet Mail Extensions) tip "text/vnd.sun.j2me.app-

descriptor".

2. Nakon što je prijenos završen, opisnik aplikacije i njen URL se proslijeđuju AMS-u na

uređaju kako bi započeo proces instalacije. AMS koristi opisnik aplikacije kako bi

odredio da li odabrani MIDlet suite može biti uspješno instaliran i pokrenut na

Page 23: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

19

uređaju. Ako to nije slučaj, korisnik mora biti obaviješten o razlozima koji sprječavaju

njegovu instalaciju. Korisnik bi trebao biti što prije informiran o neuobičajenim

uvjetima kako bi se smanjio gubitak vremena i korištenje mrežnih resursa.

3. Opisnik aplikacije mora biti konvertiran iz svog prijenosnog oblika u Unicode oblik,

koji je specificiran MIDP-om, prije nego što ga se može korisiti. Predefinirani skup

znakova za MIME tip "text/vnd.sun.j2me.app-descriptor" je "UTF-8". Atributi u

opisniku moraju biti oblikovani na način propisan specifikacijom MIDP i svi atributi

zahtijevani istom specifikacijom moraju biti prisutni u opisniku. Ako to nije slučaj,

klijent mora odgovoriti sa Status Code 906 u izvještaju o statusu.

4. Koristeći informaciju iz opisnika aplikacije koja uključuje ime proizvođača, ime

aplikacije, verziju i veličinu, korisniku se treba dati na odabir da potvrdi želi li

instalirati taj MIDlet suite. Korisnik bi trebao biti upozoren u situaciji kad pokušava

instalirati stariju verziju aplikacije ili pak istu verziju. Isto tako, trebalo bi ustvrditi

moguće razloge koji bi sprječili uspješnu instalaciju i pokretanje MIDlet suite-a te o

tome obavijestiti korisnika. Naprimjer, ako se zna da je na raspolaganju nedovoljna

količina memorije, program bi trebao pomoći korisniku u pregledu korištenja i

oslobađanju dovoljne količine memorije za instalaciju novog MIDlet suite-a.

Proces otkrivanja MIDlet suite-a korištenjem DA može biti prilagođen od strane pokretnog

uređaja tako da pokretni uređaj pošalje poslužitelju informacije o sebi. DA mora pružiti

mrežnom poslužitelju informacije kako bi poslužitelj mogao doznati podatke o mogućnostima

pokretnog uređaja. Za vrijeme preuzimanja MIDlet suite-a, pokretni uređaj bi trebao pružiti

poslužitelju što je više moguće podataka o svojim karakteristikama i tipu sadržaja koji želi.

HTTP zahtjev u kojem se dohvaća željeni sadržaj mora sadržavati zaglavlja User-Agent,

Accept-Language i Accept, a poslužitelji bi trebali iskoristiti ovu dodatnu informaciju kako bi

odabrali prikladni opisnik aplikacije za uređaj.

3.3.4. Instalacija aplikacije

Instalacija aplikacije je proces u kojem uređaj preuzima MIDlet suite i čini ga raspoloživim

korisniku. Naravno, instalacija aplikacije mora biti podržana od strane uređaja. Mreža u kojoj

se nalazi uređaj, kao i bilo koji proxy ili izvorni poslužitelj koji se koriste tokom pružanja

Page 24: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

20

usluge, moraju moći podržati ovaj zahtjev. Korisnik zadržava kontrolu resursa koje koristi

MIDlet suite u uređaju i mora biti u mogućnosti instalirati ili izbrisati MIDlet suite. Isto tako,

uređaj mora korisniku omogućiti pokretanje MIDlet-a unutar MIDlet suite-a. Tijekom

instalacije, korisnik bi trebao biti obaviješten o njenom napredovanju i mora mu biti

omogućeno da je prekine. Prekidanje instalacije mora ostaviti uređaj u stanju u kakvom je bio

prije nego je instalacija počela. Ako je MIDlet suite već instaliran, onda se ovo treba tretirati

kao ažuriranje o kojem ćemo govoriti nešto kasnije. Kako bi obavio instalaciju MIDlet suite-

a, AMS obavlja sljedeći niz koraka i provjera te obavještava korisnika o napretku:

1. Uređaj pokreće preuzimanje MIDlet suite-a preko HTTP-a. Ako je prvo bio preuzet

opisnik aplikacije, zahtjev za MIDlet suite-om mora biti točno za onaj URL definiran u

opisniku.

2. Ako poslužitelj ili proxy odgovori na zahtjev za MIDlet suite-om s 401(Unauthorized)

ili 407(Authentication Required), uređaj bi trebao ponovno poslati zahtjev s podacima

za utvrđivanje identiteta u zaglavljima Authorization ili Proxy-Authorization. Ove

podatke treba dati korisnik, naprimjer putem dijaloga korisniku za unos korisničkog

imena i lozinke. Uređaj mora moći podržati barem osnovnu autentifikacijsku shemu

definiranu RFC-om (engl. Request For Comment) 2617.

3. MIDlet suite i zaglavlja se moraju provjeriti kako bi se ustanovilo da je preuzeti

MIDlet suite valjan i da ga se može instalirati na uređaj. Ako je došlo do nekih

problema koji sprječavaju instalaciju, korisnik o tome mora biti obaviješten i

odgovarajuća statusna poruka iz skupa – 901, 903, 904, 905, 907, 909, 910, 911 –

mora biti poslana nazad poslužitelju. U tablici (Tablica 3.1) vidimo skup svih mogućih

statusnih poruka i što one znače.

Tablica 3.1 Statusne poruke za OTA-u

Statusni kod Statusna poruka

900 Uspješno

901 Nedovoljna količina memorije

902 Otkazano od strane korisnika

903 Gubitak usluge

904 Pogrešna veličina JAR datoteke

905 Pogrešne vrijednosti atributa

906 Pogrešni opisnik

Page 25: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

21

907 Pogrešna JAR datoteka

908 Nekompatibilna konfiguracija ili profil

909 Neuspješna autentifikacija aplikacije

910 Neuspješna autorizacija aplikacije

911 Neuspješna registracija za push

912 Obavijest o brisanju

4. Ako nije došlo do nikakvih problema pri instalaciji, MIDlet suite se instalira i stavlja

na raspolaganje korisniku koji ga onda može pokrenuti odabirom u selekcijskom

mehanizmu za MIDlet-e koji se nalazi u uređaju. Instalacija je završena kada je

MIDlet suite na raspolaganju unutar uređaja ili kad je došlo do neoporavljive

pogreške. U bilo kojem slučaju, status mora biti prijavljen kako je već ranije rečeno.

3.3.5. Ažuriranje aplikacije

Ažuriranje MIDlet suite aplikacije definirano je kao operacija instaliranja određenog MIDlet

suite-a kada je taj isti MIDlet suite (ista verzija ili neka druga) već instaliran na uređaju.

Uređaji moraju podržavati ažuriranje MIDlet suite-a. Kako bi operacija bila logična korisniku,

uređaj omogućuje korisniku da sazna informaciju o MIDlet suite-u na uređaju i odluči koja

verzija programa je instalirana. Kada je ažuriranje pokrenuto, uređaj obavještava korisnika da

li je MIDlet suite novija, starija ili ista verzija postojećeg MIDlet suite-a i dobija potvrdu od

korisnika prije nego što nastavi dalje. RMS (Record Management System) tj. sustav za

upravljanje podacima smještenim u perzistentnoj memoriji, na slijedeći način upravlja

podatkovnim zapisima o MIDlet suite aplikaciji koja se ažurira:

• Ako je digitalni potpisnik novog MIDlet suite-a i originalnog MIDlet suite-a identičan,

onda RMS zapis mora biti zadržan i stavljen na raspolaganje novom MIDlet suite-u.

• Ako su shema, domaćin i put URL-a s kojeg je preuzet novi opisnik aplikacije

identični shemi, domaćinu i putu URL-a s kojeg je preuzet originalni opisnik

aplikacije, onda RMS zapis mora biti zadržan i stavljen na raspolaganje novom

MIDlet suite-u.

Page 26: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

22

• Ako su shema, domaćin i put URL-a s kojeg je preuzet novi MIDlet suite identični

shemi, domaćinu i putu URL-a s kojeg je preuzet originalni MIDlet suite, onda RMS

zapis mora biti zadržan i stavljen na raspolaganje novom MIDlet suite-u.

• Ako su gornje tvrdnje netočne, onda uređaj mora upitati korisnika da li da zadrži

podatke originalnog MIDlet suite-a i da li da ih stavi na raspolaganje novom MIDlet

suite-u

U svakom slučaju, ne smije se dozvoliti nepotpisanom MIDletu da ažurira potpisani MIDlet

suite. Dozvole koje su bile dane od korisnika originalnom MIDlet suite-u bi isto trebale biti

dane i novom MIDlet suite-u, ako su u sigurnosnoj domeni novog MIDlet suite-a.

3.3.6. Izvršavanje aplikacije

Kada korisnik odabere MIDlet za izvršavanje, uređaj mora pozvati MIDlet zajedno s CLDC i

MIDP klasama zahtijevanim u specifikaciji MIDP. Ako je prisutno više MIDleta, korisničko

sučelje mora dopustiti korisniku mogućnost odabira za izvršavanje svakog posebno.

3.3.7. Brisanje aplikacije

Uređaji moraju dopustiti uklanjanje MIDlet suite-ova korisniku. Kada se MIDlet suite treba

obrisati s uređaja, korisnika bi trebalo upitati za potvrdu. Uređaj bi također trebao upozoriti na

bilo kakve specijalne okolnosti koje mogu proizaći brisanjem MIDlet suite-a. Ako opisnik

aplikacije uključuje atribut MIDlet-Delete-Confirm, njegova vrijednost bi trebala biti

uključena u zahtjev. Ovo će omogućiti autoru MIDlet suite-a da naznači bilo kakve specijalne

uvjete koji mogu nastati kao rezultat brisanja aplikacije. Nakon brisanja aplikacije, AMS šalje

poslužitelju statusni kod 912.

3.3.8. Promjene u JAD-u za podršku OTA-i

U Java Application Descriptoru treba napraviti neke promjene kako bi mogao podržavati

pružanje usluga koristeći OTA-u. Četiri atributa u JAD-u koji se odnose na OTA-u su:

• MIDlet-Jar-URL – Ovaj atribut sadrži URL na kojem se nalazi MIDlet suite (JAR

dokument).

Page 27: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

23

• MIDlet-Install-Notify – Ovaj atribut sadrži URL na koji se šalje POST zahtjev u kojem

se izvještava o statusu instalacije (ili ažuriranja) MIDlet suite-a. Uređaj mora koristiti

ovaj URL bez ikakvih promjena i on ne smije biti duži od 256 UTF-8 kodiranih

znakova. Ako uređaj primi URL duži od 256 UTF-8 kodiranih znakova, mora odbiti

instalaciju i vratiti poslužitelju Status Code 906.

• MIDlet-Delete-Notify – Ovaj atribut sadrži URL na koji se šalje POST zahtjev kako bi

se moglo izvjestiti o brisanju MIDlet suite-a. Uređaj mora koristiti ovaj URL bez

ikakvih promjena i on ne smije biti duži od 256 UTF-8 kodiranih znakova. Ako uređaj

primi URL duži od 256 UTF-8 kodiranih znakova, mora odbiti instalaciju i vratiti

poslužitelju Status Code 906.

• MIDlet-Delete-Confirm – Ovaj atribut sadrži tekstualnu poruku koja se prikazuje

korisniku kad se od njega zahtijeva potvrda brisanja pripadnog MIDlet suite-a i time

upravlja AMS.

Ovi atributi dodani su jer je uspjeh ili neuspjeh instalacije, ažuriranja ili brisanja MIDlet suite-

a u interesu pružatelja usluge. Pružatelj usluge može specificirati URL-ove u opisniku

aplikacije koji moraju biti upotrijebljeni za izvještaj o instalaciji i brisanju. Ako uređaj ne

može poslati izvještaj o statusu instalacije, tražena akcija svejedno mora biti dovršena. Isto

tako, ako uređaj ne može poslati izvještaj o statusu brisanja aplikacije, brisanje MIDlet suite-a

svejedno mora biti dovršeno.

Status određene akcije se dojavljuje poslužitelju korištenjem metode HTTP POST na URL

specificiran u atributu MIDlet-Install-Notify ako se radi o instalaciji tj. na URL specificiran u

atributu MIDlet-Delete-Notify ako se radi o brisanju. Jedini protokol koji mora biti podržan je

"http://". Sadržaj tijela zahtjeva POST mora uključivati statusni kod i statusnu poruku u prvoj

liniji. U slučaju da se radi o izvještaju o brisanju aplikacije, obavijest se šalje tek kad je

MIDlet obrisan te mora biti poslan statusni kod 912 koji je signal da je došlo do uklanjanja

aplikacije s korisničkog uređaja. U odgovoru na statusni izvještaj, poslužitelj mora odgovoriti

odgovorom "200 OK". Uređaju natrag ne bi trebao biti poslan nikakav sadržaj, a ako je takav i

poslan, mora biti ignoriran.

Page 28: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

24

3.3.9. Međusobna suradnja između AMS-a i poslužitelja za

pružanje usluga

Ukratko ćemo prikazati suradnju između klijentskog uređaja i poslužitelja tijekom pružanja

usluge korištenjem OTA-e. Kao i u svakoj drugoj mrežnoj komunikaciji između dviju krajnjih

točaka, ovdje također postoji protokol koji definira skup pravila i dijaloga korištenih između

dva kraja komunikacije. U MIDP-u, protokol OTA se sastoji od HTTP zahtjeva i odgovora,

preuzimanja JAD i JAR datoteka, osnovne HTTP autentifikacije i izvještavanja o statusu. Ako

pretpostavimo da je vrijednost atributa MIDlet-Jar-URL jednaka

www.j2medeveloper.com/ota/demos.jad, onda je komunikacija između klijenta i poslužitelja u

procesu preuzimanja JAD i JAR datoteka jednaka onoj prikazanoj na slici (Sl. 3.4). Ako se

dogodi neka pogreška prilikom preuzimanja ili instalacije, AMS odgovara odgovarajućim

statusnim kodom.

Sl. 3.4 Međusobna suradnja AMS-a na klijentu i poslužitelja

Page 29: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

25

4. Lokacijske usluge i OTA

Lokacijskim uslugama (engl. Location Based Services, skraćeno LBS) nazivamo usluge koje

korisnicima pružaju određenu informaciju na temelju njihovog trenutnog položaja koristeći za

to neku od postojećih lokacijskih tehnologija za lociranje korisnika i bazu podataka iz koje se

dohvaćaju odgovarajući podaci. Podaci koji se isporučuju korisniku su povezani s njegovom

lokacijom te njegovim zahtjevima i korisnik do njih može doći koristeći push ili pull

komunikaciju. Lokacijske usluge i OTA su često povezane i isprepliću se. Tako, recimo,

aplikacija koju smo na svoj pokretni uređaj preuzeli i instalirali koristeći OTA-u za svoju

svrhu može imati upravo pružanje lokacijskih usluga. Može se reći da se skoro sve lokacijske

usluge odvijaju u stvarnom vremenu putem bežične komunikacije tj. over-the-air.

4.1. Vrste lokacijskih usluga

Lokacijske usluge imaju veliko područje primjene i kao takve nude operaterima i trećoj strani

mogućnost kreiranja i implementacije velikog broja potencijalnih usluga koje će im donijeti

dodatni prihod, a korisnicima poboljšati kvalitetu usluge [4]. U većini primjena lokacijske

usluge odgovaraju na jedno ili više od ova 3 pitanja:

• Gdje sam?

• Što je u mojoj blizini?

• Kako da dođem tamo?

Naravno, postoje i specifične primjene kao lokacijski orijentirano oglašavanje koje korisnika

push komunikacijom obavještava o nekoj trgovini, hotelu ili restoranu u blizini, a koje

zapravo ne uključuje interakciju korisnika već samo njegovo odobrenje za primanje takvog

sadržaja.

Lokacijske usluge se mogu podijeliti na 2 vrste kad promatramo komunikaciju s mrežom:

• push usluge – mrežno inicirana komunikacija

• pull usluge – korisnički inicirana komunikacija

Page 30: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

26

U push lokacijske usluge spadaju usluge kao:

• usluga pokretnog oglašavanja (engl. mobile advertisements)

• usluga upozorenja na gužve u prometu

• usluga upozorenja na pogoršanje vremena

U pull lokacijske usluge spadaju usluge kao:

• usluga pružanja cestovnih uputa

• usluga pokretnih "žutih stranica"

• usluga pomoći pri kupovini

• usluga lociranja i rezervacije za kina, kazališta, restorane i drugo

• informacijske usluge (vijesti, stanje na burzi, sportski rezultati, …)

• usluga pronalaska neke osobe

Općenito, lokacijske usluge možemo podijeliti u 4 grupe:

• okidne (engl. trigger) usluge

• informacijske usluge

• usluge praćenja treće strane

• usluge pružanja pomoći korisniku

4.1.1. Okidne usluge

Okidne usluge su automatski pokrenute kad korisnik uđe u neko prethodno definirano

područje. Iako su ove usluge dizajnirane da obuhvaćaju relativno velika područja, unatoč

tome zahtijevaju prilično dobru razinu preciznosti. Dva glavna tipa okidnih usluga su:

• Lokacijski zasnovana naplata – Pretplatnici mogu birati različiti broj zona, različitih

veličina, unutar kojih će bilo koji poziv biti naplaćen po jeftinijoj tarifi. Ova usluga se

temelji na pretpostavci da je većina korisničkih poziva najčešće uspostavljena sa samo

nekoliko lokacija. Zato je ova usluga izvedena da potakne korisnike na prebacivanje s

fiksnih na mobilne operatere.

• Usluge oglašavanja – Ovo uključuje usluge poput informacija za putnike koji su

upravo sletjeli na aerodrom i kojima treba informacija o taksi tvrtkama ili stanju

spajajućih letova. Isto tako, moguće je i slanje oglasa za koje korisnik ima interesa kad

Page 31: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

27

prolazi blizu određene trgovine s tim da, kako bi se izbjeglo nepotrebno ometanje,

korisnik prethodno odabere vrste informacija koje ga zanimaju.

4.1.2. Informacijske usluge

Ovaj tip usluga uključuje bilo koju primjenu gdje je informacija filtrirana i prenesena

korisniku na način da ovisi o njegovoj lokaciji. Razina preciznosti za ovakve usluge značajno

varira ovisno o tipu informacije pa je tako moguće ostvarivanje ovih usluga bilo kojom od

postojećih lokacijskih metoda. Primjeri ovakvih usluga su:

• Gdje sam/Gdje je...? – Korisniku treba informacija o nečemu u blizini ili mu treba

najbliži put do tražene destinacije.

• Promet i navigacija – Korisniku treba informacija, najčešće za vrijeme vožnje, o

prometnim gužvama, radovima na cesti ili o najboljem putu do određene destinacije.

• Razne usluge – Postoji mnogo mogućih dodatnih informacijskih usluga kao

regionalni izvještaji o vremenu ili informacije o turističkim atrakcijama.

• Lokacijski zasnovane igre – Ovo je kombinacija informacijske usluge i usluge

praćenja.

4.1.3. Usluge praćenja treće strane

Ove usluge, gdje je potrebna informacija o lokaciji treće strane, uključuju i poslovnu i osobnu

primjenu. Preciznost ovog tipa usluga često mora biti prilično visoka s obzirom da je korisnik

obično u pokretu. Tri glavna tipa ovih usluga su:

• Upravljanje voznim parkom/Upravljanje radnom snagom – Ova usluga je

namijenjena za poslovni sektor, naročito za one tvrtke koje se bave prijevozom, taksi

uslugama, dostavom i slično, kako bi kontinuirano znale lokaciju svojih vozila i/ili

radnika.

• Praćenje vrijedne imovine – Ova usluga je namijenjena i privatnim i poslovnim

korisnicima kako bi mogli pratiti ili lako pronaći nešto njima vrijedno.

• Pronalaženje ljudi – Usluga namijenjena privatnim korisnicima koja bi, recimo,

mogla roditeljima omogućiti da znaju gdje im je dijete preko njegovog pokretnog

uređaja. Isto tako, korisnika se može obavijestiti, automatski ili na zahtjev, o lokaciji

nekog prijatelja u njegovoj blizini.

Page 32: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

28

• Lokacijski zasnovane igre – Ovo je zapravo već spomenuto u informacijskim

uslugama kao kombinacija njih i usluge praćenja.

4.1.4. Usluge pružanja pomoći korisniku

Ovo su usluge koje se ne koriste često, a osmišljene su kako bi korisniku pružile sigurnosnu

mrežu u slučaju da se nađu u nevolji. Dva glavna tipa ove vrste usluga su:

• Pomoć na cesti – Cilj ove usluge je dati lokaciju korisnika i ubrzati vrijeme odziva za

korisnike kojima se pokvarilo vozilo.

• Usluge vezane uz hitne službe – Ova usluga određuje lokaciju s koje dolazi poziv

policiji/vatrogascima/hitnoj pomoći kako bi se što više smanjilo vrijeme odziva tih

službi.

Ovakve usluge bi uskoro mogle pružiti veliki poticaj u korištenju lokacijskih usluga s

obzirom da bi države, u svrhu poboljšanja pružanja pomoći osobama u nevolji, mogle

propisati operaterima postizanje određene točnosti pri lociranju korisnika, a da korisnici ne

moraju za to mijenjati svoje pokretne uređaje, već da koriste postojeće. Veća preciznost

lociranja, koja bi tada bila omogućena korisnicima, omogućila bi im pristup i cijelom nizu

ostalih lokacijskih usluga te bi na taj način širenje lokacijskih usluga bilo znatno ubrzano.

4.2. Lokacijska tehnologija i lokacijske metode

Kako bi mogli ostvariti ranije navedene usluge, svaka od njih zahtijeva određenu preciznost u

određivanju lokacije korisnika kako bi se ostvarila prihvatljiva kvaliteta usluge. Zahtijevana

kvaliteta usluge, naravno, varira ovisno o tome o kojem se tipu usluge radi pa je tako logično

da će usluga pružanja cestovnih uputa zahtijevati puno veću kvalitetu od, recimo, usluge

pokretnog oglašavanja. Uzevši to obzir, očito je da će one usluge koje zahtijevaju veću

preciznost koristiti naprednije i preciznije metode lociranja korisnika, što znači i veću cijenu

za korisnika, dok će za one usluge kod kojih veća preciznost nije potrebna biti prihvatljive i

jednostavnije, ali i jeftinije metode. Zato ćemo se sada osvrnuti na tehnologiju i metode

lociranja korisnika te ih međusobno usporediti i analizirati koje su prikladne za različite vrste

usluga.

Page 33: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

29

Pod pojmom lokacije korisnika mislimo na mjesto na kojem je korisnik smješten u stvarnom

svijetu. Ta lokacija može biti izražena na više načina koristeći razne referentne okvire kao, za

primjer, apsolutne prostorne koordinate, opisne lokacije i relativne lokacije. Različiti načini

izražavanja lokacije će odrediti lokaciju objekta u određenoj točki, području ili regiji na ili u

blizini zemlje. Kada govorimo o lokaciji izraženoj u apsolutnim prostornim koordinatama

onda je važan odabir koordinatnog sustava koji se za to koristi. Tako je moguće koristiti

sustav zemljopisne širine, dužine i visine, geocentrični sustav ili univerzalni Mercatorov

koordinatni sustav. Nama je najzanimljiviji sustav zemljopisne širine, dužine i visine gdje su

širina i dužina izražene u stupnjevima, a visina u metrima iznad morske površine. Taj sustav

je i najrašireniji u današnje vrijeme kad je tolika preciznost potrebna za ostvarenje određene

usluge. Ipak, za dosta usluga ta razina preciznosti nije potrebna, već je često dovoljno znati

nalazi li se korisnik u nekom području ili zoni.

Na slici (Sl. 4.1) je prikazana okosnica visoke razine za lokacijske usluge koja sadrži četiri

kritične komponente.

Sl. 4.1 Vrijednosni lanac određivanja lokacije

Te komponente su:

• Lokacijska rješenja (engl. Positioning Solutions) – Ovo se odnosi na sredstva kojima

lociramo pokretni uređaj. Njihov je zadatak dohvatiti poziciju i pretvoriti je u smislenu

lokacijsku informaciju. Lokacijsko rješenje koristi razne lokacijske metode koje ćemo

naknadno opisati.

• Sadržaji i usluge (engl. Content Product and Services) – Ovaj dio se odnosi na skup

referentnih informacija za podršku lokacijski osjetljivih usluga, uključujući rad s

kartama, informacije o adresama, modele odabira puta, područja interesa i stvarno-

Page 34: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

30

vremenske informacije. Za ovo je potrebno prikupiti, objediniti, formatirati i

kontrolirati veliku količinu geografskih informacija. Važno je napomenuti da je ovo

kontinuirani proces čiji je cilj poboljšati potpunost, konzistentnost i točnost

informacija.

• Lokacijski zasnovane posredničke komponente (engl. Location Based Middleware

Components) – Ovaj pak dio pruža sučelje prema sustavima lokacijskog sadržaja i

naplate kako bi pružilo bogati API koji razvojnim timovima omogućava brzo i lagano

integriranje lokacijske osjetljivosti u usluge. Ova je komponenta glavna radionica

čitavog rješenja i bavi se velikim brojem kompleksnih zadaća koje uključuju:

geokodiranje, reverzno geokodiranje, istančano lociranje, prostorno pretraživanje,

generiranje cestovnih uputa i crtanje geografskih karata.

• Lokacijski zasnovana aplikacija – Ovo se odnosi na samu aplikaciju koja koristi

lokacijsku okosnicu kako bi pružila uslugu korisniku.

Sada ćemo se upoznati s glavnim metodama određivanja lokacije korisnika te mogućnostima

njihove primjene i njihove prikladnosti za određene tipove usluga.

4.2.1. Identifikacija ćelije

Identifikacija ćelije (Cell-ID) je metoda lociranja korisnika tj. pokretnog uređaja koja radi u

GSM (Global System for Mobile Communications), GPRS (General Packet Radio Service) i

WCDMA (Wideband Code Division Multiple Access) pokretnim mrežama. Ova metoda traži

od mreže da identificira s kojom baznom stanicom (engl. Base Transceiver Station, skraćeno

BTS) pokretni uređaj komunicira i na kojoj se lokaciji nalazi bazna stanica. Usluga lociranja

putem Cell-ID-a poistovjećuje lokaciju pokretnog telefona u GSM-u tj. korisničke opreme u

UMTS-u s lokacijom bazne stanice i prosljeđuje ovu informaciju aplikaciji koja pruža

lokacijsku uslugu. Cell-ID se koristio više u početku primjena lokalnih usluga kad visoka

razina preciznosti još nije bila toliko potrebna, a ni obavezna. Ipak, zbog svoje jednostavnosti,

lake implementacije i cijene još uvijek se može koristiti za usluge gdje veća preciznost nije

potrebna.

Ako uređaj koristimo za ostvarivanje poziva, onda će informacija o ćeliji u kojoj se uređaj

nalazi biti ažurirana i proslijeđena mreži u stvarnom vremenu. U drugom slučaju, kad je

uređaj u stanju mirovanja (uključen, ali ništa ne šalje), onda će zadnja lokacija s koje je uređaj

Page 35: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

31

nešto slao biti spremljena od strane mreže u domaći lokacijski registar (engl. Home Location

Register, skraćeno HLR). Kako bi mreža osvježila informaciju o lokaciji uređaja, ona će

dozvati uređaj tražeći od njega da nadgleda jačinu signala obližnjih baznih stanica i na taj

način će dobiti informaciju o njegovom Cell-ID-u.

Preciznost ove metode lociranja prvenstveno ovisi o veličini ćelije u kojoj se nalazi uređaj i u

puno slučajeva može biti dosta loša s obzirom da tipična GSM ćelija može promjeru imati

između 2 i 20 kilometara. Sa tzv. piko ćelijama može se postići preciznost i do 150m.

Korištenjem tehnika TA (Timing Advance) ili RX mjerenja (Signal Strength) može se podići

razina preciznosti.

Metoda Cell-ID + TA temelji se na principu da pokretni uređaj kad šalje podatke to čini nešto

prije njegovog dodijeljenog odsječka kako bi, zbog prostorne udaljenosti uređaja i bazne

stanice, podaci stigli do bazne stanice točno u trenutku početka njegovog odsječka. Ovo

vrijeme je vrlo važno za efikasno funkcioniranje GSM/GPRS mreže. S obzirom da je vrijeme

ovog uranjenog slanja za svaki uređaj ovisno o njegovoj udaljenosti od bazne stanice, moguće

je iskoristiti ovu informaciju za određivanje koliko daleko je korisnik od bazne stanice. Ipak,

postoji ograničenje, a to je da je ova metoda korisna u povećanju preciznosti samo za one

ćelije s radijusom većim od 550 metara zato što se prilagođavanje vremena slanja pokretnog

uređaja računa na osnovu toga koliko je puta po 550 metara pokretni uređaj udaljen od bazne

stanice.

Metoda Cell-ID + RX mjerenje temelji se na tome da pokretni uređaj mjeri snagu signala sa

svake bazne stanice koju „vidi“ i šalje ovu informaciju natrag baznoj stanici koja ga trenutno

poslužuje. Ovo se radi zato da bi pokretni uređaj mogao slati i primati podatke od bazne

stanice za koju ima optimalnu snagu signala povećavajući tako kvalitetu poziva krajnjem

korisniku i efikasnost korištenja mrežne infrastrukture. S ovom informacijom o snazi signala,

teoretski je moguće izračunati lokaciju korisnika uzimajući u obzir brzinu kojom opada snaga

odašiljućeg signala kako se povećava udaljenost između odašiljača i primatelja. Ipak, postoje

brojni faktori koji ograničavaju efikasnost ove metode kao što su konfiguracija terena i

zatvoreni prostori.

Page 36: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

32

4.2.2. Metoda poboljšanog promatranja vremenske razlike

Metoda poboljšanog promatranja vremenske razlike (engl. Enhanced Observed Time

Difference, skraćeno E-OTD) radi samo u GSM i GPRS mrežama. Temelji se na promatranju

vremenskih razlika u dolasku GSM okvira na pokretni uređaj od različitih baznih stanica s

kojima komunicira. Potrebno je da uređaj mjeri vremenske razlike s bar 3 bazne stanice kako

bi bilo moguće dvodimenzionalno određivanje lokacije. Isto tako za ostvarenje ove metode

potrebni su lokacijski mjerni uređaji (engl. Location Measurement Units, skraćeno LMU) koji

nadziru bazne stanice. Najvažnije je da je svaka bazna stanica u mreži promatrana od bar

jednog LMU-a. Potreba za LMU uređajima stvara potrebu za velikim infrastrukturnim

promjenama što zahtjeva puno planiranja, procjena, ulaganja i troškova pa to otežava

primjenu E-OTD kao lokacijskog rješenja. Isto tako, ova metoda generira velik promet u

mreži i smanjuje mrežnu propusnost. E-OTD je precizniji od Cell-ID-a, ali postaje dosta

neprecizan u ruralnim područjima. Isto tako, refleksije signala i višestazno prostiranje signala

dosta utječu na preciznost.

Postoji još metoda OTDOA (Observed Time Difference of Arrival) koja je zapravo ekvivalent

E-OTD metodi u WCDMA mreži, ali postiže čak lošije rezultate od E-OTD metode ako se ne

koriste LMU uređaji.

4.2.3. Potpomognuti GPS

GPS (Global Positioning System) metoda lociranja je širom svijeta raširena metoda koja je

ostvarena sustavom satelita i uređaja koji je podržavaju. Radi na principu mjerenja vremena

koje potrebno da signal pređe put od satelita do prijemnika te bi za preciznu vremensku

informaciju primljeni satelitski signal trebao biti relativno snažan. Kako bi se nadvladalo ovo

ograničenje osmišljena je metoda potpomognutog GPS-a tj. A-GPS (Wireless Assisted GPS).

A-GPS prijemnik koristi pomoćne podatke koje dobije od A-GPS lokacijskog poslužitelja

(engl. Location Server, skraćeno LS) uz pomoć kojih se poboljšava početna osjetljivost za

25dB i smanjuje vrijeme pokretanja za 5 sekundi. Ovaj pristup eliminira dugačka vremena

pokretanja karakteristična za obični GPS i omogućava GPS prijemniku da funkcionira u

okolini problematičnoj za GPS signal. A-GPS pruža veću preciznost od Cell-ID-a, E-OTD-a

ili OTDOA, a skupi element poput LMU-a nije potreban. A-GPS ima skoro neprimjetan

utjecaj na infrastrukturu i može lako podržati roaming, ali zahtjeva GPS sklopovlje unutar

telefona.

Page 37: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

33

4.2.4. Hibridna rješenja

A-GPS radi u GSM, GPRS i WCDMA mrežama. Hibridna rješenja kombiniraju A-GPS s

drugim lokacijskim metodama na način koji dopušta da bolje strane jedne metode

kompenziraju slabije strane druge metode i tako pruže pouzdanije i robusnije lokacijsko

rješenje. Najčešća implementacije hibridne tehnologije je združivanje A-GPS-a sa Cell-ID-

om. Ovo rješenje povećava postotak uspješnih lociranja u područjima u kojima A-GPS ne

može odrediti lokaciju i pruža preciznost A-GPS-a u svim ostalim situacijama.

4.2.5. Usporedba lokacijskih metoda

U tablici (Tablica 4.1) vidimo usporedbu lokacijskih metoda u pogledu performansi, troškova,

implementacijskih prilagodbi i podržanih standarda. Kao što vidimo, metoda poput A-GPS-a

prikladna je za lokacijske usluge koje zahtijevaju veću preciznost poput usluge lokacijski

zasnovane naplate, usluga praćenja treće strane ili usluga vezanih uz navigaciju. E-OTD

metoda pruža manju preciznost od A-GPS-a i mogla bi biti pogodna za razne informacijske

usluge, lokacijski zasnovane igre ili usluge pružanja pomoći korisniku, ali ima veliku manu u

pogledu troškova i jednostavnosti implementacije. Što se tiče metode Cell-ID, očito je da ona

dosta varira u pogledu preciznosti i da nije previše pouzdana. Ipak, zbog njene lake

implementacije i malih troškova, dobro je rješenje za usluge koje ne zahtijevaju veliku

preciznost, i to naročito u većim gradovima gdje imamo velik broj baznih stanica, zbog većeg

broja korisnika, pa je samim tim i prosječni promjer ćelije dosta manji i pruža veću preciznost

od uobičajenih slučajeva. Isto tako treba uzeti u obzir da u današnjem svijetu većina

stanovništva živi upravo u većim gradovima i da je najvećih broj korisnika pokretnih uređaja

upravo iz takvih sredina, što daje dobru podlogu za usluge ostvarene metodom Cell-ID u

pogledu postotka pokrivenosti korisnika uslugom. Cell-ID je, zbog ovih navedenih razloga,

tako najčešće pogodan za lokacijske usluge informacijskog tipa poput informacija o prometu,

vremenu, najbližem traženom objektu i slično.

Page 38: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

34

Tablica 4.1 Prikaz usporedbe lokacijskih metoda

Karakteristika Cell-ID E-OTD, OTDOA A-GPS

Performanse

Preciznost Cell-ID-a

varira i često je dosta

loša.

Pruža dobru pokrivenost.

Pruža poboljšanu

preciznost u usporedbi sa

Cell-ID-om.

Problemi u područjima s

malim brojem baznih

stanica.

Pruža optimalnu

preciznost u usporedbi s

ostalim lokacijskim

metodama.

Problemi s pokrivenošću

unutar zgrada.

Implementacijske

prilagodbe

Lak za izvedbu.

Nema promjena u

samom uređaju.

Može biti podržan bez

većih promjena u

infrastrukturi.

Jednostavan roaming na

širim područjima ili u

drugim mrežama.

Težak za izvedbu.

E-OTD zahtjeva

promjenu u uređaju.

Zahtjeva LMU-e.

Teže podržava roaming

na širim područjima i u

drugim mrežama.

Lak za izvedbu.

Zahtjeva promjene u

uređaju.

Ne zahtjeva veće

promjene u

infrastrukturi.

Jednostavan roaming na

širim područjima i u

drugim mrežama.

Procjena ukupnog troška

Nizak početni trošak.

Trošak održavanja nizak.

Loš povrat ulaganja.

Početni trošak visok

zbog potrebe 1 LMU-a

po 1.5 baznoj stanici.

Trošak održavanja visok.

Loš povrat ulaganja.

Početni trošak vođen

cijenom uređaja.

Trošak održavanja

zanemariv.

Dobar povrat ulaganja.

Podržani standardi

GSM, GPRS i WCDMA E-OTD – samo GSM

OTDOA – samo

WCDMA

GSM, GPRS i WCDMA

Page 39: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

35

5. Usluga pružanja lokacijski zavisnih informacija

pokretnom korisniku uz pomoć OTA-e

5.1. Analiza problema i predložena rješenja

Kao praktični dio ovoga rada, cilj je ostvariti lokacijsku uslugu za pokretnog korisnika koja će

korisniku pružati uslugu informacije o njemu najbližoj benzinskoj crpki, a koja će ovisiti o

trenutnoj lokaciji korisnika. Predviđeno je da korisnik sam odabere neku od ponuđenih tvrtki

koje prodaju gorivo te da onda dobije povratnu informaciju koja uključuje adresu najbliže

benzinske crpke tražene tvrtke. Usluga će biti izvedena uz pomoć aplikacije na pokretnom

uređaju korisnika, a koju će korisnik pribaviti uz pomoć tehnologije OTA. Aplikacija će,

nakon uspješne instalacije i pokretanja, u komunikaciji s poslužiteljem usluge, dati korisniku

povratnu informaciju na njegov upit. Problematika same realizacije usluge može se podijeliti

na:

• Otkrivanje, preuzimanje i instalaciju aplikacije

• Određivanje lokacije korisnika

• Obradu lokacije i dohvat odgovora na poslužitelju

• Komunikaciju između aplikacije i poslužitelja

5.1.1. Otkrivanje, preuzimanje i instalacija aplikacije

Kao što je već rečeno, predviđeno je da korisnik aplikaciju, koja će mu omogućiti korištenje

lokacijske informacijske usluge, pribavi korištenjem tehnologije OTA. Prvo što korisnik

treba, je otkriti tj. pronaći aplikaciju kako bi je mogao preuzeti. U skladu s tehnologijom

OTA, korisnik će aplikaciju pronaći uz pomoć web preglednika ili web mikro-preglednika, na

svom pokretnom uređaju, utipkavanjem URL-a na kojem će biti ponuđene određene

aplikacije. Dobro je još jednom napomenuti da su aplikacije o kojima govorimo zapravo

MIDleti, tj. aplikacije za pokretne uređaje. Korisnik će odabirom željene aplikacije, klikom na

njen link, započeti preuzimanje i instalaciju aplikacije na svom uređaju. Korisnik će prvo

preuzeti opisnik aplikacije, a nakon što iz njega utvrdi da je to ono što traži, odobrit će

preuzimanje same aplikacije i potom njene instalacije. O ovom dijelu se brine AMS na

Page 40: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

36

pokretnom uređaju. Nakon što je instalacija završena, aplikacija je spremna za pokretanje i za

pružanje lokacijske usluge korisniku.

5.1.2. Određivanje lokacije korisnika

Kako bi mogli pravilno odrediti metodu lokacije korisnika, potrebno je uzeti u obzir prirodu i

karakteristike usluge koja traži lokacijsku informaciju. Kao što smo već rekli, usluga koja se

namjerava praktično ostvariti u ovom radu ima zadatak pružanja informacije o korisniku

najbližoj benzinskoj crpki. Benzinske crpke su, kad gledamo područja van gradova, obično

smještene na glavnim prometnicama poput autocesta, brzih cesta ili magistralnih cesta te je do

njih uglavnom lako doći i često nisu potrebne dodatne informacije o njihovim lokacijama.

Nasuprot tome, u većim gradovima benzinske crpke su smještene na raznim mjestima te

potencijalni kupci često ne znaju gdje je najbliža crpka. Ovo je naročito problem za one koji

slabije poznaju određeni dio grada ili za one koji uopće nisu iz tog grada. Zbog ovih razloga,

uslugu koju želimo ostvariti ograničit ćemo na područja većih gradova tj. bit će namijenjena

korisnicima u gradovima. Uzevši u obzir da tvrtke benzinske crpke često po gradovima

raspoređuju tako da nisu preblizu jedna drugoj tj. da su udaljene bar 1 do 2 km, kao lokacijska

metoda koja bi mogla ponuditi zadovoljavajuću preciznost nudi se Cell-ID tj. metoda

identifikacije ćelije. Naime, u gradskim sredinama promjer ćelija u GSM i GPRS mrežama je

dosta manji, nego u područjima van gradova, zbog većeg broja korisnika te je uglavnom u

rasponu od 500 metara do 2 km. Ova činjenica čini metodu Cell-ID dosta pogodnom zbog

toga što je jednostavna i ne zahtjeva ulaganja u infrastrukturu već koristi postojeću mrežnu

tehnologiju. Naime, mreža sama šalje pokretnim uređajima Cell-ID ćelije u kojoj se trenutno

nalaze te oni tu informaciju zapisuju. Korištenjem te informacije tj. njenim uzimanjem i

slanjem poslužitelju lokacijske usluge, poslužitelj određuje lokaciju i ovisno o njoj dostavlja

traženi sadržaj.

5.1.3. Obrada lokacije i dohvat odgovora na poslužitelju

Nakon što je lokacijska informacija uspješno poslana na poslužitelj, poslužitelj mora tu

informaciju obraditi te na temelju nje konstruirati odgovor korisniku. Lokacijska informacija

se sastoji od Cell-ID-a, a cijeli upit još od oznake tvrtke čiju najbližu benzinsku crpku

korisnik želi pronaći. Očito je da na neki način treba povezati identifikatore ćelija s

Page 41: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

37

benzinskim crpkama koje se nalaze u gradu. To je najlakše postići stvaranjem baze podataka

koja će se sastojati od informacija o benzinskim crpkama i informacijama o ćelijama. Svaka

će benzinska crpka pripadati određenim ćelijama, te će se korisnik upućivati na tu crpku ako

se nalazi u nekoj od tih ćelija. Odgovor koja je crpka najbliža dobit će se upitom prema bazi

te će se nakon primljene povratne informacije ona proslijediti korisniku u pravilnom obliku.

5.1.4. Komunikacija između aplikacije i poslužitelja

Uz komunikaciju između aplikacije i poslužitelja postoji još, prije toga, komunikacija između

uređaja tj. njegovog AMS-a i portala za pružanje usluga s kojeg se preuzima sama aplikacija.

S obzirom da se radi o sadržaju za koji je pouzdanost komunikacije vrlo bitna, otkrivanje

aplikacije i njeno preuzimanje vrši se protokolom TCP/IP. Još jedan razlog korištenja ove

vrste komunikacije, a ne recimo komunikacije kratkim porukama (engl. Short Message

Service, skraćeno SMS), je veličina aplikacije koja potencijalno može biti veća od

maksimalno dozvoljene veličine za SMS poruke. Ipak, glavni je razlog sama specifikacija

tehnologije OTA kojom se vrši prijenos i koja se oslanja na HTTP koji koristi TCP/IP.

Komunikacija između same aplikacije i poslužitelja lokacijske informacijske usluge je

sljedeća na redu. S obzirom da se radi o prijenosu tekstualne informacije u oba smjera, i od

ove komunikacije očekujemo pouzdanost. U obzir treba uzeti i to da je sama obrada lokacije

na poslužitelju prilično jednostavna i brzo se izvodi tako da korisnik skoro trenutno može

dobiti odgovor na svoj upit. Zbog toga se kao najbolje rješenje opet nameće komunikacija

protokolom TCP/IP s kraja na kraj korištenjem mrežnih utičnica (engl. socket).

5.2. Izvori informacija za lokacijsku uslugu

Kako je već rečeno, informacije koje će se slati korisniku crpe se iz baze podataka. Očito je da

se nameće pitanje odakle se te informacije pribavljaju i tko ih u bazu unosi. Predviđeno je da

unos u bazu vrši jedna osoba koja jednom do dva puta mjesečno provjerava izvore

informacija te vrši dodatne unose ili ispravke u bazu ako za to postoji potreba. Izvori

informacija za tu bazu bit će internetske stranice trenutno triju glavnih tvrtki za opskrbu

benzinom u Hrvatskoj, a to su INA, OMV i Tifon, dok su adrese njihovih stranica

www.ina.hr, www.omvistrabenz.hr i www.tifon.hr. Pretpostavlja se da su informacije na tim

stranicama ispravne i smatramo ih pouzdanima.

Page 42: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

38

5.3. Arhitektura usluge

Nakon što smo analizirali probleme vezane oko ostvarenja lokacijske usluge uz pomoć OTA-

e te predložili rješenja za svaki od njih, potrebno je sve skupa objediniti u jednu cijelinu tj.

oblikovati arhitekturu cijele usluge. Na slici (Sl. 5.1) je prikazana arhitektura unutar koje je

ostvarena usluga.

Sl. 5.1 Arhitektura usluge

Uočavamo njene glavne dijelove, klijenta i poslužitelje. Kao što vidimo, komunikacija

između njih je ostvarena već spomenutim protokolom TCP/IP. Između pokretne stanice i

jezgrene mreže TCP veza je ostvarena korištenjem tehnologije GPRS te njenih uslužnih

potpornih čvorova (engl. Serving GPRS Support Node, skraćeno SGSN) i pristupnih

potpornih čvorova (engl. Gateway GPRS Support Node, skraćeno GGSN). GGSN čvorovi se

Page 43: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

39

nalaze u IP mreži i pružaju klijentu izlaz prema njoj. S obzirom da se poslužitelji nalaze u

TCP/IP mreži koja je osjenčena na slici, imamo podržanu TCP/IP vezu s kraja na kraj. Na

slici (Sl. 5.1) vidimo da se prvo uspostavlja veza između korisnika i OTA portala za pružanje

usluga koja služi za otkrivanje i prijenos aplikacije do korisnika, a raskida se nakon što je to

završeno. Nakon što korisnik instalira i pokrene aplikaciju, slanjem upita, koji se sastoji od

identifikatora ćelije i odabrane tvrtke, pokrenut će uspostavu nove TCP/IP veze s kraja na

kraj, ovaj put s poslužiteljem lokacijske informacijske usluge. Nakon što poslužitelj primi i

obradi upit, šalje natrag odgovor korisniku koristeći istu vezu. Kod sljedećeg korištenja

usluge, korisnik ne treba ponovno uspostavljati vezu s OTA portalom, jer je aplikacija trajno

spremljena na njegov uređaj, već samo s poslužiteljem lokacijske informacijske usluge.

5.4. Funkcionalnost OTA poslužitelja

Kako bi korisnik mogao pronaći, preuzeti i instalirati željenu aplikaciju od OTA poslužitelja

se očekuje da obavlja sljedeće:

• Omogući spajanje klijenta na web poslužitelj

• Nudi prikaz ponuđenih aplikacija u obliku HTML ili WAP stranica

• Omogući preuzimanje opisnika aplikacija i samih aplikacija od strane klijenta

• Pravilno naznači MIME tipove koji se koriste pri prijenosu opisnika aplikacija i samih

aplikacija

5.5. Funkcionalnost klijentske aplikacije

Prije nego što navedemo tražene funkcionalnosti klijentske aplikacije treba napomenuti da se

podrazumijeva da je aplikacija prije toga preuzeta i instalirana na korisnički uređaj u skladu s

tehnologijom OTA kako je opisano u 3. poglavlju. Od aplikacije se očekuje da obavlja

sljedeće funkcije, kronološkim redom:

• Mogućnost odabira tvrtke čiju benzinsku crpku korisnik želi pronaći

• Čitanje i spremanje identifikatora ćelije

• Konstruiranje upita za poslužitelj

• Spajanje na poslužitelj i slanje upita istome

• Primanje odgovora od poslužitelja i prikaz na ekranu korisničkog uređaja

Page 44: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

40

Na slici (Sl. 5.2) je prikazan standardni slijed događaja pri korištenju klijentske aplikacije.

Sl. 5.2 Funkcionalnost klijentske aplikacije

Page 45: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

41

5.6. Funkcionalnost poslužiteljske aplikacije

Kao što smo već naveli funkcionalnosti koje mora ispunjavati klijentska aplikacija, sad ćemo

navesti koje se sve funkcionalnosti očekuju od poslužiteljske aplikacije. Dakle, od

poslužiteljske aplikacije se očekuju sljedeće radnje, kronološkim redom:

• Spajanje s klijentom nakon primanja zahtjeva

• Prihvat upita od klijenta

• Raščlanjivanje i spremanje podataka o ćeliji i tvrtki iz upita

• Otvaranje veze s bazom podataka

• Postavljanje upita bazi podataka, primanje odgovora i prekid veze s bazom podataka

• Raščlanjivanje odgovora od baze podataka i oblikovanje u odgovor za klijenta

• Slanje odgovora klijentu

• Prekid veze s klijentom

Na slici (Sl. 5.3) vidimo slijed događaja koji se odvijaju na poslužiteljskoj aplikaciji.

Sl. 5.3 Funkcionalnost poslužiteljske aplikacije

Page 46: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

42

6. Opis programskog rješenja usluge

6.1. Opis rješenja klijentske aplikacije

Klijentska aplikacija, koja predstavlja jednu od dvije strane u ostvarenju lokacijske usluge,

izvodi se na pokretnom uređaju klijenta. S obzirom da pokretni uređaji nemaju mogućnosti

poput standardnih računala zbog ograničenja veličine memorije, procesorske snage, veličine

ekrana te izvora napajanja, klijentska aplikacija mora biti prilagođena za ovakve uvjete.

Takve aplikacije nazivaju se MIDlet-i i realizirane su u J2ME okruženju. Za izvođenje ovih

aplikacija, pokretni uređaj korisnika mora podržavati profil pokretnog informacijskog uređaja

(MIDP).

Klijentska aplikacija sadrži dvije klase čiji odnos možemo vidjeti na slici (Sl. 6.1).

+KlijentPumpa()#startApp()#pauseApp()#destroyApp(in unconditional : boolean)+commandAction(in command : Command, in form : Displayable)

KlijentPumpa

+Find(in kp : KlijentPumpa)+start()+run()+commandAction(in command : Command, in form : Displayable)+getLocationMD() : String+getLocationEM() : String

Find

Sl. 6.1 Dijagram klasa klijentske aplikacije

Kao što vidimo, klasa KlijentPumpa je glavna klasa unutar klijentske aplikacije i pokreće se

na početku izvršavanja aplikacije. Klasa Find poziva se iz klase KlijentPumpa u trenutku kad

korisnik aplikaciji da zahtjev za pronalaženje najbliže crpke.

Page 47: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

43

6.1.1. Klasa KlijentPumpa

Klasa KlijentPumpa (Sl. 6.2) je, kao što smo već rekli, glavna klasa u klijentskoj aplikaciji i

prva se pokreće. Ova klasa nasljeđuje klasu MIDlet i samim tim mora sadržavati neke metode

iz te klase. Uz to, ova klasa služi za inicijalizaciju atributa unutar aplikacije, pokretanje

prikaza za korisnika i definiciju nekih metoda koje se koriste u aplikaciji. Ova klasa sadrži

formu koja je zapravo ono što se na početku prikazuje korisniku, a sadrži izbornik kojim

korisnik odabire tvrtku čiju benzinsku crpku želi pronaći.

Sl. 6.2 Struktura klase KlijentPumpa

Klasa sadrži i metodu commandAction(Command command, Displayable form) koja se brine

o pokretanju određenih radnji unutar aplikacije nakon što korisnik odabere neku od ponuđenih

naredbi.

Metode koje klasa nasljeđuje od klase MIDlet su:

• startApp() – metoda koja se poziva kod pokretanja aplikacije i izvodi početne radnje

• pauseApp() – metoda koja se poziva kad aplikacija treba nakratko prekinuti s radom,

npr. ako korisnik prima poziv

• destroyApp – metoda koja se poziva prilikom izlaska iz aplikacije i najčešće služi za

oslobađanje resursa i spremanje podataka prije potpunog prekida rada aplikacije

Page 48: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

44

6.1.2. Klasa Find

Klasa Find poziva se iz klase KlijentPumpa kao odvojena nit i služi za obradu korisničkog

zahtjeva za pronalaskom određene crpke i dohvat odgovora korisniku. S obzirom da se izvodi

kao nit, klasa implementira sučelje Runnable te metode start() i run(). Klasi se kao argument

predaje klasa KlijentPumpa, koja ju i poziva, te su na taj način ovoj klasi dohvatljivi podaci o

prikazu i izboru korisnika.

Sl. 6.3 Struktura klase Find

Nakon pokretanja ove niti otvara se TCP konekcija s poslužiteljem korištenjem socket-a kojeg

definira IP adresa i port. Za ovaj slučaj, IP adresa je localhost, a port je 1906. Nakon toga

dohvaća se identifikator ćelije jednom od dvije moguće metode. Metoda getLocationMD()

koristi se u slučaju kad se aplikacija izvršava na pokretnom uređaju, što korisnik odabire

istovremeno kad odabire tvrtku, i tada ona nasumice generira identifikator ćelije u rasponu od

1 do 132, s obzirom da je 132 broj ćelija u ovoj realizaciji. U slučaju da se aplikacija izvršava

na emulatoru na računalu, na osnovu korisničkog odabira, poziva se metoda getLocationEM()

u kojoj se identifikator ćelije dohvaća korištenjem sučelja WMA (Wireless Messaging API).

Pomoću njega simuliramo slanje CBS (Cell Broadcast Service) poruka od mreže koje sadrže

identifikator ćelije koji mi upisujemo [6].

Nakon toga dolazi do formiranja upita za poslužitelj u obliku "Tvrtka//ćelija" te slanje upita

na poslužitelj. Nakon što je poslužitelj završio obradu i poslao odgovor preko socket-a, dolazi

do obrade i razdvajanja primljenog sadržaja koji je stigao u obliku "Ime pumpe/Adresa#Grad"

te stvaranje nove forme unutar koje se prikazuju rezultati pretrage. Nakon ovoga, korisnik

može izaći iz aplikacije ili se vratiti na njen početak i zatražiti novu pretragu za neku drugu

tvrtku.

Page 49: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

45

6.2. Opis rješenja poslužiteljske aplikacije

Poslužiteljska aplikacija predviđena je za izvođenje na poslužiteljskom računalu sa stalnim

pristupom Internetu. Njeno izvođenje mora biti stalno i neprekinuto kako bi usluga uvijek bila

dostupna. S obzirom da ovdje nismo ograničeni mogućnostima uređaja, poslužiteljska je

aplikacija izvedena standardnim Java jezikom tj. u J2SE (Java 2 Standard Edition). Glavna

zadaća poslužiteljske aplikacije je povezivanje s klijentom, primanje upita od klijenta te

stvaranje i slanje odgovora na primljeni upit. Kako se očekuje da aplikacija može primiti više

upita istovremeno, povezivanje s klijentom se vrši preko klase ServerSocket koja omogućava

primanje više korisničkih zahtjeva odjednom. Strukturu poslužiteljske aplikacije čine dvije

klase prikazane u međusobnom odnosu na slici (Sl. 6.4).

Sl. 6.4 Dijagram klasa poslužiteljske aplikacije

Kao što vidimo, glavna klasa u poslužiteljskoj aplikaciji je klasa PosluziteljPumpa, koja

osluškuje i prima korisničke zahtjeve, te klasa Worker koja vrši obradu korisničkih zahtjeva i

šalje odgovor natrag klijentu. Klasa Worker izvodi se kao nit i poziva se unutar klase

PosluziteljPumpa.

Page 50: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

46

6.2.1. Klasa PosluziteljPumpa

Klasa KlijentPumpa je, kao što smo već rekli, glavna klasa unutar poslužiteljske aplikacije.

Struktura klase prikazana je na slici (Sl. 6.5). Klasa sadrži dvije metode: listen() i main().

Metoda main() služi za pokretanje same poslužiteljske aplikacije tj. stvaranje instance klase

KlijentPumpa te pozivanje metode listen(). Metoda listen() služi za stvaranje instance klase

ServerSocket te pokreće osluškivanje korisničkih zahtjeva. Kad stigne zahtjev od korisnika,

ostvaruje se TCP veza s klijentskom aplikacijom i pokreće nit Worker koja obrađuje zahtjev.

Sl. 6.5 Struktura klase PosluziteljPumpa

6.2.2. Klasa Worker

Klasa Worker poziva se iz klase PosluziteljPumpa kao odvojena nit i služi za obradu

korisničkog zahtjeva za pronalaskom određene crpke te pronalazi i šalje odgovor korisniku. S

obzirom da se izvodi kao nit, klasa nasljeđuje klasu Thread te implementira metodu run().

Klasi se kao argument predaje instanca s klase Socket, koja predstavlja vezu s klijentskom

aplikacijom, te je na taj način ovoj klasi omogućena komunikacija s klijentskom aplikacijom.

Nakon što je nit pokrenuta, prima upit od klijenta u obliku "Tvrtka//ćelija" te ga raščlanjuje na

dva dijela i poziva metodu makeResponse(int id, String celija) kojoj kao argumente predaje

oznaku tvrtke i oznaku ćelije u kojoj se nalazi korisnik. Ova metoda otvara vezu s bazom

podataka te joj postavlja upit na osnovu primljenih argumenata. Po primitku odgovora od

baze, raščlanjuje ga i formira odgovor za klijentsku aplikaciju u obliku "Ime pumpe:

ime/Adresa: adresa#Grad: grad" te prekida vezu s bazom. Nakon povratka u metodu run(),

odgovor se putem socketa šalje klijentskoj aplikaciji nakon čega se prekida veza s istom.

Sl. 6.6 Struktura klase Worker

Page 51: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

47

6.3. Opis rješenja OTA poslužitelja

Pogledajmo što je sve nužno kako bi se ostvarila minimalna konfiguracija koja bi podržavala

OTA funkcionalnost. Sve što minimalna OTA konfiguracija zahtijeva je web poslužitelj koji

je ispravno konfiguriran za posluživanje različitog sadržaja, u našem slučaju JAD i JAR

datoteka. Konfiguriranje poslužitelja sastoji se od definiranja pripadnih MIME tipova za JAD

i JAR datoteke kao što je prikazano u tablici (Tablica 6.1).

Tablica 6.1 MIME tipovi potrebni za OTA-u

Datotečna ekstenzija MIME tip

JAD text/vnd.sun.j2me.app-descriptor

JAR application/java-archive

Poslužitelj s kojeg se preuzima aplikacija identificira ove datoteke postavljanjem HTTP

Content-Type zaglavlja na "text/vnd.sun.j2me.app-descriptor" za JAD i "application/java-

archive" za JAR datoteke. AMS koristi Content-Type zaglavlje kod otkrivanja aplikacije i

instalacije.

6.3.1. Konfiguriranje Apache web poslužitelja za OTA-u

Apache poslužitelj se konfigurira tako da se unutar datoteke mime.types, koja je obična

tekstualna datoteka i nalazi se u mapi conf, dodaju vrijednosti za JAD i JAR datoteke u

obliku:

MIME tip ekstenzija

Nakon što je datoteka spremljena, konfiguracija je završena.

Page 52: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

48

6.4. Preuzimanje, pokretanje i rad s aplikacijom

Prije nego što opišemo korištenje same usluge, treba reći koja je sve programska podrška

potrebna kako bi se to ostvarilo. Kako bi ostvarili funkcionalnost OTA poslužitelja, trebamo

na računalu instalirati i pokrenuti Apache HTTP Server 2.0.55 te izvršiti potrebnu

konfiguraciju za OTA-u kako je opisano u dijelu 6.3.1. Potom je potrebno na taj isti

poslužitelj staviti web stranicu na kojoj se nalazi link na opisnik aplikacije, kao i sama

aplikacija.

Kako bi mogli testirati preuzimanje i korištenje klijentske aplikacije potrebno je na računalu

instalirati Sun Java Wireless Toolkit 2.3 Beta koji sadrži emulator pokretnog uređaja koji

podržava profil MIDP. Uz to, potrebno je i omogućiti izvršavanje Java aplikacija na računalu

pa je zbog toga potrebno instalirati okruženje za izvođenje Jave (engl. Java Runtime

Environment, skraćeno JRE), J2SE 1.4.2. Za rad poslužiteljske aplikacije potrebna nam je

baza podataka kao i poslužitelj baze podataka, a u tu svrhu koristimo MySQL Server 5.0.

6.4.1. Preuzimanje aplikacije

Kako bi demostrirali OTA funkcionalnost i preuzeli aplikaciju na uređaj, u ovom slučaju

emulator, trebamo nakon uspješne instalacije Sun Java Wireless Toolkit 2.3 Beta učiniti

sljedeće:

• Kliknuti na ikonu Start u Windows-ima

• Odabrati All Programs, pa Sun Java Wireless Toolkit 2.3 Beta

• Odabrati OTA Provisioning

Nakon što smo ovo napravili otvara se prozor kao na slici (Sl. 6.7). Na emulatoru je u tom

trenutku označena opcija Install Application, što nama i treba, te tad kliknemo na opciju Menu

nakon koje se otvara pop-up meni u kojem odaberemo opciju Launch kao na slici (Sl. 6.8).

Sada nam se otvara prikaz u kojem je potrebno unijeti adresu OTA poslužitelja. U ovom

slučaju adresa je localhost pa to i unosimo, te opet odabiremo opciju Menu i u novom pop-up

prozoru odabiremo opciju Go kao što se vidi na slici (Sl. 6.9). Nakon toga pokreće se spajanje

na poslužitelja i otvara se stranica s ponuđenim MIDlet-ima, u ovom slučaju samo jednim koji

se zove Pumpe. Označavamo MIDlet Pumpe i odabiremo opciju Install kao na slici (Sl. 6.10).

Page 53: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

49

Sl. 6.7 OTA Provisioning 1 Sl. 6.8 OTA Provisioning 2

Sl. 6.9 OTA Provisioning 3 Sl. 6.10 OTA Provisioning 4

Page 54: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

50

Ovime smo pokrenuli proces instalacije tijekom kojeg nas se još jednom pita za njenu

potvrdu, što i činimo odabirom opcije Install. Potom dolazi do preuzimanja aplikacije s

poslužitelja te njene instalacije na emulator, nakon čega je postupak završen i aplikacija je

ponuđena korisniku za pokretanje.

6.4.2. Pokretanje poslužiteljske aplikacije

Prije pokretanja klijentske aplikacije, potrebno je pokrenuti poslužiteljsku aplikaciju. Ona se

pokreće klikom na ikonu start koja se nalazi u mapi PosluziteljPumpa. Nakon klika na ikonu

start, otvara se prozor poslužiteljske aplikacije kao na slici (Sl. 6.11).

Sl. 6.11 Prozor poslužiteljske aplikacije

6.4.3. Pokretanje klijentske aplikacije i demonstracija usluge

Klijentsku aplikaciju pokrećemo u već otvorenom OTA Provisioning prozoru, tj. emulatoru,

označavanjem aplikacije KlijentPumpa u glavnom izborniku te odabirom opcije Menu i opcije

Launch u pop-up prozoru koji se pojavljuje nakon odabira opcije Menu. Ovaj postupak

prikazan je na slici (Sl. 6.12). Nakon što smo pokrenuli klijentsku aplikaciju, potrebno je

pokrenuti aplikaciju KToolbar do koje se dolazi na isti način kao i do aplikacije OTA

Provisioning tj. Start / All Programs / Sun Java Wireless Toolkit 2.3 Beta / KToolbar. U

KToolbar-u odaberemo izbornik File te unutar njega opciju Utilities nakon čega se otvara

Page 55: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

51

prozor prikazan na slici (Sl. 6.13). U tom prozoru odabiremo opciju Open Console u dijelu

WMA nakon čega se pojavljuje prozor prikazan na slici (Sl. 6.14).

Sl. 6.12 Pokretanje klijentske aplikacije Sl. 6.13 Prozor Utilities

Sl. 6.14 WMA konzola

Page 56: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

52

Ova konzola nam služi za slanje CBS poruka, u kojima se nalaze identifikatori ćelija,

klijentskoj aplikaciji. Sada možemo demonstrirati rad aplikacije tj. lokacijske usluge.

Pokretanjem klijentske aplikacije prikazuje nam se prozor na slici (Sl. 6.15). U njemu pomoću

navigacijske tipke možemo odabrati tvrtku čiju crpku želimo pronaći i slučaj korištenja

aplikacije. Potonje se odnosi na pitanje koristi li se aplikacija na emulatoru ili pokretnom

uređaju korisnika što mijenja način dohvata identifikatora ćelije. U ovom slučaju odabrat

ćemo opciju Emulator, a za tvrtku ćemo odabrati opciju INA i nakon toga kliknuti na opciju

Pronađi. Ovime smo pokrenuli traženje najbliže crpke i sada aplikaciji trebamo poslati

identifikator ćelije. To činimo tako da u WMA konzoli odaberemo opciju Send CBS... i u

novootvorenom prozoru u rubriku Message Identifier upišemo 50, a u rubriku Message broj

ćelije od 1 do 132, na primjer 99. Nakon toga kliknemo na opciju Send i poruka je poslana.

Ovaj postupak prikazan je na slici (Sl. 6.16).

Sl. 6.15 Odabir tvrtke i slučaja korištenja

Page 57: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

53

Sl. 6.16 Slanje CBS poruke

Istovremeno se u klijentskoj aplikaciji prikazuju prozor i poruke prikazani na slici (Sl. 6.17).

Sl. 6.17 Traženje lokacije

Page 58: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

54

U ovom koraku dolazi do komunikacije s poslužiteljem koji prima upit i šalje odgovor natrag

korisniku. U poslužiteljskoj aplikaciji se tada ispisuje ono što je prikazano na slici (Sl. 6.18).

Sl. 6.18 Obrada podataka na poslužiteljskoj aplikaciji

Nakon što klijent primi odgovor od poslužitelja na ekranu se prikazuju rezultati pretrage kao

što je prikazano na slici (Sl. 6.19).

Sl. 6.19 Prikaz podataka pronađene pumpe

Page 59: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

55

Poslije ovoga, korisnik može izaći iz aplikacije odabirom opcije Izlaz ili se vratiti na izbor

tvrtke i slučaja korištenja, kako bi započeo novu pretragu, odabirom opcije Nazad.

Napomenimo još da je kod slučaja korištenja Pokretni uređaj jedina razlika u prikazu

korisniku ona kod traženja lokacije kad umjesto Pronašao lokaciju piše Generiram lokaciju.

Page 60: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

56

7. Poslovni aspekti lokacijskih usluga

Pružatelji usluga su, potaknuti brzim porastom broja korisnika i širokim prihvaćanjem

pokretne telefonije i prijenosa podataka, željni iskorištavanja informacija o korisnicima, koje

su skupili tijekom vremena, kako bi njihovom uporabom ponudili dodatne usluge koje će im

povećati prihode, a korisnicima donijeti veće zadovoljstvo pri korištenju. Jedna od najvažnijih

informacija koje im pri tome mogu koristiti je lokacija korisnika koja je zbog svoje dinamike i

nepredvidivosti često bila problematična za određivanje. Ipak, potaknuto zakonskim

propisima i novim tehnologijama, određivanje lokacije postalo je s vremenom nešto lakše.

Tako su tehnologije poput GPS-a, identifikacije pokretnog telefona i mrežne triangulacije

omogućile operaterima točnije određivanje korisničke pozicije u fizičkom prostoru. Kako ove

tehnologije postaju sve pristupačnije, točnije i stvarnovremenske, pojavile su se razne

mogućnosti za nove usluge. Te usluge se nazivaju lokacijskim uslugama i predstavljaju

potencijalno važnu komponentu na području poslovanja u pokretnim komunikacijama. Ono

na što treba paziti kod ostvarivanja lokacijskih usluga je usklađenost između tehnološke

izvodivosti sustava i cjelokupne tržišne strategije koja će voditi njihovu uporabu [7].

Pružatelji lokacijskih usluga moraju se usredotočiti na stapanje programske i sklopovske

podrške te bežične povezivosti u plan za posluživanje lokacijski zavisnog sadržaja. U 4.

poglavlju smo već spomenuli postojeće metode lociranja korisnika, a odabir one koja će se

koristiti za ostvarivanje neke usluge zasniva se na tri strateški važna razmatranja:

• dometu pokrivenosti uslugom i skalabilnošću aplikacija

• stupnjem kvalitete usluge koji se može izvesti i održavati uz prihvatljiv trošak

• pažljivom usklađivanju cjelokupnih tehnoloških troškova s vrstom usluga koja će

ponuditi korisnicima

Kako bi razmotrili poslovne aspekte lokacijskih usluga, najbolje je usluge razvrstati po

vrstama korisničkih potreba koje trebaju ispuniti i vrsti informacija koje se mogu isporučiti u

danom prostoru i vremenu. Glavni voditelji korisničkih zahtjeva su globalno tržište, grupe

korisnika sa specifičnim zahtjevima te poslovni i industrijski korisnici. U tablici (Tablica 7.1)

su prikazane tipične usluge i poslovni modeli za ove kategorije korisničkih zahtjeva.

Page 61: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

57

Tablica 7.1 Poslovni aspekti lokacijskih usluga

Razina zahtjeva Tipične usluge Tipični poslovni modeli

Korisnički zahtjevi:

Lokacija i navigacija

Personalizirani sadržaj

Karte, cestovne upute, "žute"

stranice

Pretplatnički zasnovane

usluge, plati-pa-gledaj model,

udruživanje, mikronaplata

Specijalizirani zahtjevi

korisnika i tvrtki

Karte, usluge lociranja

trgovina, kuponski popusti,

usluge upozorenja

Pretplatnički zasnovane

usluge/oglašavanja, podjela

prihoda, mikronaplata

Industrijski/korporacijski

zahtjevi

Upravljanje lancem dostave,

upravljanje inventarom,

upravljanje odnosima s

korisnicima, inteligentni

prijevoz, infrastruktura

sustava

Isporučitelj aplikacijske

usluge, savjetodavne usluge,

pružatelj infrastrukture

Promotrimo zasebno svaku od ovih razina zahtjeva i njihove karakteristike.

Lokacija i navigacija predstavljaju prvu vrstu korisničkih zahtjeva i najčešće se odnose na

korisnička pitanja "Gdje sam?" i "Kako da dođem tamo?". Odgovori na ova pitanja su razne

karte, cestovne upute, izlistavanja "žutih" stranica, podaci o tvrtkama u danom dometu i

slično. Ove vrste lokacijskih usluga su naročito pogodne za gusto naseljena i urbana područja

i povezujemo ih s fizičkim korisnikom, dok se u rijeđe naseljenim i ruralnim područjima

pruža mogućnost povezivanja usluge sa sredstvom prijevoza, najčešće autom, kao glavnim

uzročnikom promjene lokacije fizičkog korisnika. Pažljivom izvedbom usluga, za koju su

jako važne specifičnosti područja za koje se usluga izvodi, može se ostvariti značajni porast

korištenja lokacijskih usluga ove vrste te porast prihoda za pružatelje usluga što sve skupa

može voditi do porasta korištenja i ostalih lokacijskih usluga te njihovoj integraciji u

svakodnevnu uporabu.

Personalizirani sadržaj predstavlja drugu vrstu korisničkih zahtjeva i odnosi se na korisne,

korisnički definirane informacije koje se isporučuju po potrebi korisnika. Ovo uključuje

informacije o novim proizvodima, uslugama, promocijama i slično. Kako bi to bilo izvedivo,

kreatori usluga trebaju pristup podacima o interesima svakog korisnika. To mogu izvesti kroz

Page 62: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

58

vlastitu bazu korisničkih profila ili u sklopu dogovora s pružateljem same lokacijske usluge.

Za uspjeh ovih usluga naročito će biti važan napredak u modularnoj programskoj podršci i

kodiranju te u mogućnostima alata za prilagodbu i personalizaciju sadržaja.

Specijalizirani zahtjevi korisnika i tvrtki su treća vrsta korisničkih zahtjeva i odnose se na

specijalizirane aplikacije ciljane za određene koncentrirane dijelove tržišta. Na razini

individualnih korisnika već postoje ili su razvoju određene specijalizirane usluge. Ciljane

skupine korisnika su, recimo, sportski entuzijasti, obitelji, ljudi koji provode puno vremena na

otvorenom, i njima isporučeni sadržaji bi bili izrazito bogati i usko fokusirani. Iako se možda

čini da se u ovom segmentu ne mogu ostvariti veći prihodi zbog manjeg broja potencijalnih

korisnika, probitak leži u lojalnosti korisnika te u tome da se bude prvi na određenom

području s obzirom da se veće tvrtke time vjerojatno neće baviti, a manje možda neće ni znati

za to.

Industrijske/korporacijske aplikacije su četvrta vrsta korisničkih zahtjeva od koje se

očekuje da zauzme značajan položaj na tržištu. Već sad postoje tvrtke koje koriste i

isporučuju lokacijski zasnovane tehnologije za praćenje materijala, ljudi i projekata

korištenjem inovativnih sredstava. Ovo se može pripisati postignutom razvoju u tri područja:

• široko prihvaćenom korištenju relativno jeftinih bar-kod čitača i bar kodova s kojih se

u zadnje vrijeme sve više prelazi na radio-frekvencijske identifikacijske čipove, (engl.

Radio-frequency identification, skraćeno RFID) a koji zbog svojih mogućnosti donose

prednosti u odnosu na bar kodove jer ih je moguće očitati s puno veće udaljenosti i bez

potrebe za direktnom vidljivosti, kao i zbog lakog ugrađivanja u razne objekte bez

narušavanja njihovog vanjskog izgleda [8]

• kombinaciji mrežne povezivosti, identifikacije i novih algoritama i tehnika

zaključivanja

• mogućnosti zaključivanja velike razine tj. konceptu inteligentne okoline koja će moći

"osjetiti" što kupcu treba i to mu isporučiti neovisno o vremenu i prostoru

Čak i korištenjem sadašnjih tehnologija, industrijski analitičari predviđaju značajan porast

korisničkih zahtjeva u područjima kao što su praćenje voznog parka, upravljanje

vrijednostima, sigurnost osoba i imovine, detekcija mrežnih kvarova i održavanje.

Ako promatramo lokacijsku uslugu razvijenu u ovom radu kroz ove razine zahtjeva i

poslovne modele, možemo je smjestiti u razinu korisničkih zahtjeva koji se odnose na

lokaciju i navigaciju. Poslovni model bi mogao biti specifičan po tome što je tvrtkama u

interesu da korisnik lako pronađe njihove crpke i time donese dodatan prihod, pa je posebnost

Page 63: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

59

u tome da bi tvrtke trebale većim dijelom financirati korištenje usluge s obzirom da se radi o

formi oglašavanja koja će im donijeti višestruki prihod. To bi potaklo korisnike na češće

korištenje usluge koja bi se od njih naplaćivala u malim iznosima tj. modelom mikronaplate s

obzirom da je komunikacija ipak korisnički inicirana i da korisnik zauzima manji dio mrežnih

resursa.

Page 64: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

60

Zaključak

U ovom diplomskom radu opisane su tehnologije koje omogućuju bežično pružanje usluga

pokretnim korisnicima te realizacija jedne lokacijske usluge koja se tim putem dostavlja

korisniku. Posebna je pozornost pridana bežičnom pružanju usluga unutar J2ME okruženja s

naglaskom na otkrivanje, preuzimanje i instalaciju usluge. Kao drugo moguće rješenje za

bežično pružanje usluga, opisan je protokol Push-OTA te dijelovi mrežne arhitekture potrebni

za njegovu izvedbu. Kod razvoja lokacijske usluge, pojavio se problem odabira metode

lociranja korisničkog pokretnog uređaja. Trebalo je odabrati metodu koja će za taj tip usluge

pružiti zadovoljavajuću razinu preciznosti i koja će zahtijevati što manju prilagodbu

korisničkog uređaja te koristiti postojeće mrežne mogućnosti. U radu je zato dan pregled

nekoliko najvažnijih metoda lociranja te se analizom došlo do zaključka da je najbolje

rješenje metoda identifikacije ćelije. Drugi problem koji se pojavio kod razvoja usluge bio je

kako povezati lokacijsku informaciju s traženim sadržajem. Kao očito rješenje, s obzirom na

moguću količinu sadržaja i ograničenost memorijskih kapaciteta pokretnih uređaja, nametnulo

se da se povezivanje odvija na udaljenom poslužitelju koji će upitima prema lokalnoj

relacijskoj bazi podataka dobiti traženi sadržaj i isporučiti ga natrag korisniku. Treći problem

je bio kako ostvariti komunikaciju između pokretnog uređaja i poslužitelja bežičnog pružanja

usluga te između pokretnog uređaja i poslužitelja lokacijske usluge. U oba slučaja se kao

rješenje ponudila komunikacija protokolom TCP/IP. U prvom navedenom slučaju to je

proizašlo iz same specifikacije bežičnog pružanja usluga, a u drugom se to ponudilo kao

najbolje rješenje s obzirom na prirodu usluge te potrebno vrijeme obrade na poslužitelju.

Praktična verifikacija navedenih rješenja provedena je izvedbom poslužitelja za bežično

pružanje usluga te lokacijske usluge koja korisniku dostavlja lokacijski zavisni sadržaj i koja

se na korisnički uređaj instalira korištenjem bežičnog pružanja usluga. Izvedena lokacijska

usluga spada u lokacijske informacijske usluge i lako se može prilagoditi i za pružanje neke

druge vrste informacijskog sadržaja. Također je provedena i analiza poslovne izvedivosti

lokacijskih usluga u općenitom smislu kao i usluge realizirane u ovom radu te su u tom

pogledu i predložena neka praktična rješenja.

Page 65: DIPLOMSKI RAD br. 2718 DINAMIŒKO PRU½ANJE USLUGA NA

61

Literatura

[1] Enrique Ortiz, C. 2002. Introduction to OTA Application Provisioning

http://developers.sun.com/techtopics/mobility/midp/articles/ota/

[2] Sun Microsystems 2002. Mobile Information Device Profile Specification v2.0

http://java.sun.com/j2me/download.html

[3] WAP Forum 2001. Push OTA Protocol

http://www.wapforum.org

[4] Sharad Chandra Agrawal 2003. Location Based Services

http://www.tcs.com/0_whitepapers/htdocs/atc/location_based_services_sep03.pdf

[5] Ladas, Edwards, Peersman 2001. Use of Wireless Application Protocol service

configuration provision over the Short Messaging System for nomadic device adaptation

http://www.cms.livjm.ac.uk/pgnet2001/papers/REdwards.zip

[6] Marin Vuković 2006. Isporuka lokacijski specifičnog sadržaja pokretnim korisnicima,

diplomski rad, Fakultet elektrotehnike i računarstva, Zagreb

[7] Bharat Rao, Louis Minakakis 2003. Evolution of Mobile Location-based Services

Communications of the ACM, Vol. 46, No.12

[8] Gaetano Borriello 2005. RFID: Tagging the World, Communications of the ACM,

Vol. 48, No.9

[9] Bažant, Lovrek, Mikac i drugi 2003. Osnovne arhitekture mreža

Element, Zagreb