81
Rok Prejac Prodaja nepremičnin na mobilni platformi Android Diplomsko delo Maribor, januar 2012

Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Rok Prejac

Prodaja nepremičnin

na mobilni platformi Android

Diplomsko delo

Maribor, januar 2012

Page 2: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Diplomsko delo univerzitetnega študijskega dela

Prodaja nepremičnin

na mobilni platformi Android

Študent: Rok Prejac

Študijski program: UN ŠP Računalništvo in informatika

Smer: Informatika

Mentor: izr.prof.dr. Aleš Ţivkovič

Lektorica: Meteja Volmajer, prof. slovenskega jezika

Maribor, januar 2012

Page 3: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android III

Page 4: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android IV

ZAHVALA

Zahvaljujem se vsem mojim najbližjim, družini in

prijateljem, ki so mi vedno stali ob strani in me

znova in znova podpirali pri vseh mojih odločitvah,

ki sem jih do sedaj sprejel.

Hvala tudi mojemu mentorju dr. Alešu Živkoviču

za strokovno pomoč in vodenje pri pripravi

diplomskega dela.

Prisrčna hvala vsem!

Page 5: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android V

PRODAJA NEPREMIČNIN NA MOBILNI PLATFORMI ANDROID

Ključne besede: Android, REST, spletne storitve, GPS, prodaja nepremičnin, Moneta,

Google geocoding

UDK:004.451:004.775(043.2)

Povzetek

V diplomskem delu smo preučili možnosti uporabe mobilnih platform za poslovno uporabo

in povezovanje poslovnih sistemov. Razvili smo aplikacijo za prodajo nepremičnin.

Odločili smo se za mobilne naprave z operacijskim sistemom Android. Slednjega smo vzeli

pod drobnogled, raziskali njegovo povezljivost s spletno storitvijo vrste REST. Pokazali

smo zmogljivosti izkoriščanja sistema GPS na mobilnem telefonu in jih praktično uporabili

v aplikaciji.

Preučili in implementirali smo povezljivost aplikacije s strežnikom in povezljivost strežnika

s podatkovno bazo. Strežnik spletnih storitev REST je bil razvit v ogrodju .NET podjetja

Microsoft. Prikazali smo tudi spletni vmesnik kot administrativni vmesnik aplikacije.

Page 6: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android VI

SELLING OF REAL ESTATE ON THE MOBILE PLATFORM ANDROID

Key words: Android, REST, web services, GPS, selling of real estate, Moneta, Google

geocoding

UDK:004.451:004.775(043.2)

Abstract

In the presented diploma work we examined the use of mobile phones as the interface for

selling real estate with the Android operating system.

We investigated its connectivity with the REST web service. We have shown the capacity

utilization of GPS on the phone and used them in the application.

We studied and then implemented the client-server and server-database connectivity. The

web-service server was implemented in the .NET framework. We also displayed an

administrative web interface for the application.

Page 7: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android VII

Vsebina

1 UVOD 1

2 PLATFORMA ANDROID 3

2.1 RAZVOJ MOBILNIH APLIKACIJ ZA PLATFORMO ANDROID 3

2.2 ANDROID SDK 5

2.3 RAZVOJNO OKOLJE ANDROID 6

3 SPLETNE STORITVE REST 8

3.1 UPORABA SPLETNIH STORITEV REST NA PLATFORMI ANDROID 9

4 TEHNOLOGIJE ZA DOLOČANJE LOKACIJE 10

4.1 SISTEM GPS 10

4.2 SISTEM A-GPS 10

4.3 DOLOČITEV LOKACIJE GLEDE NA BAZNE POSTAJE MOBILNEGA OMREŽJA 11

4.4 WI-FI LOCIRANJA 12

4.4.1 SISTEM NAJBLIŽJEGA SENZORJA 12

4.5 GOOGLE GEOCODING API 12

5 MOBILNI SISTEM PLAČEVANJA 15

5.1 SISTEMI PLAČEVANJA 15

5.2 OPIS SISTEMA MONETA 16

5.3 PLAČILNI INSTRUMENT 17

5.4 STORITEV MONETA 17

5.5 UPORABA MONETE 18

Page 8: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android

VIII

5.5.1 PREGLED TRANSAKCIJ 20

5.5.2 NAKUP 20

5.5.3 NAROČILO 30

6 POSLOVNI PROCES PRODAJE/NAKUPA NEPREMIČNINE 32

6.1 ISKANJE NEPREMIČNINE 32

6.2 IZBIRA NEPREMIČNINE 34

6.3 NAKUP NEPREMIČNINE 34

7 FUNKCIONALNOSTI 37

7.1 UPORABA APLIKACIJE 37

7.2 PRIMERI UPORABE 38

7.2.1 PRIMERI UPORABE: SPLETNI ODJEMALEC 38

7.2.2 PRIMERI UPORABE: MOBILNI ODJEMALEC 39

7.3 ARHITEKTURNI DIAGRAM 40

7.4 RAZVOJ STREŽNIKA 41

7.5 RAZVOJ SPLETNEGA ODJEMALCA 46

7.5.1 ZASLONSKE MASKE SPLETNEGA ODJEMALCA 48

7.6 RAZVOJ ODJEMALCA ZA ANDROID 50

7.6.1 NASTAVITVE ISKANJA 51

7.6.2 NASTAVITVE PRIKAZA 53

7.6.3 PRIDOBIVANJE PODATKOV O LOKACIJI NA TELEFONU 54

7.6.4 ISKANJE NEPREMIČNIN 55

7.6.5 ISKANJE PO CELOTNI PONUDBI 56

7.6.6 DODAJANJE NEPREMIČNIN 57

Page 9: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android IX

7.6.7 ZASLONSKE MASKE MOBILNE APLIKACIJE: 58

8 SKLEP 61

9 VIRI 63

10 PRILOGE 66

10.1 KAZALO SLIK 66

10.2 KAZALO PRIMEROV KODE 67

10.3 NASLOV ŠTUDENTA 68

10.4 KRATEK ŽIVLJENJEPIS 68

Page 10: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android X

Uporabljene kratice

XML - Extensible Markup Language

SDK - Software development kit

API - Application programming interface

OpenGL - Open Graphics Library

GPS - Global positioning system

SOAP - Simple Object Access Protocol

WSDL - Web Services Description Language

HTTP - Hypertext Transfer Protocol

HTTPS - Hypertext Transfer Protocol Secure

RSS - Really Simple Syndication

JSON - JavaScript Object Notation

GSM - Global System for Mobile Communications

UMTS - Universal Mobile Telecommunications System

SIM - Subscriber Identification Module

BPMN - Business Process Model and Notation

ADO.NET - ActiveX Data Objects for .NET

WCF - Windows Communication Foundation

IIS - Internet Information Services

ASP - Active Server Pages

ADT - Android Development Tools

AVD - Android Virtual Devices

ROA - Resource Oriented Architecture

Page 11: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 1

1 Uvod

Prodaja nepremičnin v Sloveniji nima tradicije, saj je še pred dvema desetletjema imela

plansko gospodarstvo. Trg se je začel razvijati, v tranziciji, v trţno usmerjeno

gospodarstvo v devetdesetih letih prejšnjega stoletja. Število nakupov je iz leta v leto strmo

naraščalo, kar tudi nakazuje število nepremičninskih agencij, katerih je bilo leta 2007 čez

930. [33]

Z gospodarsko krizo leta 2008 je prišlo tudi nepremičninskega krča, ki je povzročil

zaprtje več kot 150 nepremičninskih agencij po vsej Sloveniji. Razseţnost krča nam

prikazuje podatek, da je bilo konec leta 2007 na mesec prodanih tudi do šest tisoč

nepremičnin, v zadnjih mesecih leta 2011 pa le nekaj sto. [33]

Zadali smo si cilj, da v diplomski nalogi izdelamo programsko rešitev za iskanje

nepremičnin, ki bi predstavljala poslovno prednost nepremičninskim agencijam, predvsem

pa boljšo uporabniško izkušnjo iskalcem nepremičnin. Posledično bi s tem pripomogli tudi

k večjemu zanimanju za nakup nepremičnin.

Oblike prodaje nepremičnin so se skozi čas občutno spreminjale. Sprva so bile ustne,

kasneje pa pisne preko raznih oglasov oziroma oglasnikov. Z računalniki in dobo interneta

se je prodaja selila na svetovni splet, ki je tako postala glavni vir iskanja. Prodaja in iskanje

se počasi selita tudi na pametne telefone, ki z uporabo lokalizacijskih tehnologij in

socialnih omreţij omogočajo nove načine iskanja informacij. [23]

V okviru diplomske naloge smo implementirati rešitev za iskanje nepremičnin preko

mobilnih naprav, na katerih je nameščen operacijski sistem Android. Pri iskanju

nepremičnin smo uporabili koordinate GPS, kot nov iskalni parameter, ki v aplikaciji

predstavlja drugačen način, kako iskati nepremičnine v okolici, kjer se uporabnik nahaja.

Page 12: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 2

Za raziskavo področja prodaje nepremičnin smo preučili delovanje slovenskih spletnih

iskalnikov nepremičnin, ki so sluţili kot referenčne točke za izdelavo našega grafičnega

vmesnika. Prav tako smo raziskali in podprli poslovne procese prodaje nepremičnin z

vidika prodaje na spletu. Povzeli smo, kateri so najpomembnejši parametri za iskanje

nepremičnin in jih prilagojeno uporabili v naši aplikaciji. Za nepremičninske agencije smo

razvili dodaten spletni vmesnik, ki te poslovne procese podpira.

Page 13: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 3

2 Platforma Android

Android je operacijski sistem za mobilne naprave, ki ga je razvilo podjetje Android Inc.

Leta 2005 ga je kupilo podjetje Google. Po nakupu so začeli Google ter drugi člani Open

Handset Alliance sodelovati pri razvoju omenjenega sistema. Proti koncu leta 2010 je

postal operacijski sistem Android najbolj prodajani sistem na pametnih telefonih in je s

tem prevzel prvo mesto operacijskemu sistemu Nokia Symbian.[5] Operacijski sistem je v

sklopu zavzemanja za odprte mobilne rešitve izdan večinoma pod odprtokodno licenco

Apache. Skupaj z operacijskim sistemom so izdali tudi SDK (Software Development Kit)

in navodila za razvoj aplikacij. Oktobra 2008 so izdali prvo napravo z novim operacijskim

sistemom Android imenovano HTC Dream. Od takrat se je ponudba širila ter do junija

2011 presegla kvoto 90 mobilnih telefonov z operacijskim sistemom Android. [26]

2.1 Razvoj mobilnih aplikacij za platformo Android

Platforma Android temelji na jedru Linux 2.6 in razvojnem programskem jeziku Java.

Vključena je tudi podpora za razvoj v jeziku C++. Android SDK predstavlja enega

najpomembnejših delov za razvoj, saj vsebuje vse potrebne razrede za delo s telefonom,

hkrati pa vključujejo enostaven dostop do strojne opreme telefona. [2] Pri razvoju za

telefone Android je smotrno biti pozoren na sledeče stvari. Prva posebnost je izdelava

grafičnega vmesnika, ki ga lahko implementiramo direktno v programski kodi, tako kot v

drugih sistemih ali pa grafični vmesnik definiramo v XML datoteki. V XML datoteki

deklariramo grafične elemente, ki se med seboj hierarhično navezujejo. Dodeljujejo se jim

posamezne lastnosti in vrednosti. Ta pristop nam omogoča spreminjanje grafičnega

vmesnika neodvisno od implementacije programa. Zanimivost je tudi upravljanje s procesi.

Med seboj jih obravnava enakovredno in neodvisno od vira. To pomeni, da bo razvita

aplikacija delovala z enako prioriteto kot sistemski program oziroma proces, kar pa

predstavlja razvijalcem za Android moţnost razvoja zelo odzivnih aplikacij. Zanimivost je,

da Android prav tako izvaja vsak program oziroma proces v svoji niti, le-te pa tečejo na

navideznemu stroju Dalvik, ki je okrnjena različica Javinega navideznega stroja.

Aplikacije so lahko zgrajene iz naslednjih gradnikov:

aktivnost,

Page 14: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 4

storitve,

sprejemniki sporočil,

ponudniki vsebin.

Aktivnost predstavlja za uporabnika viden grafični vmesnik, preko katerega ga lahko

uporablja. To je v osnovi okno, ki vsebuje različne grafične gradnike. Vsaka aplikacija je

lahko zgrajena iz več aktivnosti. Da preidemo iz ene aktivnosti v drugo, to aktivnost

enostavno pokličemo. Aktivnosti so si med sabo neodvisne in dedujejo od razreda Activity.

V tem koraku je priporočljivo vedeti, v katerem stanju se aktivnost nahaja. Poznamo tri

osnovna stanja: aktivno, v premoru in ustavljeno (ang. active, paused, stoped). Aktivna

aktivnost je označena in se v tistem času izvaja, zato ima uporabnik dostop do nje.

Aktivnost v premoru je izgubila fokus, vendar pa je uporabniku še vedno vidna. To se

lahko zgodi, če jo prekrije druga aktivna aktivnost, ki pa ne zasede celotnega zaslona.

Ustavljena aktivnost pa je uporabniku nevidna, kljub temu pa ohranja vse njene podatke.

Storitev je del, ki nima grafične predstavitve in teče v ozadju. Uporablja se večinoma za

operacije, ki se izvajajo dlje časa. To je dobrodošlo predvsem za uporabnika, saj lahko v

tem primeru istočasno opravlja nekaj drugega.

Sprejemniki sporočil so gradniki prejema in se odzivajo na sporočila telefona. Tako

lahko telefon sprejme različna sporočila (primer: prazna baterija) in kot odziv sproţi

nekakšen proces oziroma aktivnost ali pa se kako drugače odzove. Ne vsebuje pa

grafičnega vmesnika, zato uporabnik ne more z njim direktno komunicirati.

Ponudniki vsebin so gradniki, ki omogočajo dostop do podatkov aplikacije drugim

aplikacijam. To se naredi preko podatkovne baze SQLite, datotečnega sistema ali pa na

kakšen drug način. Aplikacije lahko do teh podatkov dostopajo preko razreševalnika

vsebin (ang. Content resolver).

Page 15: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 5

Ob zaključku razvoja aplikacije je le-ta v fazi trţenja. Google je po vzoru drugih naredil

lastno trţnico (Android Marketplace), kjer se lahko objavljajo vse razvite aplikacije. S tem

je Google ustvaril enotno mesto, kjer lahko uporabniki iščejo in kupujejo aplikacije.

Slika 2-1 Android market

2.2 Android SDK

Android SDK je namestitveni paket, ki ga moramo namestiti, kadar razvijamo za

platformo Android. Ta je sestavljen iz treh delov. Prvi je dokumentacija, ki je enaka, kot jo

najdemo na spletni strani »http://developer.android.com«. Drugi del so primeri, ki veljajo

za skupek šestih projektov razvojnega okolja Eclipse, ki jih lahko poţenemo in testiramo.

Zelo uporaben primer je projekt API Demos. To je aplikacija, ki predstavi večino

funkcionalnosti, ki jo ponuja Android. Zadnji, tretji del je razredna knjiţnica, ki je jedro

Androida SDK. Ta je sestavljena iz dveh sklopov: Google API in opcijske knjiţnice.

Google API vsebuje razrede za delo s storitvami, ki jih ponuja Google. Razredi omogočajo

delo z imenikom, grafiko, s koledarjem in enostavno delo z Google Maps. [2] V aplikacijo

lahko vključimo zemljevide iz Google Maps, z razredi iz imenskega prostora

com.google.android.map. Google API vsebuje tudi razrede za delo z Extensible Messaging

in s Presence Protocol (XMPP), ki je bil razvit pri odprtokodni skupnosti Jabber. [27] S

tem protokolom aplikacija najde odjemalce, s katerimi lahko komunicira. Izdelava

Page 16: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 6

programa »Messenger« potrebuje prav takšen protokol, saj z njim ustvarja komunikacijo.

Opcijski API pa vsebuje razrede, ki upravljajo s strojno opremo, ki ni nujno nameščena na

telefonu. Med to strojno opremo se zlahka najde GPS-naprava, Bluetooth, Wi-Fi in strojna

oprema, ki podpira OpenGL. S tem je omogočen zelo enostaven dostop do teh naprav,

medtem ko je pri drugih napravah dostop nekoliko oteţen.

2.3 Razvojno okolje Android

Mobilne telefone Android lahko razvijamo v vseh razvojnih okoljih, ki podpirajo razvoj

za programski jezik Java. Pomembno je le, da se nastavijo pravilne knjiţnice. Ker je ta

proces lahko zelo zamuden, je Google izdal dodatek za razvojno okolje Eclipse. Po

namestitvi tega se v okolje integrira celotna podpora za razvoj Android. Ta izbira je

najenostavnejša, zato smo jo uporabili tudi v diplomskem delu. V prvem koraku je

potrebno namestiti Eclipse in Android SDK, ki jih najdemo kot brezplačne datoteke na

spletu in jih lahko enostavno prevzamemo ter namestimo. Uporabili smo različico Android

SDK 2.2. Sledi namestitev ADT (Android Development Tools), ki je vtičnik za Eclipse. Ta

razširi razvojno okolje z moţnostjo ustvarjanja projektov Android, ustvarjanja grafičnega

vmesnika, razhroščevanja aplikacije ter še drugih uporabnih komponent. Emulator

kontroliramo z AVD (Andorid Virtual Devices) konfiguracijsko strojno opremo, ki jih

uporablja emulator. Vsak AVD je sestavljen iz več delov:

Profil strojne opreme: ta definira, katera strojna oprema bo emulirana. Tako

lahko določimo, ali naj aparat vsebuje kamero oziroma GPS ali kakšno

tipkovnico naj uporabljamo.

Povezava s sistemsko sliko: definiramo lahko, katera verzija naprave Android

bo tekla na virtualni napravi.

Druge nastavitve: nastavimo lahko, kakšen izgled naj ima emulator in katero SD

kartico naj emulira.

Določen prostor na lokalnem računalniku, ki je uporabljen za razne nastavitve, ki jih

uporablja emulator in sistem Android: to so razni podatki o naloţenih aplikacijah in

vsebina emulirane SD-kartice. Ustvarimo lahko poljubno število AVD-konfiguracij, ki so

nastavljene glede na naše potrebe. Še eno zanimivo orodje, ki je vgrajeno v ADT, je

Page 17: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 7

DDMS (Dalvik Debug Monitor Server). Ta se uporablja za storitve posredovanja vrat,

zajemanja zaslona na napravi, za spletne storitve Android, posredovanje informacij o nitih

in kopicah, o procesih, za laţno predstavljanje dohodnih klicev, SMS sporočil ipd.

Slika 2-2 Android emulator

Page 18: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 8

3 Spletne storitve REST

Pod izrazom spletne storitve si večina predstavlja storitve, ki bazirajo na trojčku

tehnologij – komunikacijskem protokolu SOAP, jeziku za opis vmesnikov storitev WSDL

in imenikovi storitvi UDDI. Takšne storitve so podlaga za t.i. storitveno arhitekturo (angl.

SOA - Service Oriented Architecture), ki se uporablja pri implementaciji najzmogljivejših

informacijskih platform. Vpeljava storitvene arhitekture, zlasti če ţelimo primerno

implementirati varnostne standarde, lahko predstavlja velik strošek in kompleksnejšo

izgubo. Pri implementaciji manjših informacijskih sklopov postajajo vedno bolj

pomembne spletne storitve REST, ki so podlaga za arhitekturo virov (angl. ROA -

Resource Oriented Architecture), temelječo na le-teh. [20]

Osnovni koncept modela REST so viri s svojimi identifikatorji. Identifikatorji so npr.

spletne strani, sporočila novičarskih skupin ali datoteke na streţnikih FTP. Edini pogoj za

obstoj identifikatorja je, da ga lahko opišemo kot edinstveni identifikator (angl. URI –

Uniform Resource Identifier).

Pri spletnih storitvah REST se za dostop do virov uporabljajo osnovne metode

protokola http: metoda GET za branje podatkov, metoda POST za ustvarjanje novih virov,

metoda PUT za spremembe podatkov na posameznih virih in metoda DELETE za brisanje

virov.

Uporaba spletnih storitev REST je smotrna, če imamo potrebo po spletnem vmesniku in

če ţelimo do storitev dostopati iz različnih naprav – od mobilnih naprav do večjih

streţnikov. Vse naprave, ki imajo dostop do spleta, imajo namreč hkrati dostop do

osnovnega nabora metod HTTP .

Ustrezno lahko implementiramo tudi varnost. Uporabimo lahko več vrst avtentikacije in

avtorizacije, npr. Basic access authorization ali avtentikacija s certifikatom. Varno

povezavo vzpostavljamo preko protokola HTTPS.

Page 19: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 9

3.1 Uporaba spletnih storitev REST na platformi Android

Platformi Android je priloţena knjiţnica Apache HttpClient 4, ki omogoča

manipulacijo z viri. [20]

Podobno postopamo tudi pri manipulaciji virov z drugimi metodami HTTP – za branje,

spreminjanje ali brisanje virov. Namesto objekta HttpPost kreiramo ustrezne objekte glede

na izbrano metodo HTTP (npr. HttpGet, HttpDelete ali HttpPut), nato pa nad njimi

izvedemo metodo execute.

Slika 3-1 Arhitektura REST storitev [24]

Page 20: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 10

4 Tehnologije za določanje lokacije

4.1 Sistem GPS

Sistem GPS je bil razvit v Zdruţenih drţavah Amerike za vojaške namene. Šele leta

1983 so ga ponudili tudi v civilno uporabo. GPS se nanaša na 24 satelitov, ki kroţijo okoli

Zemlje v srednji orbiti (19.300 km). Pri tem so postavljeni tako, da se vidijo najmanj štirje

sateliti naenkrat. GPS-prejemniki, ki jih imajo končni uporabniki, uporabljajo signale, ki

jih pošiljajo sateliti in s pomočjo teh določijo točno lokacijo na Zemlji. To jim uspe s

pomočjo uporabe matematičnega principa trilateracije, ki se uporablja za iskanje presečišča

treh sferičnih objektov v prostoru. Tako lahko z uporabo te metode in poznavanjem

razdalje oddaljenosti satelitov določimo lokacijo na Zemlji. Kot dodatno sfero ponavadi

uporabimo kar Zemljo in tako še dodatno izboljšamo natančnost. V primeru uporabe treh

ali več satelitov lahko določimo tudi višino in zagotovimo še večjo natančnost. [21]

Za vse izračune je potrebna razdalja od satelita do sprejemnika. Ta se izračuna s

pomočjo radijskih valov, ki jih pošiljajo sateliti. Sprejemnik s pomočjo le-teh izračuna

časovno zakasnitev signala in na podlagi tega pridobi dejansko razdaljo do satelita. Teţava

se pojavi pri merjenju časovnega zamika signala, saj bi morali imeti vsi sprejemniki in

sateliti enako nastavljene ure. To so rešili tako, da so v vse satelite namestili atomske ure,

ki delujejo do nanosekunde natančno. V sprejemnikih pa so slabše ure quartz. Sprejemnik

se zelo natančno nastavi na enak čas, kot ga imajo sateliti iz signalov, ki jih ti pošiljajo.

Kompenzirajo razne napake, ki se lahko zgodijo zaradi potovanja signala skozi atmosfero,

odbijanja ţarkov od površin in poškodovanih podatkov, ki jih lahko pošljejo sateliti.

4.2 Sistem A-GPS

Sistem znan tudi po imenu Assisted GPS oziroma AGPS, izboljšuje zmogljivosti

standardnega GPS sistema v napravah povezanih na mobilna omreţja. [30] Sistem pomaga

na dva načina:

Hitreje pridobiti povezavo s sateliti (ang: time to first fix ali TTFF). Sistem A-

GPS pridobi in shrani informacije o lokacijah satelitov preko mobilnega

omreţja. Tako tega več ni potrebno pridobiti preko satelita.

Page 21: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 11

Pomaga pridobiti pozicijo telefona, ko je GPS signal šibek ali ni na voljo. Signal

GPS satelitov ovirajo visoke stavbe in debele stene stavb. V primeru, da GPS

signala zmanjka, sistem A-GPS uporablja določitev lokacije glede na bazne

postaje mobilnega omreţja.

4.3 Določitev lokacije glede na bazne postaje mobilnega omrežja

Ta način je alternativa za mobilne naprave, ki nimajo vgrajenega GPS-sprejemnika.

Deluje na zelo podoben način kot določevanje lokacije preko GPS-satelitov. Tukaj so v

vlogi satelitov kar bazne postaje. Naprava lahko z merjenjem oddaljenosti od teh določi

svoj poloţaj glede na te oddajnike. Določitev poloţaja poteka na več načinov:

Z uporabo trilateracije: tu je princip enak kot pri GPS-metodi. Razdalja do

oddajnikov se določi s pomočjo moči signala in časovnim zamikom signala.

Z uporabo multilateracije: je zelo podobna trilateraciji, le da namesto presečišč

sfer uporablja presečišča hiperbol. Ta način ima prednost, ker ne potrebuje

časovnih zamikov za določitev razdalje.

Z uporabo triangulacije: ta način uporablja kote med trenutno lokacijo in stolpi.

Pri tem je pomembno, da imajo oddajniki usmerjene antene, s katerimi je moţno

določiti kot.

Zgoraj našteti načini uporabe oddajnikov so manj natančni kot GPS, vendar so podprti

na vseh telefonih. Omogočajo natančnost med 100 m do 3 km, odvisno od števila baznih

postaj v bliţini naprave.

V tem sklopu je potrebno omeniti tudi Google in OpenCellID. Oba delujeta na drugačen

način, saj pošiljata podatke o samo enem telefonskem oddajniku, od koder storitvi

pridobita podatek o lokaciji. Poslani podatek o oddajniku nima nikakršnih podatkov o

lokaciji oddajnika, kar povzroči teţavo pri pridobitvi lokacije. Nastalo teţavo sta obe

storitvi rešili na enak način – s podatkovno bazo vseh telefonskih oddajnikov po svetu ter

njihovo lokacijo oziroma geografsko širino in višino. Google ima svojo bazo podatkov o

telefonskih oddajnikih, vendar do te nimamo neposrednega dostopa. OpenCellID pa je

odprt projekt in omogoča poljubno brskanje po bazi. Je tudi zelo navezan na podporo

Page 22: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 12

uporabnikov, saj uporabniki vnašajo podatke o oddajnikih. V ta namen ponuja OpenCellID

posebno storitev, ki omogoča dodajanje oddajnikov.

4.4 WI-FI lociranja

Sistemi, ki za določitev lokacije uporabljajo brezţična omreţja so bili razviti predvsem,

da rešijo problem pridobitve lokacije znotraj zgradb.

Za pridobitev lokacije preko WI-FI se uporablja več različnih sistemov:

triangulacija,

najbliţji senzor,

RSS (pridobljena moč signala) in

GPS (vgrajen GPS sprejemnik).

Večino sistemov smo ţe opisali v prejšnjih točkah. Glavna razlika je, da se v teh

primerih podatki pridobijo preko WI-FI vstopnih točk.

4.4.1 Sistem najbližjega senzorja

To je najenostavnejša metoda, hkrati pa tudi najmanj natančna. Storitev podpira večina

brezţičnih omreţnih ponudnikov. Sistem ugotovi vstopno točko (ang: access point)

brezţičnega omreţja ali mobilno bazno postajo, s katero je WI-FI odjemalec povezan.

Predvideva, da je to najbliţji senzor naprave in izračuna, kako daleč naprava oddaja svoj

signal.

Natančnost lahko izboljšamo s pomočjo trilateracije, katera se namesto na bazne postaje

poveţe na najbliţje senzorje.

4.5 Google geocoding API

Geo-kodiranje (ang: geocoding) je proces spreminjanja naslova (npr: »Zgornja Selnica

24b, Slovenija«) v geografske koordinate širine in dolţine, ki jih lahko uporabimo, da

označimo točke na mapi.

Page 23: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 13

Google Maps API ponuja razred geocoder za dinamično geo-kodiranje zahtevkov.

Zahtevki so količinsko omejeni, na 2500 zahtevkov na dan [28], da se storitev ne bi

zlorabljala. Z uporabo plačljive storitve Google Maps API Premier lahko število zahtevkov

povečamo na 100000 na dan.

Geolocaton API omogoča spletni aplikaciji, da dobi uporabnikovo geo-grafično

pozicijo. [6]

Uporablja lahko tudi spletne streţnike, da pridobi pozicijo. Streţnik ugotovi pozicijo

odjemalca z uporabo podatkov, ki jih priskrbi uporabnik. Ti podatki vsebujejo odjemalcev

IP naslov in informacije o oddajnih stolpih ali brezţičnih vozlišč, ki jih lahko zazna.

Komunikacija je narejena preko HTTP protokola, API pa naredi zahtevek (ang: request) z

uporabo HTTP POST. Tako zahtevek (ang: request), kot odgovor (ang: response) sta

oblikovana kot JSON, tip vsebine pa (content type) je application/json. Osnovna uporaba je

prikazana na primeru kode 6-1. [26]

var geocoder;

var map;

function initialize() {

geocoder = new google.maps.Geocoder();

var latlng = new google.maps.LatLng(-34.397, 150.644);

var myOptions = {

zoom: 8,

center: latlng,

mapTypeId: google.maps.MapTypeId.ROADMAP

}

map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

}

function codeAddress() {

var address = document.getElementById("address").value;

geocoder.geocode( { 'address': address}, function(results, status) {

if (status == google.maps.GeocoderStatus.OK) {

map.setCenter(results[0].geometry.location);

var marker = new google.maps.Marker({

Page 24: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 14

map: map,

position: results[0].geometry.location

});

} else {

alert("Geocode ni bil uspešen iz naslednjih razlogov: " + status);

}

});

}

<body onload="initialize()">

<div id="map_canvas" style="width: 320px; height: 480px;"></div>

<div>

<input id="address" type="textbox" value="Zg. Selnica 24.b, Slovenija">

<input type="button" value="Encode" onclick="codeAddress()">

</div>

</body>

Primer kode 4-1 Primer uporabe Google geocoding API [26]

Page 25: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 15

5 Mobilni sistem plačevanja

V literaturi se pojavljajo različne definicije mobilnega plačevanja, zato omenimo

nekatere bolj pogoste. Najbolj splošna definicija je, da govorimo o mobilnem plačilu

takrat, kadar za plačevanje uporabljamo kot plačilni instrument mobilni terminal.

Mobilno plačevanje predstavlja del elektronskih plačil, ki so definirana kot »prenos

elektronskega plačila od plačnika do prejemnika plačila z uporabo elektronskega

plačilnega instrumenta« (Soramaeki in Hanssens, 2003).

Če upoštevamo, da lahko proces plačila poteka po zraku, pridemo do naslednje

definicije mobilnega plačevanja (Mobile Payment Forum, 2002): »Mobilno plačilo je

prenos elektronskega plačila od plačnika do prejemnika plačila z uporabo elektronskega

plačilnega instrumenta, pri čemer mobilni terminal uporablja vsaj eden izmed udeleţencev,

ki ni vezan na lokacijo in ki oddaja ali sprejema podatke prek brezţične povezave.«

Podjetja se odločajo za mobilni način plačevanja z različnimi razlogi:

veliko število uporabnikov,

mikro plačila,

širitev delovanja trgovcev in

mobilni sistem je osnovno uporabniško orodje.

Glavni razlog za uvedbo mobilnega plačilnega sistema je ponuditi uporabnikom

dodatno vrednost in priročnost ter seveda povečati dobiček. [19]

5.1 Sistemi plačevanja

Ponujajo bistveno več storitev kot le plačevanje. Omogočajo prenos sredstev med

posamezniki ali podjetji, plačilo storitev, sodelovanje na draţbah, donacije …

Vsi sistemi temeljijo na enakem poslanstvu, vendar se med njimi pojavljajo razlike v

delovanju, predvsem pa v ponudbi. Globalna igralca sta dva:

Page 26: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 16

PayPal in

Google Wallet (prej Google Checkout).

PayPal ima na trgu precejšnjo prednost, predvsem zaradi daljše prisotnosti na trgu ( od

leta 1998 proti 2006). [32]

Na slovenskem trţišču je močno razširjen tudi slovenski sistem Moneta.

5.2 Opis sistema Moneta

V Sloveniji je za plačevanje z mobilnim telefonom od leta 2001 uporabnikom na voljo

storitev Moneta, ki jo je razvila druţba Mobitel, predvsem za plačevanje izdelkov in

storitev manjših vrednosti. Kupec nakupe poravna enkrat mesečno z enotnim računom

Mobitel GSM/UMTS ali z Debitelovim računom GSM. Leta 2004 sta druţba Mobitel in

Nova KBM storitve mobilnega plačevanja Moneta nadgradili in zaokroţili tako, da je

mogoče mesečni znesek nakupov poravnati tudi neposredno s transakcijskega računa pri

banki. S tem lahko postane mobilni aparat samostojno plačilno sredstvo tudi za velike

nakupe, vendar v okviru finančnega poslovanja pri banki. V Sloveniji je z mobilnim

aparatom danes moţno plačevati na spletnih straneh, prodajnih avtomatih in na vseh

prodajnih mestih, ki so opremljena s terminali za mobilno plačevanje. Z naraščanjem

števila prodajnih mest, ki omogočajo plačevanje z mobilnim aparatom, strokovnjaki

napovedujejo, da bo mobilno plačevanje v naslednjih letih predstavljajo pomemben

segment plačilnih storitev tako pri nas kot v Evropski uniji in po večini drţav po svetu.

Nekateri celo verjamejo, da bo mobilni aparat na tem področju prekosil tudi t. i. pametne

kartice. [19]

Moneta je skupna trţna znamka druţbe Mobitel in Nove KBM, s katero so

poimenovani:

celovito odprt sistem plačevanja z mobilnimi telefoni,

plačilni instrument Moneta,

storitve plačevanja z mobilnimi telefoni za uporabnike in

storitve sprejemanja plačil z mobilnimi telefoni za prodajna mesta.

Page 27: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 17

V sistem Moneta so povezane banke, mobilni operaterji in druge institucije, ki delujejo

kot izdajatelji plačilnega instrumenta Moneta ter lastnika sistema Moneta – druţba Mobitel

in banka NKBM. Sistem Moneta je zasnovan na načelih odprtih kartičnih plačilnih

sistemov, domačih (Activa) ali tujih (Visa, MasterCard), kar pomeni, da se institucije vanj

vključujejo v vlogi izdajateljev.

Vsi izdajatelji v sistemu Moneta so med seboj enakovredni z vidika temeljnega

poslovnega načela: izdajatelji v sistemu Moneta sproti (dnevno) poravnavajo skupni

znesek vseh transakcij svojih uporabnikov, ki so izvedeni v okviru sistema, za kar prejmejo

izdajateljsko provizijo od poravnanega zneska. Vsak posamezen član sistema ob vstopu

sklene pogodbeno razmerje z lastnikoma sistema, ki sta ob enem tudi pridobitelja v

sistemu Moneta.

5.3 Plačilni instrument

Plačilni instrument Moneta predstavlja nabor dogovorov in pravil med člani sistema

Moneta, po katerih ti poslujejo znotraj sistema in po katerih omogočajo poslovanje svojim

strankam – uporabnikom Monete. Moneta je plačilni instrument z odloţenim plačilom, kar

pomeni, da izdajatelji račune uporabnikov bremenijo enkrat mesečno v skupnem znesku

njihovih transakcij, opravljenih v obdobju od zadnje bremenitve. [19]

5.4 Storitev Moneta

Uporabo storitve Moneta in s tem plačilnega instrumenta Moneta odobri uporabniku

izdajatelj. Temeljna značilnost storitve Moneta z vidika uporabnika je, da ta kot sredstvo

za izvedbo plačilnega postopka s plačilnim instrumentom Moneta vedno uporablja svoj

mobilni telefon. Storitev Moneta tako za uporabnika pravzaprav predstavlja navidezno

plačilno kartico, ki pa ni izdana v plastični oz. materialni obliki, ampak se uporablja z

njegovim mobilnim telefonom. Storitev Moneta je v vseh svojih pojavnih oblikah vezana

na uporabo mobilnega telefona, zato lahko uporabnika pri izvedbi transakcije vedno

Page 28: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 18

primarno identificiramo z njegovo mobilno številko, na katero so vezani njegovi

posamezni računi. [19]

To prinaša pomemben element varnosti, saj lahko zagotovimo, da uporabnik v času

transakcije zares poseduje svoj plačilni medij, to je mobilni telefon. Seveda se morajo

uporabniki zavedati novega elementa, v tem primeru občutljivosti za svoj telefonski aparat,

saj s tem postaja le-ta tudi njihova denarnica. Po splošnih izkušnjah to ni problematično,

saj je mobilni telefonski aparat postal splošno razširjen in izrazito oseben predmet, ki ga

večina uporabnikov ob izgubi ali kraji zelo hitro pogreša, prav tako je mogoče mobilno

številko (oz. kartico SIM v aparatu) nemudoma v celoti blokirati, torej sta aparat in

številka sama po sebi manj podvrţena zlorabi.

Moneta ponuja varno mobilno plačevanje z odlogom plačila in z enotnim in varnim

postopkom identifikacije. Odkar je Moneta na voljo tudi pri operaterju Simobil, se je deleţ

pokritja prebivalcev Slovenije povečal na več kot 1,8 milijona naročnikov pri mobilnih

ponudnikih Mobitel, Debitel ter Simobil. Trenutno je eden boljših plačilnih načinov na

voljo v Sloveniji.

5.5 Uporaba Monete

Vstopna točka za skrbniške strani za ponudnike vsebin preko e-Monete je

https://nastavitve.moneta.mobitel.si/provider/login.asp. [13]

Ponudniki plačljivih storitev lahko preko spletnega vmesnika sistema Moneta za

ponudnike izvajajo naslednje:

vnos podatkov o ponudniku plačljivih storitev,

dodajanje novih uporabnikov za dostop do spletnega vmesnika,

prenos XML oblik računov in naročil na lokalni disk ponudnika,

pregled vnesenih plačljivih storitev,

pregled statistike,

Page 29: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 19

pregled/potrjevanje/preklic naročil,

pregled računov in

pregled transakcij.

V razdelku »nastavitve« lahko ponudnik vnese naslednje podatke:

naziv ponudnik/podatki o podjetju,

kontaktni podatki ponudnika,

sliko glave in noge računa/naročilnice,

elektronsko pošto za obveščanje o naročilih in

številčno serijo računov/naročil.

V razdelku »dostop« se prikaţe obrazec za dodajanje novih uporabnikov ter določanje

pravic, ki so jim dodeljene. V razdelku »izvoz« si lahko ponudnik pretoči XML obliko

računov in naročil na lokalni disk. V razdelku »plačljive strani« lahko ponudnik izvede

pregled nad vnosom njegovih plačljivih storitev. Razdelek »statistika« omogoča

ponudniku vpogled v statistiko skupnih zneskov transakcij. V razdelku »naročila« pa ima

ponudnik pregled nad naročili.

Nepotrjena naročila lahko ponudnik potrdi (znesek naročila se zaračuna kupcu) ali jih

zavrne. Obvestilo o potrjenem ali zavrnjenem naročilu se pošlje h kupcu na elektronsko

pošto in SMS.

Za izpis računov lahko ponudnik uporabi kombinacijo filtrov:

obdobje izdanih računov,

MSISDN številka kupca in

številka naročila.

Page 30: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 20

Ponudnik ima omogočen vpogled v posamezen račun ali v več računov hkrati.

5.5.1 Pregled transakcij

Za izpis transakcij lahko ponudnik uporabi kombinacijo filtrov:

obdobje opravljenih transakcij in

ConfirmationID podatek.

Izpis transakcije je sestavljen iz:

datuma transakcije,

naziv ponudnika plačljivih storitev in

tipa transakcije (nakup/naročilo), status transakcije.

5.5.2 Nakup

Ponudnik vsebin od Mobitela pri registraciji dobi svojo unikatno identifikacijsko

številko, npr. 98. [13] Ponudnik vsebin vsaki plačljivi strani določi unikatno

identifikacijsko številko – npr. 101 - in jo registrira preko skrbniških strani. Vse stare

povezave na to stran nadomesti s povezavo

http://tarfweb.adacta.si/TarifficationE.dll?TARIFFICATIONID=98&ConfirmationID=101.

S TARIFFICATIONID ponudnik torej identificira samega sebe, s ConfirmationID

parametrom pa plačljivo stran. Ker jo pred uporabo registrira v e-Moneti, lahko le-ta iz

zahteve določi ceno.

Ta način plačevanja zaračuna plačljivo stran kupcu, preden jo le-ta dobi. Lahko se

zgodi, da pride pri prenosu plačljive vsebine do napake in je kupec ne dobi, zato je ta način

primeren le za manjše nakupe.

Page 31: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 21

5.5.2.1 Nakup s potrditvijo

Zahteve na ponudnikovem spletnem strežniku:

aktivne spletne skripte (eno od naštetega: asp, php, pl, cgi, jsp) in

podatkovna baza (eno od naštetega: MySQL, PostgreSQL, DB2, Oracle,

MSSQL, Access).

5.5.2.2 Namestitev testnega naročanja na ponudnikov spletni strežnik

Ponudnikove plačljive strani

Na ponudnikovi plačljivi strani je dvoje spletnih skript, in sicer nakup.asp ter

potrditev.asp. [13]

Moneta pri storitvi Nakup komunicira s ponudnikovima spletnima skriptama nakup.asp

in potrditev.asp. Moneta od ponudnikovih spletnih skript nakup.asp pridobi vse potrebne

podatke o ceni storitve. Cena storitve mora biti v predpisani obliki (Točka 3: Specifikacija

dinamične cene storitve). Moneta s klicem ponudnikovih spletnih skript potrditev.asp

potrdi nakup. Moneta zaračuna ceno storitve kupcu v primeru uspešne potrditve nakupa.

Moneta klicu ponudnikovih plačljivih strani (nakup.asp ter potrditev.asp) posreduje

podatek ConfirmationID, ki je ključnega pomena pri transakciji. Podatek ConfirmationID

je povezava do posameznega nakupa v ponudnikovi lokalni podatkovni bazi.

Odzivni čas ponudnikovih plačljivih strani mora biti krajši od 60 sekund.

Vsebina datoteke ZIP, ki vsebuje izvorno kodo testnega primera storitve nakup

sistema Moneta:

nakup.asp – Moneta s klicem le-teh spletnih skript prevzame ceno storitve od

ponudnika.

potrditev.asp – Moneta s klicem le-teh spletnih skript potrdi nakup.

Korak1.asp – Začetna stran testnega nakupa (izbira cene).

Page 32: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 22

Korak2.asp – Vnos novega nakupa v ponudnikovo lokalno podatkovno bazo.

Preusmeritev kupca na URL za plačevanje sistema Moneta

ADODBFunctions.asp – Funkcije za dostop do podatkovne baze.

Slika 5-1 Tabela v ponudnikovi podatkovni bazi. Ime tablele: MONETA

Nakup.asp

Spletne skripte nakup.asp morajo biti dostopne celotnemu spletu (internetu). Omenjene

spletne skripte se nahajajo na ponudnikovem spletnem streţniku. Moneta od ponudnikovih

spletnih skript nakup.asp pridobi vse potrebne podatke o ceni storitve. Cena storitve mora

biti v predpisani obliki.

Funkcionalnost spletne skripte nakup.asp:

branje parametra ConfirmationID, ki ga posreduje Moneta pri klicu skript,

branje vrstice nakupa iz podatkovne baze, ki se navezuje na podatek

ConfirmationID,

Page 33: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 23

preverjanje veljavnosti in statusa nakupa zapisanega pod podatek

ConfirmationID,

vključitev povratne osveţitve (Ang: refresh) spletnih skript nakup.asp v HTML

izhodne podatke,

vključitev besedila, ki ponazarja status nakupa (Nakup potrjen./Nakup

zavrnjen./Nakup v obdelavi.) v HTML izhodne podatke in

v primeru uspešne potrditve (ko ima nakup pod številko ConfirmationID status

»potrjeno«) lahko ponudnik kupcu prikaţe kupljeno storitev (ţeton, novico,

članek, vstopnico) in zapiše status nakupa na »prikazano«.

Page 34: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 24

act Use Case View

Branje parametra

ConfirmationID

Start

Branje XML oblike

naročila ter statusov

naročila iz podatkov ne

baze

Status naročila: "Naročilo

ni bilo najdeno"Naročilo najdeno

Število osvežitev < 60Status naročila: "Potrditev

naročila ni uspela"

Status naročila = "Zavrnjeno"Status naročila: "Naročilo

zav rnjeno"

Status potrjevanja = "potrjeno"Status naročila: "Naročilo

potrjeno"

Status potrjevanja = "V obdelavi"Status naročila: "Naročilo

v obdelav i"

Status naročila: "Napaka"

Pov ratna osv ežitev strani

Izpis XML oblike naročila

Izpis statusa naročila

Konec

NE

DA

DA

DA

DA

NE

DA

NE

DANE

Slika 5-2 Diagram aktivnosti spletnih skript nakup.asp

Page 35: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 25

Potrditev.asp

Spletne skripte potrditev.asp morajo biti dostopne samo Moneti. Omenjene spletne

skripte se nahajajo na ponudnikovem spletnem streţniku. [13]

Moneta s klicem ponudnikovih spletnih skript potrditev.asp potrdi nakup. Moneta

zaračuna ceno storitve kupcu v primeru uspešne potrditve nakupa. Moneta kliče spletno

skripto potrditev.asp takole:

http://www.ponudnik.si/moneta/potrditev.asp?ConfirmationID=123xyz&ConfirmationSig

nature=ab*&TARIFFICATIONERROR=0&Price=4000.

Funkcionalnost spletne skripte potrditev.asp:

branje parametrov, ki jih posreduje Moneta pri klicu teh skript; ConfirmationID,

ConfirmationSignature, TARIFFICATIONERROR, Price,

branje vrstice nakupa iz podatkovne baze, ki se navezuje na podatek

ConfirmationID, če je bil nakup ţe predhodno potrjen ali zavrnjen, se

potrjevanje smatra kot neveljavno - potrditvena stran naj vrne napako

<error>1</error>,

nastavitev statusa nakupa v podatkovni bazi (zavrnjeno/potrjeno),

izhod spletnih skript potrditev.asp je samo <error>0</error> (ni napake) ali

<error>1</error> (napaka).

Page 36: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 26

act Diagram aktiv nosti spletnih skript Moneta

Start

Branje parametrov :

ConfirmationID,

ComfirmationSignature,

TARIFFICATIONERROR

Branje XML oblike

naročila ter statusov

naročila iz podatkov ne

baze

Klic s strani monete

Naročilo najdeno

TARIFFICATIONERROR = 0Zapiši status potrjev anja:

"Zav rnjeno"

Zapis Error: "1"

Zapiši status potrjev anja:

"Potrjeno"

Zapis Error: "0"

Konec

[da]

[ne]

[ne]

[da]

[da]

[da]

[ne]

[ne]

Slika 5-3 Diagram aktivnosti spletnih skript potrditev.asp

Page 37: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 27

Preverjanje potrjevanja nakupa s strani sistema Moneta

Spletne skripte potrditev.asp morajo biti dostopne samo Moneti. Direkten dostop do

spletnih skript potrditev.asp iz spleta (interneta) mora biti onemogočen.

Nekaj načinov za preprečevanje direktnega dostopa do spletnih skript potrditev.asp:

datoteka potrditev.asp se nahaja v ločeni mapi kot nakup.asp,

kompleksno ime potrditvene strani npr.: p0tr6it3v.asp,

dostop omogočen samo iz IP naslovov: 193.77.149.124 (testna Moneta) ter

213.229.249.195 (produkcijska Moneta),

uporaba gesla basic authentication in

dostop s certifikatom odjemalca.

Moneta omogoča tudi HTTPS:443.

Specifikacija dinamične cene storitve

Dinamična cena storitve mora biti v izhodni HTML kodi spletnih skript nakup.asp.

Dinamična cena določa: ceno storitve, količino, davčno stopnjo ter naziv storitve. Cena, ki

jo Moneta razbere iz dinamičnih parametrov za ceno, se zaračuna kupcu po končani

transakciji.

Vključitev dinamične cene:

<meta name="[Naziv parametra]" content="[Vsebina vrednosti]">

Nakup dveh ali več storitev hkrati

Vsaka naslednja storitev, ki jo ţeli ponudnik prodati v isti transakciji, moda vsebovati

podatek PageCode.

PageCode določa številko storitve znotraj ponudnika in je vedno isti za vsako nadaljnjo

vključeno storitev v dinamično ceno.

Page 38: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 28

V primeru, da ponudnik ţeli v eni transakciji prodati dve ali več storitev hkrati, mora

poslati zahtevek za številko PageCode na elektronski naslov: [email protected]

sd Diagram zaporedja poteka nakupa z Moneto

Kupec

:Moneta :Ponudnik

nakup artikla()

Kreiranje ComfirmationID()

Kreiranje XML oblike naročila()

Zapis naročila v podatkovno bazo()

posredovanje podatkov za plačilo() :(Moneta URL,

ConfirmationID)

Plačevanje(monetin URL)

Obrazec za vnos GSM številke()

Pošlji stevilko(GSM številka)

Pošiljanje SMS sporočila z PIN geslom na kupčevo GSM

številko(GSM številka)Obrazec za vnos PIN gesla()

Pošlji pin geslo(PIN geslo)

Preveri PIN

geslo(PIN)

Narocilo.asp(ConfirmationID)

Preveri naročilo(ConfirmationID)

Status naročila + XML

račun() :Status naročila,

XML račun

Preverjanje naročila(XML naročilo)

Status naročila()

:Status naročila Potrditev.asp(ConfirmationID)

Potrjevanje naročila(ConfirmationID)

Status potrjevanja naročila() :<error></error>

Zapis veljavnosti naročila()

Naročilo čaka ponudnika na ročno potrditev()

Slika 5-4 Diagram zaporedja poteka nakupa z sistemom Moneta

Page 39: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 29

Testiranje pravilnosti delovanja ponudnikovih plačljivih strani

Ponudnik izdela spletni skripti nakup.asp ter potrditev.asp. [13]

URL povezavi do spletnih skript pošlje na elektronski naslov:

[email protected]

Ponudnik prejme testni Monetin URL za plačevanje in nadaljnja navodila za

testiranje.

Ko so ponudnikove plačljive spletne skripte dokončane, se opravi testen nakup.

V roku enega tedna se opravi priklop na produkcijsko Moneto. Ponudnik prejme

produkcijski Monetin URL za plačevanje in nadaljnja navodila.

Sliki glave in noge računa

Na računu, ki ga izda sistem Moneta v imenu ponudnika, se prikaţe logotip ponudnika.

Zahteve za sliki:

sliki se prikaţeta na računu, ki ga Moneta izda v imenu ponudnika,

sliki naj bosta tipa GIF ali JPG,

sliki naj po X-osi ne presegata 600 pik in

sliki naj se nahajata na ponudnikovem streţniku.

Slika glave računa mora vsebovati naslednje podatke:

polno uradno ime podjetja (kot je registrirano in kakor se navede v pogodbi),

naslov in kraj ter

identifikacijska številka za DDV.

Slika noge računa mora vsebovati naslednje podatke:

ime in priimek odgovorne osebe ter

faksimile ţiga in podpisa odgovorne osebe.

Page 40: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 30

5.5.3 Naročilo

Zahteve na ponudnikovem spletnem strežniku:

aktivne spletne skripte (eno od naštetega: asp, php, pl, cgi, jsp itd.),

podatkovna baza (eno od naštetega: MySQL, PostgreSQL, DB2, Oracle,

MSSQL, Access itd.) ter

spletna trgovina.

Plačljive strani ponudnika

Ponudnikovi plačljivi strani sta spletni skripti narocilo.asp in potrditev.asp. [13]

Moneta, pri storitvi Naročilo, komunicira s ponudnikovima spletnima skriptama

narocilo.asp in potrditev.asp.

Moneta od ponudnikovih spletnih skript narocilo.asp pridobi vse potrebne podatke o

kupcu in o ceni naročila. Naročilo mora biti v predpisani XML obliki (Točka 3:

Specifikacija XML oblike naročila).

Moneta s klicem ponudnikovih spletnih skript potrditev.asp potrdi naročilo, kar pomeni,

da je Moneta uspešno prevzela ponudnikovo XML obliko naročila. Moneta klicu

ponudnikovih plačljivih strani (narocilo.asp ter potrditev.asp) posreduje podatek

ConfirmationID, ki je ključnega pomena pri transakciji. Podatek ConfirmationID je

povezava do posameznega naročila v ponudnikovi lokalni podatkovni bazi. Odzivni čas

ponudnikovih plačljivih strani mora biti krajši od 60 sekund.

Vsebina datoteke ZIP, ki vsebuje izvorno kodo testnega primera Monetine

storitve:

narocilo.asp – Moneta s klicem teh spletnih skript prevzame XML obliko

naročila od ponudnika.

potrditev.asp – Moneta s klicem teh spletnih skript potrdi prevzem XML oblike

naročila.

index.asp – Začetna stran naročila.

Page 41: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 31

saveorder.asp – Funkcije za kreiranje XML oblike naročila ter zapis naročila v

podatkovno bazo.

ADODBFunctions.asp – Funkcije za dostop do podatkovne baze.

Page 42: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 32

6 Poslovni proces prodaje/nakupa nepremičnine

Poslovni proces nakupa nepremičnine, ki je glavni poslovni proces naše storitve.

Razbili smo ga na tri podprocese: iskanje nepremičnine, izbira nepremičnine in nakup

nepremičnine. Proces nakupa nepremičnine je prikazan z BPMN diagramom na Slika

6-1.

Slika 6-1 Poslovni proces nakupa nepremičnine

Proces je iz tega vidika enostaven in prehaja iz iskanja nepremičnin v izbiro

nepremičnine in nato v nakup nepremičnine. Podproces nakupa nepremičnine ni

aplikativno podprt zaradi kompleksnosti, ki je posledica vpletenosti več akterjev (kupec,

agent, nepremičninska agencija, drţavne institucije), je pa opisan in prikazan v poslovnem

diagramu.

6.1 Iskanje nepremičnine

Iskanje nepremičnin je prvi podproces pri poslovnem procesu nakupa nepremičnine in

se začne s tem, da uporabnik zaţene aplikacijo ter prične z iskanjem. Uporabnik si mora

vnesti nastavitve iskanja in prikaza ali uporabiti privzete vrednosti. Mobilna naprava si

nato pridobi lokacijo naprave. V primeru neuspešnega pridobivanja pride do napake.

Naslednji korak je pošiljanje nastavitev iskanja in lokacije na streţnik. Tam se podatki

Page 43: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 33

obdelajo in vrnejo rezultati. Odjemalec nato rezultate prikaţe. Proces je prikazan z BPMN

diagramom na Slika 6-2.

Slika 6-2 Potek iskanja nepremičnine pri uporabi mobilne aplikacije

Page 44: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 34

6.2 Izbira nepremičnine

Podproces izbira nepremičnine je nadaljevanje procesa nakupa nepremičnine in

predvideva, da je ob začetku iskanje nepremičnin končano. Uporabnik lahko pregleda

seznam nepremičnin in se nato odloči za posamezno nepremičnino. Za naslednji korak ima

uporabnik dve moţnosti. Lahko uporabi storitev Moneta, ki mu priskrbi dodatne podatke o

nepremičnini, in si jo ogleda ali pa pokliče nepremičninskega agenta. Ta mu priskrbi

dodatne podatke in z njim opravi ogled. V primeru, da se uporabnik ne odloči za

nepremičnino, se vrne na pregled nepremičnin in proces ponovi. Če pa je nepremičnina

ustrezna, se podproces zaključi. Proces prikazuje Slika 6-.

Slika 6-3 Poslovni proces izbire nepremičnine

6.3 Nakup nepremičnine

Postopek nakupa nepremičnine se začne s pogajanjem kupca in prodajalca glede cene.

Ko se sporazumeta glede cene, se prodajalec in kupec dobita v agentovi pisarni, kjer se

dogovorijo o vseh podrobnostih glede prodaje in prodajne pogodbe. Posrednik strankam

razloţi postopek prodaje ( podpis pogodbe, prijava pogodbe na DURS, notarska overitev,

primopredaja) in pravno stanje nepremičnine. Dogovorijo se o načinu plačila kupnine,

določijo čas primopredaje, se dogovorijo o morebitnih premičninah, ki ostanejo v

Page 45: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 35

nepremičnini, o stroških, ki nastanejo pri prenosu lastništva in katera stranka jih plača. Vse

kar se dogovorijo, skupaj s podatki kupca in prodajalca, posrednik dostavi pravniku, ki

pripravi prodajno pogodbo.

Ko je pogodba pripravljena, se posrednik dogovori za podpis le-te. Ob podpisu pogodbe

kupec običajno plača aro.

Po podpisu prodajne pogodbe, posrednik odnese pogodbo na davčno upravo, kjer se

odmeri davek na promet nepremičnin v višini dveh procentov.

Določi se termin pri notarju, kjer kupec overi podpis na prodajni pogodbi. Po notarski

overitvi se plača preostanek kupnine in naredi primopredaja. Posrednik popiše vse števce,

preveri, če so plačani vsi stroški in če je nepremičnina v pogodbi v dogovorjenem stanju.

S primopredajo je posel zaključen. [29] Proces prikazuje Slika 6-4.

Page 46: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 36

Slika 6-4 Poslovni proces nakupa nepremičnine

Page 47: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 37

7 Funkcionalnosti

7.1 Uporaba aplikacije

Aplikacija je naravnana tako, da je za uporabnika čim bolj enostavna in logična za

uporabno. Uporabnik ob zagonu aplikacije pride v glavni meni, kjer ima na izbiro: iskanje,

iskanje celotne ponudbe, nastavitve iskanja in nastavitve prikaza rezultatov. Na zaslonu

nastavitev prikaza rezultatov lahko nastavlja različne moţnosti o tem, kako se mu bodo

vrnjeni rezultati prikazali. Na zaslonu si lahko uporabnik nastavi iskanje, ki omogoča

izbiro kriterijev, po katerih ţeli iskati nepremičnino. Funkcionalnost celotne ponudbe nam

vrne celotno ponudbo nepremičnin, ki so v sistemu, a je ob tem nameščena količinska

omejitev. Prvi prikazi se nanašajo na ponudbe, ki so najbliţji lokaciji uporabnika

aplikacije. Iskanje stranki vrne rezultate po kriterijih, ki si jih je nastavila na zaslonu

nastavitve iskanja. V primeru, da uporabnik ne vnese nastavitev, aplikacija išče po

privzetih nastavitvah. Za delovanje aplikacije mora imeti uporabnik dostop do interneta,

bodisi preko GSM/UMTS signala ali brezţičnega interneta. Natančnost iskanja dodatno

izboljša omogočen GPS signal.

Page 48: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 38

7.2 Primeri uporabe

7.2.1 Primeri uporabe: spletni odjemalec

Slika 7-1 Primeri uporabe spletnega odjemalca

Dodajanje agencij

Za dodajanje agencij se mora uporabnik prijaviti z uporabniškim imenom, tipa

administrator agencije, da ima primerne pravice dodajati novo agencijo. Z dodajanjem

agencije so mišljene nove poslovalnice, ki jih bo agencija v bodoče odprla ali spremenila.

Prav tako ima uporabnik tipa administrator agencije pravico dodajati nepremičninske

agente in nepremičnine.

Dodajanje agentov

Za dodajanje nepremičninskih agentov se mora uporabnik prijaviti vsaj s pravicami

administratorja poslovalnice. Uporabnik ima nato moţnost, da vstavi podatke za vnos

novega agenta. Uporabnik lahko dodaja le agente za agencijo, ki ji pripada.

Page 49: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 39

Dodajanje nepremičnin

Nepremičnine lahko dodajajo vsi uporabniki, ki se lahko prijavijo v sistem. Tukaj lahko

uporabnik izpolni novo nepremičnino in jo doda v bazo podatkov. Uporabnik vsaj s

pravicami administratorja poslovalnice lahko dodaja nepremičnine za vsakega

nepremičninskega agenta. Uporabniki z uporabniškim dostopom tipa nepremičninski agent

imajo pravico dodajati nepremičnine samo v svoj skupek in ne v bazo drugih agentov.

7.2.2 Primeri uporabe: mobilni odjemalec

Slika 7-2 Primeri uporabe mobilnega odjemalca

Dodajanje nepremičnin

Nepremičnine lahko dodajajo nepremičninski agentje, ki so prijavljeni s svojim

uporabniškim imenom. Vnesejo podatke v uporabniški vmesnik ter dodajo slike. Dodajajo

lahko le nepremičnine v lastni spisek nepremičnin.

Page 50: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 40

Iskanje nepremičnin

Ob uporabi iskanja nepremičnin nastavimo atribute nastavitev iskanja in nastavitve

prikaza (lahko se uporabijo tudi privzete vrednosti). Lokacija uporabnika se zgodi v

ozadju. Na pridobivanje lokacije ga opozori le znak za sistem GPS v operacijskem sistemu

Android. Uporabnik lahko nato išče nepremičnine iz seznama rezultatov.

Pridobivanje podatkov lokacije

Mobilna naprava ob začetku izvajanja iskanja pošlje poizvedbo za pridobitev

geolokacijskih koordinat. Te podatke pridobi s sistemom GPS ali pa z določitvijo lokacije

glede na bazne postaje.

Nastavitve prikaza

Uporabnik ima moţnost izbire nastavitev kako in koliko rezultatov mu odjemalec

prikaţe.

Nastavitve iskanja

Moţnosti izbire atributov iskanja, ki kasneje vplivajo na vrnjene rezultate.

7.3 Arhitekturni diagram

Slika 7-3 prikazuje arhitekturo naše aplikacije. Gre za tri-slojno arhitekturo. Spletni in

Android odjemalec sta predstavnika predstavitvenega sloja. Ta zajema grafični vmesnik,

logiko grafičnega vmesnika za komunikacijo s streţnikom s spletno storitvijo REST.

Dodatno mobilni odjemalec za razliko od spletnega odjemalca vsebuje tudi logiko za

pridobitev lokacije.

Streţnik predstavlja logični sloj, ki odgovarja na zahtevke odjemalcev in pošilja

poizvedbe na persistenčni sloj s pomočjo tehnologije ADO.NET.

Page 51: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 41

Podatkovna baza predstavlja persistenčni sloj, kjer so shranjeni vsi podatki o prodaji

nepremičnin. Podatki se vpisujejo in berejo.

deployment Arhitekturni diagram

«device»

mobilna naprav a z operacijskim

sistemom Android

«device»

Računalnik

Mobilni odjemalec

Spletni odjemalec

«device»

Aplikacijski Strežnik

Prodaja

nepremičnin

strežnik

«device»

Podatkov ni strežnik

«Database»

Prodaja

nepremičnin

podatkov na

baza

«REST

service»

«REST

service»

«ADO.NET»

Slika 7-3 Arhitekturni diagram sistema – tri slojna arhitektura

7.4 Razvoj strežnika

Streţnik je razvit v razvojnem okolju Visual Studio 2010. Sestavljajo pa ga tri glavne

tehnologije: Rest storitev za komunikacijo z odjemalcem, ADO.NET za povezavo med

spletno storitvijo in podatkovno bazo ter razvoj spletnega streţnika REST in podatkovna

baza Microsoft SQL EXPRESS.

Page 52: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 42

Slika 7-4 Visual Studio 2010: izbira WCF REST service projekta

Razvoj spletne storitve REST smo začeli s tem, da smo uporabili »template« v Visual

Studiu 2010, in sicer WCF REST Service Aplication. Ta nam je omogočil laţje delo z

avtomatiziranim lovljenjem http-klicev. Ponudi nam tudi dodatne knjiţice, ki nam olajšajo

implementacijo spletnih storitev REST in generira metode, ki so podprte v REST

standardu: POST, PUT, GET. Glavna naloga je bilo načrtovanje dveh metod, in sicer PUT

in POST.

PUT metoda se uporablja za pridobivanje iskalnih rezultatov. Odjemalec pošlje

nastavitve iskanja, ki jih prejme POST, jih obdela in posreduje rezultate, ki jih vrača

logika.

[WebInvoke(UriTemplate = »{id}«, Method = »PUT«)]

public RezultatiKiJihVrnemoNaTelefon Update(string id, WcfRestServiceNastavitev

nastavitevIskanja)

{

Povezava povezava = new Povezava();

Page 53: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 43

nastavitve = new Nastavitve(nastavitevIskanja.Razdalja, nastavitevIskanja.tipNepremicnine,

nastavitevIskanja.TipProdaje, nastavitevIskanja.SteviloSob, nastavitevIskanja.Kvadratura,

nastavitevIskanja.Cena, nastavitevIskanja.dlang, nastavitevIskanja.dlong);

RezultatiKiJihVrnemoNaTelefon rezultatiKiJihVrnemoNaTelefon = new

RezultatiKiJihVrnemoNaTelefon();

rezultatiKiJihVrnemoNaTelefon = povezava.isci(nastavitevIskanja,

rezultatiKiJihVrnemoNaTelefon);

return rezultatiKiJihVrnemoNaTelefon;

}

Primer kode 7-1 Metoda PUT v rest streţniku

Metoda POST bi se uporabljala pri vnašanju nepremičnin s strani agentov z aplikacijo

na telefonu. Agent bi poslal podatke o nepremičnini in svoje avtorizacijske podatke, nakar

bi streţnik preveril avtorizacijo in dodal nepremičnino v ponudbo. V nasprotnem primeru

pa bi vračal napako.

[WebInvoke(UriTemplate = »«, Method = »POST«)]

public WcfRestServiceNastavitev Create(PodatkiOnoviNepremicnini

podatkiOnoviNepremicnini, AvtorizacijskiPodatki avtorizacijskiPodatki)

{

If(avtorizacijskiPodatkiOK(avtorizacijskiPodatki)

{

dodajNepremicninoVponudbo(podatkiOnoviNepremicnini);

}

else {

throw new NapakaPriAvtorizacijiException();

}

}

Page 54: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 44

Primer kode 7-2 Metoda POST v rest streţniku

Storitve REST nam ponujajo dva načina za pošiljanje podatkov do storitve.

Prvi način je, da dobimo argumente neposredno iz URL-naslova in ima http-telo

sporočila prazno. Drugi način je, da metoda prejme objekt, ki je vsebovan v telesu http-

sporočila kot XML-serializacija razreda. Slednjo smo uporabili za sprejemanje podatkov

od odjemalca.

Za klic HTTP GET se uporabi atribut »WebGet«. Za klice HTTP PUT, POST in

DELETE pa se uporablja atribut »WebInvoke«. Parametri atributov določijo, katera http-

metoda naj se proţi in na katerem naslovu je metoda storitve REST. Ta ima dodan atribut

»ServiceBehavior«. Da bi storitev lahko namestili na spletni streţnik, smo spremenili še

končno točko storitve. To smo nastavili v datoteki Global.asx s tem, da smo nastavili

»ServiceRoute«. Glej primer kode 7-3.

private void RegisterRoutes()

{

RouteTable.Routes.Add(new ServiceRoute("IskanjeNepremicnin", new

WebServiceHostFactory(), typeof(IskanjeNepremicninRestService)));

}

Primer kode 7-3 Nastavitev poti REST streţnika

Nadaljevali smo s povezovanjem na podatkovno bazo, za kar smo uporabili ADO.NET.

V projekt smo dodali ADO.NET entitetno-relacijski model (ang: ADO.NET Entity Data

Model) (Slika 7-6). Izdelali smo entiteto relacijski model v Visual studio (slika 7-5).

Izkoristili smo zmoţnost orodja, da smo z njim ustvarili povezavo na podatkovno bazo

Microsoft SQL EXPRESS 2008, katero je shranil v projektni web.config. Orodje nam je

znalo iz entitetno-relacijskega modela izdelati datoteko entitetnoRelacijskiModel.sql, ki

vsebuje SQL izraze potrebne za izdelavo tabel in relacij med njimi. To datoteko smo

Page 55: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 45

uporabili v programu SQL management studio, ki nam je pripravil vse potrebno, da smo

lahko začeli uporabljati našo podatkovno bazo.

Slika 7-5 ADO.NET entitetno-relacijski model

Slika 7-6 Dodajanje ADO.NET komponente v projekt

Page 56: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 46

Delo s podatki iz baze je s pomočjo ADO.NET enako kot delo z objekti programskega

jezika c#.

public List<WcfNepremicnina> vrniVseNepremicnine()

{

List<WcfNepremicnina> list = new List<WcfNepremicnina>();

list = null;

foreach(WcfNepremicnina nep in nepremicnineVbazi.nepremicnina)

{

list.Add(nep);

}

return list;

}

Primer kode 7-4 Dostop do podatkov v podatkovni bazi

S tem smo naredili definicijo storitve z našim vmesnikom, implementirali rešitev in

nastavili pravilno vezavo. Vse smo imeli pripravljeno za namestitev storitve REST na

streţniku IIS. Po namestitvi smo lahko do storitve dostopali preko naslova

»http://localhost:51944/IskanjeNepremicnin/« .

7.5 Razvoj spletnega odjemalca

Spletni odjemalec je v osnovi spletna stran s podobno funkcionalnostjo kot Android

odjemalec, le da ponuja drugačno uporabniško izkušnjo, ki pa je za uporabnike bolj

optimalna. V mislih imamo predvsem delavce v nepremičninskih agencijah, ki so

odgovorni za vnašanje nepremičnin, ali pa nepremičninske posrednike. Prav tako imamo v

mislih posameznike, ki bi raje dodali nepremičnino preko spletnega vmesnika, ker nudi

bolj udobno vnašanje podatkov preko večjega zaslona in tipkovnice kot pa mobilne

aplikacije.

Spletna stran je razvita v ASP.NET tehnologiji v Visual studio 2010.

Page 57: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 47

Aplikacija ima sistem za prijavo, s katerim se dodeli pravica do funkcionalnosti, ki pa je

odvisna od vsakega uporabnika zase. Agencija je uporabnik, ki ima dostop nad polno

funkcionalnostjo. Uporabnik, agencijski administrator, ima pravico dodajati agente za

nepremičninsko agencijo in vnašati nepremičnine za posamezne agente. Uporabnik,

nepremičninski agent, pa lahko vnaša svoje nepremičnine, ki jih ima v ponudbi.

Page 58: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 48

7.5.1 Zaslonske maske spletnega odjemalca

Slika 7-7 Dodajanje agencij v spletni vmesnik

Slika 7-7 prikazuje spletni vmesnik za dodajanje agencij. Vsebuje osnovne podatke, ki

so potrebni za predstavitev agencij.

Slika 7-8 Dodajanje agentov v spletni vmesnik

Page 59: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 49

Slika 7-8 prikazuje spletni vmesnik za dodajanje agentov. Vsebuje polja, ki so potrebna

za predstavitev agenta.

Slika 7-9 Dodajanje nepremičnin v spletni vmesnik kot preostali uporabniki

Slika 7-9 prikazuje spletni vmesnik za dodajanje nepremičnin, če smo v spletnega

odjemalca prijavljeni kot uporabnik sistema, ki ni nepremičninski agent. Vsebuje polja, ki

so potrebna za uspešen vnos nove nepremičnine v ponudbo nepremičnin in polje za izbiro

agenta, ki naj bo kontaktna oseba za vneseno nepremičnino.

Page 60: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 50

Slika 7-10 Dodajanje nepremičnin v spletni vmesnik kot nepremičninski agent

Slika 7-10 prikazuje spletni vmesnik za dodajanje nepremičnin, če smo v spletnega

odjemalca prijavljeni kot nepremičninski agent. Vsebuje polja, ki so potrebna za uspešen

vnos nove nepremičnine v ponudbo nepremičnin.

7.6 Razvoj odjemalca za Android

Razvoj odjemalca smo zasnovali čim bolj enostavno, tako da odjemalec izvaja čim

manj logike in posledično porabi manj električne energije in podaljša ţivljenjsko dobo

baterije. Odjemalčeva naloga je, da pošilja in prejema podatke in jih hkrati tudi prikazuje.

Aplikacija je zgrajena iz naslednjih sklopov:

nastavitve iskanja,

nastavitve prikaza,

iskanje nepremičnin,

o iskanje po nastavitvah iskanja in

o iskanje po celotni ponudbi,

Page 61: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 51

prikazovanje nepremičnin,

pridobivanje dodatnih informacij o nepremičnini,

dodajanje nepremičnin in

dodajanje agentov.

7.6.1 Nastavitve iskanja

Sklop nastavitve iskanja zajema podatke, ki sluţijo kot kriteriji za iskanje nepremičnin.

Vsak atribut predstavlja vrednost, ki jo zna streţnik uporabiti in z njo vplivati na rezultate

iskanja.

Atributi so prikazani na primeru kode.

public class NastavitveIskanja {

private double razdalja;

private String tipNepremicnine;

private int steviloSob;

private int kvadratura;

private double cena;

private String tipProdaje;

private double dLat;

private double dLong;

Primer kode 7-5 Atributi razreda nastavitve iskanja

Razdalja predstavlja oddaljenost nepremičnine od mobilnika, ki je še

sprejemljiva za iskalca nepremičnin v kilometrih.

Page 62: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 52

Tipnepremicnine je enumeracijski tip z moţnimi vrednostmi: stanovanje, hiša,

vikend, posest, poslovni prostor, garaţa ... Predstavlja vrsto iskane

nepremičnine.

SteviloSob predstavlja podatek za največje število sob v stanovanju (enosobno,

eno in polsobno, dvosobno … ).

Kvadratura predstavlja največjo kvadtraturo v kvadratnih metrih.

Cena predstavlja največjo ceno, ki jo je uporabnik pripravljen plačati v eurih.

TipProdaje enumracijski tip z moţnimi vrednostmi, prodaja ali najem.

Predstavlja izbiro uporabnika, ali le-ta kupuje ali hoče najeti nepremičnino.

dLat predstavlja latitudo ali ekliptično širino v ekliptičnem koordinatnem

sistemu, ki jo pridobimo s pomočjo sistema GPS ali triagulacije.

dLong predstavlja longitudo ali ekliptično dolţino, ki jo pridobimo s pomočjo

sistema GPS ali triangulacije.

Atributi so trenutno predstavljeni kot enumeracijski tipi v nastavitvi IskanjaStrings.xml,

kjer so vse moţne vrednosti atirbutov ţe definirane.

Slika 7-11 Nastavitve enumeracijskih vrednosti v Eclipse za Android

Page 63: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 53

V primeru nadgradnje trenutnega stanja bi bilo moţno vrednosti dobiti s streţnika, kjer

bi jih definirali in shranili tako, da ne bi potrebovali dodajati vseh moţnih vrednosti na

strani odjemalca, če bi prišlo do sprememb na strani streţnika.

Nastavitve iskanja so v sistemu predstavljene kot razred NastavitveIskanja, ki je

singelton, tako da v sistemu obstaja vedno le ena različica nastavitve, po kateri se lahko

išče.

private static final NastavitveIskanja INSTANCE = new NastavitveIskanja();

Primer kode 7-6 Singelton nastavitve iskanja

Konstruktor določa nastavitve iskanja ţe ob inicializiranju. V tem koraku nastavi iskalni

niz na privzete vrednosti iskanja, ki veljajo, če jih uporabnik ne prepiše s svojimi.

Private NastavitveIskanja()

{

razdalja = 20;

tipNepremicnine = »stanovanje«;

steviloSob = 2;

kvadratura = 60;

cena = 80000;

tipProdaje = »prodaja«;

}

Primer kode 7-7 Privzeti konstruktor za nastavitve iskanja

7.6.2 Nastavitve prikaza

Nastavitve prikaza so podatki, ki sluţijo kot kriteriji za prikaz nepremičnin po

izvedenem iskanju in kasnejšem prikazu nepremičnin za uporabnika.

Atributi so prikazani na primeru kode 7-8.

Page 64: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 54

public class NastavitvePrikaza {

private int stNepremicninNaStran;

private boolean slikaNepremicnine;

Primer kode 7-8 Atributi nastavitve prikaza nepremičnin

stNepremicninNaStran predstavlja število nepremičnin oziroma rezultatov, ki se

prikaţejo,

slikaNepremicnine predstavlja pogoj, da mora imeti nepremičnina sliko, če je

nima se te nepremičnine ne prikaţejo.

Nastavitve prikaza so v sistemu predstavljene kot razred NastavitvePrikaza, ki je

singelton in se inicializira ob zagonu programa, lahko pa jih uporabnik spreminja skozi

uporabniški vmesnik NastavitvePrikaza v grafičnem vmesniku.

Private static final NastavitvePrikaza INSTANCE = new NastavitvePrikaza();

private NastavitvePrikaza() {

stNepremicninNaStran = 5;

slikaNepremicnine = false;

}

Primer kode 7-9 Privzeti konstruktor nastavitve prikaza in singleton.

7.6.3 Pridobivanje podatkov o lokaciji na telefonu

Pridobivanje lokacije na napravi Android je dokaj enostavno, saj je v knjiţnico ţe

vključena podpora za pridobivanje lokacijskih podatkov iz GPS-naprave. Te pridobimo

preko razreda LocationManager, kot je prikazano na primeru kode 7-10. Temu razredu

podamo, katero storitev naj uporablja (LOCATION_SERVICE) in katerega ponudnika

(GPS_PROVIDER).

LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

Page 65: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 55

LocationListenerGPS locationListenerGPS = new LocationListenerGPS();

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10, 10,

locationListenerGPS);

Primer kode 7-10 Koda za nastavitev GPS-poslušalca na napravi Android

Temu razredu moramo nastaviti še poslušalca. To je razred, ki implementira vmesnik

LocationListener.

Ta vmesnik nam ponuja metode, ki se sproţijo, ko se spremeni lokacija

(onLocationChanged), ko uporabnik izklopi ali vklopi GPS-ponudnika

(onProviderDisabled, onProviderEnabled) in ko se spremeni stanje GPS-ponudnika

(onStatusChanged). Najpomembnejša je metoda, ki se proţi ob spremembi lokacije, kjer

smo implementirali klice spletne storitve s pomočjo pomoţnega razreda

RestServiceConnector. RestServiceConnector smo klicali v metodi sendRest, kjer tudi

sestavimo XM-zapis lokacije. To je vse, kar moramo storiti za pridobivanje in pošiljanje

lokacije z uporabo GPS naprave.

Druga dva načina, ki uporabljata telefonske oddajnike, smo naredili na podoben način.

Android API nam ponuja razred TelephonyManager, ki se uporablja podobno kot

LocationManager, le da ta ponuja podatke o storitvah na telefonu. Med temi storitvami je

tudi tista za pridobivanje podatkov o mobilnem omreţju. Razredu TelephonyManager

moramo seveda podati tudi poslušalca, ki se bo sproţil ob spremembah omreţja. Kako se

to naredi, prikazuje primer kode 7-11.

OpenCellId.TelephonyManager tm =

(TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

tm.listen( new MyPhoneStateListener(), PhoneStateListener.LISTEN_SERVICE_STATE);

Primer kode 7-11 Koda za nastavite poslušalca storitev telefona

7.6.4 Iskanje nepremičnin

Iskanje nepremičnin predstavlja glavno funkcionalnost aplikacije.

Sklop iskanje nepremičnin izbere vse potrebne podatke, ki smo jih opisali v prejšnjih

poglavjih in jih predela v pravo obliko za uporabo v REST storitvi. Uporabimo XML

Page 66: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 56

prevajalnik (XML parser), ki pomaga pri preoblikovanju nastavitev iskanja v obliko XML,

s katero bo razumljivejša našemu RESTful streţniku.

RestServiceConnector restServiceConnector = new RestServiceConnector("NaslovStrežnika");

Primer kode 7-12 Povezava na rest storitev

Po poslanem zahtevku na streţnik čaka na rezultate. Ko jih prejme, jih ponovno obdela,

v zadnjem koraku pa jih prikaţe po nastavitvah prikaza.

7.6.5 Iskanje po celotni ponudbi

Iskanje po celotni ponudbi je podoben postopek kot iskanje nepremičnin, le da tukaj na

streţnik pošljemo dogovorjene nastavitve za celotno ponudbo.

Ob izbiri iskanja celotne ponudbe se pokliče metoda setCelotnaPonudbaNastavitve().

public void setCelotnaPonudbaNastavitve(){

razdalja = 20;

tipNepremicnine = "all";

steviloSob = Integer.MAX_VALUE;

kvadratura = Integer.MAX_VALUE;

cena = Double.MAX_VALUE;

tipProdaje = "all";

}

Primer kode 7-13 Nastavitve atributov ob iskanju celotne ponudbe

Te vrednosti streţnik prepozna, kot privzete vrednosti za celotno ponudbo. Omeji se le

pri razdalji, da vrača rezultate v oddaljenosti dvajset kilometrov. S tem omejimo

obremenjenost streţnika. Vrednosti so dogovorjene s strani streţniške aplikacije.

Page 67: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 57

7.6.6 Dodajanje nepremičnin

Dodajanje nepremičnin je funkcionalnost, ki je namenjena nepremičninskim agentom

ali posameznikom, ki bi radi dodali nepremičnino preko mobilne aplikacije. Aplikacija

nam omogoča, da vnesemo zahtevane podatke, ki smo jih opisali pri opisu nastavljanja

nastavitev iskanja. Izberemo sliko nepremičnine. Vnesti je potrebno tudi naslov

nepremičnine, preko katerega bo GPS pridobil lokacije s strani streţnika. Obstaja moţnost,

da bi se lahko storitev z uporabo Monete zaračunala, saj bi kot trţna niša omogočala

prodajalcem nepremičnin določeno prednost. Ta prednost je predvsem vidna za

nepremičninske agente, ki so lahko tudi po cele dneve na terenu in s tem izgubljajo

potencialne stranke. Naša aplikacija omogoča takojšen in enostaven vnos nepremičnin.

Podatki se preko REST storitve PUT pošljejo na streţnik, kjer so obdelani in ob

ustreznosti podatkov se le-ti shranijo v podatkovno bazo nepremičnin.

Page 68: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 58

7.6.7 Zaslonske maske mobilne aplikacije:

Slika 7-12 Zaslonska maska sistema android v meniju aplikacij z našo aplikacijo

Slika 7-13 Zaslonska maska vstopnega menija in navigacije funkcionalnosti

Page 69: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 59

Slika 7-14 Zaslonska maska prikaza nepremičnin pokončno

Slika 7-15 Zaslonska maska prikaza nepremičnin leţeče

Page 70: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 60

Slika 7-16 Zaslonska maska prikaza podrobnosti nepremičnine

Slika 7-17 Zaslonska maska prikaza nastavitev iskanja

Page 71: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 61

8 Sklep

V diplomskem delu smo opisali moţnost iskanja informacij o nepremičninah s pomočjo

pametnih telefonov z operacijskim sistemom Android, spletnih storitev, tehnologijami za

pridobitev lokacije in uporabo sistema Monete.

Podrobneje smo opisali programsko rešitev, ki smo jo implementirali. Našo rešitev

sestavljajo naslednje komponente:

mobilni odjemalec,

spletni odjemalec,

storitveni streţnik in

podatkovni streţnik.

Mobilni odjemalec je Android mobilna aplikacija, s katero smo pokazali, da jo je

enostavno podpreti z vsemi funkcionalnostmi, ki jih omogočajo trenutni spletni iskalniki

nepremičnin. Prav tako smo prikazali uporabo lokalizacijskih tehnologij, ki smo jih

uporabili pri iskanju nepremičnin s pomočjo geolokacijskih koordinat. Prikazali smo tudi

uporabo spletnih storitev REST za iskanje nepremičnin in uporabo sistema Moneta, kot

sredstvo za plačevanje dodatnih informacij o nepremičnini.

Na streţniški strani smo razvili streţniški program za prodajo nepremičnin in prikazali

kako ponuditi REST storitve na platformi .NET. Enostavnost postopka smo ponazorili z

uporabo Windows REST foundation programskega vzorca in ga razširili z rešitvijo storitve

za iskanje nepremičnin in ostalih poslovnih storitev. Pokazali smo tudi kako enostavno

povezati aplikativni in podatkovni streţnik s pomočjo tehnologije ADO.NET, ki nam

ponuja enostavno povezavo med objektno kodo in shranjenimi podatki na praktičnem

primeru prodaje nepremičnin.

S spletnim odjemalcem smo prikazali spletno stran razvito v ASP.NET, ki se povezuje

na REST-storitve s strani streţniške aplikacije. Njen grafični vmesnik omogoča

Page 72: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 62

enostavnejše dodajanje in urejanje vsebin za katere je odgovorna nepremičninska agencija

kot bi to lahko urejal mobilni odjemalec.

Kot smo predstavili, je razvoj streţnika in različnih odjemalcev s strani tehnologij

enostaven in hiter, ne omejujejo ga različne programske platforme, ob enem pa omogoča

razvijalcu, da se ukvarja s poslovno idejo in ne z razvojnimi ogrodji.

Page 73: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 63

9 Viri

1. Leonard Richardson, Sam Ruby , RESTful web services, O'reilly maj 2007, prva

izdaja

2. Ed Burnette, Hello, Android, julij 2010, tretja izdaja

3. Joshua Bloch, Effective Java: Programming language guide, Sun microsystems,

november 2001

4. Uradna Android stran za razvijalce http://developer.android.com/, zadnji dostop:

september 2011

5. Open Handset Alliance http://www.openhandsetalliance.com/, zadnji dostop:

september 2011

6. Google maps api http://code.google.com/intl/sl-SI/apis/maps/, zadnji dostop: oktober

2011

7. Google geocoding api http://code.google.com/intl/sl-

SI/apis/maps/documentation/geocoding/index.html, zadnji dostop: november 2011

8. Google api za Android http://code.google.com/intl/sl-SI/android/add-ons/google-

apis/index.html, zadnji dostop: oktober 2011

9. Eclipse http://www.eclipse.org/, zadnji dostop: avgust 2011

10. Android SDK http://developer.android.com/sdk/index.html, zadnji dostop: julij 2011

11. RESTful orientiran Wiki http://rest.blueoxen.net/cgi-bin/wiki.pl, zadnji dostop:

avgust 2011

12. Moneta http://www.moneta.si/, zadnji dostop: september 2011

13. Tomaţ Ţveglič, Moneta internet, priročnik za uporabnike vsebin, različica 1.1,

2.12.2004

14. Tomaţ Ţveglič, Moneta internet nakup – Implementacija Monetine storitve nakup v

ponudnikove spletne strani, različica 1.0.4, avgust 2007

15. Knjiţnica za dodatne Google maps funkcionalnosti,

http://home.ameliemedia.com/android-app-aroundme/#tips, zadnji dostop: julij 2011

Page 74: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 64

16. Osnove Android aplikacij

http://developer.android.com/guide/topics/fundamentals.html, zadnji dostop:

september 2011

17. Android Emulator

http://developer.android.com/guide/developing/tools/emulator.html, zadnji dostop:

julij 2011

18. Android virtualna naprava, http://jaxenter.com/android-dalvik-virtual-machine-

35498.html, zadnji pristop junij 2011

19. Tomaţ Pihlar, Razvoj odprtega sistema za mobilno plačevanje, maj 2006

20. Leonard Richardson & Sam Ruby RESTful Web Services, , maj 2007

21. Marshall Brain, Tom Harris: How GPS Recivers work,

http://www.howstuffworks.com/gadgets/travel/gps.htm

22. Joe Mayo, Microsoft Visual Studio 2010: A Beginner's Guide, 2010

23. Razvoj prodaje nepremičnin, http://www.inman.com/news/2011/05/3/real-estates-

tech-evolution-social-mobile-miniature, zadnji pristop: september 2011

24. REST arhitektura https://cwiki.apache.org/WINK/1-introduction-to-apache-

wink.data/REST%20Web%20Service.jpg, zadnji pristop: avgust 2011

25. Delovanje GPS, http://www.fleettrackingguide.com/gps-fleet-tracking-technologies-

gps/, zadnji pristop: avgust 2011

26. Android telefoni, http://www.andro-phones.com, , zadnji pristop: september 2011

27. Presence Protocol (XMPP), http://code.google.com/apis/talk/, , zadnji pristop:

september 2011

28. Google maps Geocoding API

http://code.google.com/apis/maps/documentation/geocoding/index.html, , zadnji

pristop: november 2011

29. Voršič, Mateja. 2011. Intervju z nepremičninskim agentom. Maribor, 15. avgust

2011

30. A-GPS http://gps.about.com/od/glossary/g/A-GPS.htm, zadnji pristop: oktober 2011

Page 75: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 65

31. Google Maps Javascript API V3 Services, http://code.google.com/intl/sl-

SI/apis/maps/documentation/javascript/services.html#Geocoding, zadnji pristop:

oktober 2011

32. Damjan Andrej Veselko, Mobilni plačilni sistemi in bančništvo, Koper, 2007

33. Informacijska borza nepremičnin, http://www.ibn.si/articles/detail/5093, zadnji

pristop december 2011

Page 76: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 66

10 Priloge

10.1 Kazalo slik

SLIKA 2-1 ANDROID MARKET .................................................................................................................................... 5

SLIKA 2-2 ANDROID EMULATOR ................................................................................................................................ 7

SLIKA 3-1 ARHITEKTURA REST STORITEV [24] ............................................................................................................. 9

SLIKA 5-1 TABELA V PONUDNIKOVI PODATKOVNI BAZI. IME TABLELE: MONETA .............................................................. 22

SLIKA 5-2 DIAGRAM AKTIVNOSTI SPLETNIH SKRIPT NAKUP.ASP ...................................................................................... 24

SLIKA 5-3 DIAGRAM AKTIVNOSTI SPLETNIH SKRIPT POTRDITEV.ASP ................................................................................. 26

SLIKA 5-4 DIAGRAM ZAPOREDJA POTEKA NAKUPA Z SISTEMOM MONETA ........................................................................ 28

SLIKA 6-1 POSLOVNI PROCES NAKUPA NEPREMIČNINE ................................................................................................. 32

SLIKA 6-2 POTEK ISKANJA NEPREMIČNINE PRI UPORABI MOBILNE APLIKACIJE .................................................................... 33

SLIKA 7-1 PRIMERI UPORABE SPLETNEGA ODJEMALCA.................................................................................................. 38

SLIKA 7-2 PRIMERI UPORABE MOBILNEGA ODJEMALCA ................................................................................................ 39

SLIKA 7-3 ARHITEKTURNI DIAGRAM SISTEMA – TRI SLOJNA ARHITEKTURA ........................................................................ 41

SLIKA 7-4 VISUAL STUDIO 2010: IZBIRA WCF REST SERVICE PROJEKTA ......................................................................... 42

SLIKA 7-5 ADO.NET ENTITETNO-RELACIJSKI MODEL ................................................................................................... 45

SLIKA 7-6 DODAJANJE ADO.NET KOMPONENTE V PROJEKT ......................................................................................... 45

SLIKA 7-7 DODAJANJE AGENCIJ V SPLETNI VMESNIK ..................................................................................................... 48

SLIKA 7-8 DODAJANJE AGENTOV V SPLETNI VMESNIK ................................................................................................... 48

SLIKA 7-9 DODAJANJE NEPREMIČNIN V SPLETNI VMESNIK KOT PREOSTALI UPORABNIKI ....................................................... 49

SLIKA 7-10 DODAJANJE NEPREMIČNIN V SPLETNI VMESNIK KOT NEPREMIČNINSKI AGENT .................................................... 50

SLIKA 7-11 NASTAVITVE ENUMERACIJSKIH VREDNOSTI V ECLIPSE ZA ANDROID ................................................................. 52

SLIKA 7-12 ZASLONSKA MASKA SISTEMA ANDROID V MENIJU APLIKACIJ Z NAŠO APLIKACIJO ................................................ 58

SLIKA 7-13 ZASLONSKA MASKA VSTOPNEGA MENIJA IN NAVIGACIJE FUNKCIONALNOSTI ...................................................... 58

SLIKA 7-14 ZASLONSKA MASKA PRIKAZA NEPREMIČNIN POKONČNO ................................................................................ 59

SLIKA 7-15 ZASLONSKA MASKA PRIKAZA NEPREMIČNIN LEŽEČE ...................................................................................... 59

SLIKA 7-16 ZASLONSKA MASKA PRIKAZA PODROBNOSTI NEPREMIČNINE .......................................................................... 60

Page 77: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 67

SLIKA 7-17 ZASLONSKA MASKA PRIKAZA NASTAVITEV ISKANJA ....................................................................................... 60

10.2 Kazalo primerov kode

PRIMER KODE 4-1 PRIMER UPORABE GOOGLE GEOCODING API [26] ............................................................................. 14

PRIMER KODE 7-1 METODA PUT V REST STREŽNIKU ................................................................................................... 43

PRIMER KODE 7-2 METODA POST V REST STREŽNIKU ................................................................................................. 44

PRIMER KODE 7-3 NASTAVITEV POTI REST STREŽNIKA ................................................................................................. 44

PRIMER KODE 7-4 DOSTOP DO PODATKOV V PODATKOVNI BAZI ..................................................................................... 46

PRIMER KODE 7-5 ATRIBUTI RAZREDA NASTAVITVE ISKANJA .......................................................................................... 51

PRIMER KODE 7-6 SINGELTON NASTAVITVE ISKANJA .................................................................................................... 53

PRIMER KODE 7-7 PRIVZETI KONSTRUKTOR ZA NASTAVITVE ISKANJA ............................................................................... 53

PRIMER KODE 7-8 ATRIBUTI NASTAVITVE PRIKAZA NEPREMIČNIN ................................................................................... 54

PRIMER KODE 7-9 PRIVZETI KONSTRUKTOR NASTAVITVE PRIKAZA IN SINGLETON. ............................................................... 54

PRIMER KODE 7-10 KODA ZA NASTAVITEV GPS-POSLUŠALCA NA NAPRAVI ANDROID ......................................................... 55

PRIMER KODE 7-11 KODA ZA NASTAVITE POSLUŠALCA STORITEV TELEFONA...................................................................... 55

PRIMER KODE 7-12 POVEZAVA NA REST STORITEV ...................................................................................................... 56

PRIMER KODE 7-13 NASTAVITVE ATRIBUTOV OB ISKANJU CELOTNE PONUDBE................................................................... 56

Page 78: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 68

10.3 Naslov študenta

Osebni podatki diplomiranega študenta:

Rok Prejac

Zgornja Selnica 24 b

SI – 2352 Selnica ob Dravi

Telefonska številka: + 386 (40) 632 285

Elektronska pošta: [email protected]

10.4 Kratek življenjepis

Povzemajoči ţivljenjepis diplomiranega študenta:

Rojen: 15.09.1985, Maribor

Šolanje:

Osnovna šola Selnica ob Dravi

Srednja elektro-računalniška šola Maribor

o Matura

Fakulteta za Elektrotehniko, računalništvo in informatiko Maribor

o Univerzitetni šolski program

Page 79: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 69

Page 80: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 70

Page 81: Prodaja nepremičninProdaja nepremičnin na mobilni platformi Android IV ZAHVALA Zahvaljujem se vsem mojim najbližjim, družini in prijateljem, ki so mi vedno stali ob strani in me

Prodaja nepremičnin na mobilni platformi Android Stran 71