razvoj mobilne reŠitve elektronskih darilnih bonovrazvoj na tehnologijah mobilne telefonije...

64
Matej Strmljan RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOV Diplomsko delo Maribor, junij 2012

Upload: others

Post on 22-Jan-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Matej Strmljan

RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOV

Diplomsko delo

Maribor, junij 2012

Page 2: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,
Page 3: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

I

Diplomsko delo univerzitetnega študijskega programa

RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOV

Študent: Matej Strmljan

Študijski program: univerzitetni, računalništvo in informatika

Smer: informatika

Mentor: red. prof. dr. Marjan Heričko

Lektorica: Sanja Šikovec, prof. zgo. in slo.

Maribor, julij 2012

Page 4: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

II

Page 5: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

III

ZAHVALA

Zahvaljujem se mentorju dr. Marjanu Heričku za

vodenje in pomoč pri pisanju diplomskega dela.

Prav tako se za strokovno pomoč zahvaljujem

dr. Amorju Chowdhuryu in celotni ekipi podjetja

Margento R&D.

Prav posebno pa sem hvaležen svoji družini in

dekletu, saj so mi na poti do diplomskega dela

pomagali po svojih najboljših močeh in me na

tej poti usmerjali ter vzpodbujali.

Še enkrat hvala vsem za podporo. Brez vas mi

ne bi uspelo.

Page 6: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

IV

RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOV

Ključne besede: modeliranje poslovnih procesov, agilne metode, SCRUM, informacijski sistem, strežniško procesiranje, BPMN. UDK:

Povzetek V diplomskem delu smo opredelili pojem mobilnega sistema darilnih bonov. Predstavili

smo rešitve in arhitekturo konkurenčnih ponudnikov sistemov elektronskih darilnih

bonov. Prav tako smo definirali arhitekturo sistema procesiranja mobilnih transakcij,

imenovanega Margento procesni sistem (MPS), in integracijo komponente darilnih

bonov v obstoječi sistem. Delovanje sistema je modelirano v notaciji BPMN za vse

poglavitne funkcionalnosti, ki so hkrati podrobno razložene. Modeliranje je pri razvoju

predstavljalo pomembno vlogo, ki je v diplomskem delu natančneje ovrednotena.

Podrobneje je opisan tudi princip agilne metode SCRUM, katerih načel smo se držali v

razvojni ekipi. Opisane so paradigme agilnega razvoja, ki smo jih modificirali za

potrebe projekta. Na podlagi projektnega vodenja smo v jeziku C++ izdelali strežniško

komponento, ki skrbi za procesiranje in upravljanje transakcij mobilnih darilnih bonov.

Page 7: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

V

DEVELOPMENT OF AN ELECTRONIC GIFT CARD MOBILE

SOLUTION

Key words: business process modeling, agile methods, SCRUM, information system, server-side processing, Business Process Model Notation.

UDK:

Abstract

In this thesis we have defined the concept of mobile e-gift card system. We have

presented solutions and architecture of similar services. We have also defined

Margento mobile transaction system and explained integration of mobile gift system

into existing platform. Basic functionalities are more specifically explained by models

in Business Process Model Notation (BPMN). In thesis we evaluate importance of

modeling to development. In our research team we have followed the principles of agile

method SCRUM which is described in this paperwork. We have presented modifications

of agile method paradigms. On basis of our whole research we developed server-side

component in C++ programming language which manage and process gift card mobile

transactions.

Page 8: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

VI

VSEBINA

1 UVOD ...................................................................................................................... 1

2 MOBILNI SISTEMI DARILNIH BONOV ......................................................... 5

2.1 SPLOŠNA PREDSTAVITEV DARILNIH BONOV....................................... 5

2.2 PREDNOSTI DARILNIH BONOV ................................................................. 7

2.3 POMANJKLJIVOSTI DARILNIH BONOV ................................................... 8

2.4 REŠITVE PONUDNIKOV DARILNIH BONOV ........................................... 8

2.4.1 Rešitev podjetja MBO............................................................................. 10

2.4.2 Rešitev podjetja Target Corporation...................................................... 10

2.4.3 Rešitev podjetja DoDo Mobile Technologies ......................................... 11

3 MARGENTO SISTEM MOBILNIH TRANSAKCIJ....................................... 12

3.1 PREDSTAVITEV OBSTOJEČIH KOMPONENT SISTEMA MARGENTO

15

3.2 POSTOPEK PROCESIRANJA TRANSAKCIJ............................................. 18

4 PRISTOP K RAZVOJU REŠITVE.................................................................... 21

4.1 AGILNE METODE........................................................................................ 21

4.2 SCRUM .......................................................................................................... 23

5 RAZVOJ SISTEMA DARILNIH BONOV MARGENTO............................... 26

5.1 MODELI POSLOVNIH PROCESOV MARGENTO SISTEMA DARILNIH

BONOV...................................................................................................................... 26

5.2 FUNKCIONALNOSTI SISTEMA ................................................................ 29

5.2.1 Nakup darilnih bonov ............................................................................. 29

5.2.2 Info transakcija....................................................................................... 29

5.2.3 Unovčevanje darilnih bonov................................................................... 30

5.2.4 Stornacija ............................................................................................... 30

5.2.5 Preklic transakcije.................................................................................. 31

5.3 UPORABNIŠKA IZKUŠNJA........................................................................ 31

5.3.1 Nakup darilnega bona ............................................................................ 32

Page 9: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

VII

5.3.2 Koriščenje darilnega bona ..................................................................... 36

5.3.3 Stornacija transakcije............................................................................. 40

5.4 ANALIZA REŠITVE ..................................................................................... 42

6 SKLEP ................................................................................................................... 47

7 LITERATURA IN VIRI ...................................................................................... 48

KAZALO SLIK

Slika 1 − Število naročnikov mobilne telefonije na 100 prebivalcev (1997−2011)......... 2

Slika 2 − Odprta shema darilnih bonov............................................................................ 6

Slika 3 − Zaprta shema darilnih bonov............................................................................. 7

Slika 4 − Patentirana tehnologija prenosa podatkov ...................................................... 14

Slika 5 − Pregled platforme Margento ........................................................................... 15

Slika 6 − Pregled Margento procesnega sistema (MPS) ................................................ 20

Slika 7 − Grafični prikaz metodologije Scrum............................................................... 24

Slika 8 − Model poslovnega procesa nakupa darilnega bona......................................... 27

Slika 9 − Model poslovnega procesa koriščenja darilnega bona.................................... 28

Slika 10 − Margento mPOS terminal ............................................................................. 31

Slika 11 − Potrdilo o nakupu darilnega bona ................................................................. 36

Slika 12 − Potrdilo koriščenja darilnega bona................................................................ 39

Slika 13 − Potrdilo storno transakcije ............................................................................ 42

Page 10: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

VIII

Page 11: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

IX

UPORABLJENE KRATICE

BLP – Bonus Loyalty Program

BPM – Business Process Modeling

BPMN – Business Process Model and Notation

DoV – Data over Voice

ECC – Elliptic Curve Cryptography

GPRS – General Packet Radio Service

GSM – Global System for Mobile communications

IP – Internet Protocol

IT – Information Technology

MAP – Margento Access Point

MGW – MPay Gateway

MMS – Multimedia Messaging Service

MOP – Margento Online Payment

MPC – Margento Processing Center

MPG – Margento Payment Gateway

MPS – Margento Processing System

MPSA – Margento Processing System Administration

MSC – Mobile Switching Center

MSISDN – Mobile Station International Subscriber Directory Number

MTAP – Mobile Telecommunications Access Point

NE – Network Equipment

NFC – Near Field Communication

POS – Point of Sale

SMS – Short Message Service

USSD - Unstructured Supplementary Service Data

ZPS – Zveza potrošnikov Slovenije

Page 12: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,
Page 13: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 1

1 UVOD

Sistem darilnih bonov je preverjen poslovni model, ki je v zadnjih letih močno pridobil na

popularnosti in razširjenosti. Uspešnost je posledica dejstva, da imajo darilni boni določene

prednosti pred klasičnim obdarovanjem. Prejemnik bona lahko tako unovči darilni bon za

materialne dobrine in storitve, ki jih dejansko potrebuje – v kolikor ponudnik storitve to

nudi. Darilo, ki je uporabno oz. je izbrano po željah prejemnika, ima v glavnem veliko

večjo dodatno vrednost kot neuporabno darilo ali darilo, ki obdarovancu sploh ni všeč.

Prav tako je darilo v obliki darilnih bonov kljub vsemu bolj družbeno sprejemljivo in

osebno kot recimo denar. Nenazadnje je tudi valuta neke vrste darilni bon, le da je brez

vseh omejitev – trajanja, možnosti unovčevanja itd.

Darilni boni prav tako zmanjšujejo tveganje, da darilo prejemniku ne bo všeč. Tu se tako

kaže največja prednost za kupce darilnih bonov. Kljub temu se zdi, da z darilnimi boni

največ pridobijo trgovci (ponudniki storitve). V kolikor darilni bon ni izkoriščen, je to

najboljši možni scenarij za ponudnika, saj mu za vrednost bona po preteku roka ni

potrebno več nuditi storitve ali dobrin, za katere je potrošnik posredno plačal. Sistem

darilnih bonov prav tako povečuje ugled in zaupanje v blagovno znamko pri potrošnikih.

Mobilni telefoni so praktično postali naši vseprisotni in nepogrešljivi spremljevalci, saj

število uporabnikov mobilne telefonije in pripadajočih tehnologij strmo narašča [1]. Graf

na sliki 1 prikazuje število naročnikov mobilne telefonije na 100 prebivalcev med letoma

1997 in 2011.

Page 14: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 2

Število naročnikov mobilne telefonije na 100 prebivalcev 1997−2011

18

25

35

50

58

6570

77

86

93

102

1 2 3 58

1114

19

2630

39

4 58

1216

1923

28

34

42

51

0

20

40

60

80

100

120

1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007

Leto

Razvite državeDržave v razvojuSvetovno povprečje

Slika 1 − Število naročnikov mobilne telefonije na 100 prebivalcev (1997−2011)1

Z razmahom pametnih telefonov se ta trend le še zvišuje, prav tako pa se pri tem kaže

interes uporabnikov mobilnih telefonov za nove storitve in s tem povezane nove aplikacije

ter tehnologije. Zgovoren primer je uspeh mobilnega telefona Apple iPhone, ki je pri

kupcih praktično čez noč ustvaril potrebo po kupovanju aplikacij za omenjeno platformo.

Kljub padcu cen in dostopnosti pametnih mobilnih telefonov je na svetovnem tržišču še

vedno ogromna količina klasičnih mobilnih telefonov brez naprednih funkcionalnosti. Na

tem mestu pride do izraza patentirana tehnologija prenosa podatkov preko zvoka,

imenovana Margento DoV (Data-over-Voice). Omenjena tehnologija omogoča, da je

storitev Margento darilni boni možno uporabljati tako na včasih izredno priljubljenem

aparatu Ericsson GA628 kot tudi na najnovejših pametnih telefonih, neodvisno od

platforme, npr. iOS, Android, WebOS ali MeeGo, saj glasovna komunikacija predstavlja

presek prav vseh mobilnih telefonov.

Pogoj za uspešno konvergenco darilnih bonov in mobilne telefonije s stališča procesiranja

na strani strežnika je razvoj komponente, ki bo omogočala upravljanje operacij nad

darilnimi boni (nakup, poraba, stornacija, arhiviranje, poročanje itd.), temeljito testiranje

komponente in končna integracija v produkcijski sistem. Implementirana razširitev sistema

1 Vir: http://en.wikipedia.org/wiki/Mobile_phone (zadnjič obiskano 9. 6. 2012)

Page 15: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 3

darilnih bonov na področje mobilne telefonije bo torej predstavljala korist tako

potrošnikom kot tudi ponudnikom storitev.

Namen diplomskega dela je opis in predstavitev komponent sistema elektronskih darilnih

bonov ter implementacija poslovne logike sistema. Razvoj bo temeljil na uporabi agilnih

metodologij, saj zagotavljajo razvoj kakovostne programske opreme v najkrajšem možnem

času in prilagodljivost na nove spremembe [2].

Cilj je izdelava komponente, ki bo integrirana v Margento procesni sistem in bo

zagotavljala procesiranje darilnih bonov. Predvidena komponenta bo omogočala, da bo

uporabnik z mobilnim telefonom preko programsko prilagojenega Margento terminala

lahko podaril darilni bon prejemniku, ki mu pripada izbrana mobilna telefonska številka

(MSISDN − Mobile Station International Subscriber Directory Number). Prejemnik bo

preko sporočila SMS/MMS (Short Message Service/Multimedia Messaging Service)

obveščen o prejetem bonu. Darilni bon bo možno porabiti deloma ali v celoti, pri čemer je

obdarovanec o stanju na virtualnem računu obveščen po identifikaciji z mobilnim

telefonom. Implementirana rešitev mora podpirati stornacijo transakcij kot tudi preklic v

primeru nepredvidljivih napak, npr. komunikacijskih napak. Podprti morata biti tako zaprta

kot odprta shema darilnih bonov. Omogočena mora biti tudi podpora (glede na določila v

pogodbi) za avtentifikacijo s pomočjo gesla oz. številke PIN (Personal Identification

Number), kar še dodatno preprečuje morebitne nepooblaščene dostope.

V drugem poglavju diplomskega dela smo natančneje predstavili koncept darilnih bonov in

z njimi povezane dobre prakse. Opisali smo dobre in slabe lastnosti tega poslovnega

modela ter jih ovrednotili. Predstavili smo tudi rešitve različnih ponudnikov elektronskih

darilnih bonov. V analizo so zajete tako tuje kot domače rešitve, poleg tega pa so opisani

sistemi, ki predstavljajo neposredno konkurenco in torej omogočajo popolno poslovanje

preko tehnologij mobilne telefonije. Ovrednotili smo tudi prednosti in slabosti posameznih

rešitev v primerjavi s sistemom darilnih bonov Margento.

Tretje poglavje opisuje Margento sistem mobilnih transakcij, na katerem temelji sistem

darilnih bonov. Opisali smo ključne komponente sistema, princip obdelave transakcij in

tehnologije, ki zagotavljajo varne in robustne storitve in ki temeljijo na patentirani

tehnologiji Margento.

Četrto poglavje vsebuje predstavitev pristopa k razvoju rešitve. Poleg splošne predstavitve

agilnih metod je to poglavje osredotočeno na metodo SCRUM. Zaradi določenih specifik v

Page 16: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4

razvoju smo metodo delno prilagodili, tako da so v tem poglavju zavedene tudi interne

prilagoditve te metode.

V petem poglavju je natančno opisan potek razvoja in paradigem, ki smo jih upoštevali.

Natančno so predstavljeni modeli poslovnih procesov, ki zagotavljajo podporo darilnim

bonom, in operacijami nad njimi. Poleg podrobnega opisa posameznih operacij smo v tem

poglavju predstavili tudi uporabniško izkušnjo pri poslovanju z darilnimi boni.

Page 17: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 5

2 MOBILNI SISTEMI DARILNIH BONOV

Darilni boni so dandanes izredno popularni, kar se odraža v vse višjih prodajnih številkah.

Po podatkih TowerGroup naj bi v letu 2010 bilo globalno prodano darilnih bonov v

vrednosti 91 milijard ameriških dolarjev, kar je 5 % več kot leto prej. Po projekcijah pa naj

bi v letu 2012 prodaja že presegla magično mejo 100 milijard ameriških dolarjev [3].

K porasti prodaje darilnih bonov nedvomno doprinašajo tudi sodobne tehnologije, saj vse

večja priljubljenost virtualnih spletnih trgovin ponovno odpira nove možnosti prodaje

darilnih bonov. Le-ti so v večini primerov v elektronski obliki, saj na takšen način še

hitreje in lažje dosežejo obdarovanca.

Razvoj tehnologije se odraža tudi v množici nepogrešljivih prenosnih elektronskih naprav:

mobilni telefoni, prenosni predvajalniki glasbe, dlančniki, tablični in prenosni računalniki

itd. Ker pa se sodobni ljudje hkrati ne želimo odpovedati svobodi pri gibanju, ponavadi

skrčimo seznam vseprisotne elektronike kvečjemu na mobilni telefon.

Mobilna telefonija tako predstavlja zelo razširjeno platformo, na kateri že temeljijo sistemi

darilnih bonov. Kot je znano, obstaja cela kopica mobilnih platform (operacijskih

sistemov): iOS, Android, Symbian, Windows Mobile. Marsikateri konkurenčni ponudnik

ponujaja sisteme, ki delujejo npr. samo na platformah iOS in Android, ne nudijo pa

aplikacij za Windows Mobile in BlackBerry, nekateri se poslužujejo tehnologij kot so SMS

(Short Message Service) in NFC (Near Field Communication). Naša rešitev za razliko od

mnogih že uveljavljenih ponudnikov zajema prav vse tipe mobilnih aparatov. Načeloma

lahko za identifikacijo uporabljamo celo stacionarni telefonski priključek.

2.1 SPLOŠNA PREDSTAVITEV DARILNIH BONOV

Princip darilnih bonov je v bistvu dokaj preprost. Pri nakupu darilnega bona prejmemo

vrednostnico z določeno nominalno vrednostjo. To vrednostnico lahko nato poklonimo v

obliki darila tretji osebi, ki jo lahko v določenem časovnem obdobju unovči bodisi za

Page 18: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 6

storitev bodisi za blago v poslovalnicah, ki so − tako kot rok trajanja − določeni v pogojih,

ki jih določi ponudnik.

Kljub precejšni razširjenosti darilnih bonov je v Sloveniji zakonodaja na tem področju

ohlapna, kar lahko potrošnikom predstavlja problem, saj ni natančno določenih

regulacijskih pravil. V tem primeru so potrošniki pri reševanju problemov prepuščeni dobri

volji ponudnikov darilnih bonov, saj ZPS (Zveza potrošnikov Slovenije) nima pravne

osnove pri ščitenju pravic potrošnikov [4].

Darilne bone glede na shemo ločujemo na odprto in zaprto shemo. Primer odprte sheme so

darilni boni BTC City ali darilni boni nakupovalnega središča Europark, kjer je darilne

bone možno koristiti v vseh poslovalnicah, ki obratujejo znotraj nakupovalnega središča. V

tem primeru lahko torej bon koristimo pri različnih trgovcih na različnih točkah prodaje

(POS), kupimo pa ga načeloma lahko le na izbranih lokacijah (običajno informativna točka

nakupovalnega središča). Slika 2 prikazuje princip odprte sheme.

Slika 2 − Odprta shema darilnih bonov1

1 Vir: Margento R&D - System Overview (interna dokumentacija) [5]

Page 19: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 7

Odprta shema s seboj prinaša potrebo po evidentiranju bonov, vzpostavitvi varnostnih

mehanizmov in dovršenega mehanizma menjave, kar se odraža v plačevanju določene

provizije. Pri zaprtih shemah potrebe po proviziji ni, saj gre v tem primeru za interno

menjavo. Kljub temu je tudi zaprto shemo potrebno zaščititi pred morebitnimi zlorabami.

Primer zaprte sheme so na primer darilni boni podjetja DM (Drogerie Markt) ali pa darilni

boni podjetja Lisca, kjer je darilne bone sicer možno kupiti in koristiti v vseh njihovih

fizičnih in spletnih prodajalnah, shema pa ne omogoča distribucije darilnih bonov za druge

trgovce. Princip delovanja je prikazan na sliki 3.

Slika 3 − Zaprta shema darilnih bonov1

2.2 PREDNOSTI DARILNIH BONOV

Bistvena prednost darilnih bonov pred konvencionalnimi darili je preprostost uporabe in

priročnost, saj je kupcu darilnega bona prihranjeno izbiranje darila. Veliko prednost

darilnih bonov predstavlja tudi hitrost nakupa, saj je v primerjavi z iskanjem primernega

darila veliko hitrejše in učinkovitejše. Ta lastnost je izrazita v trenutkih, ko moramo darilo

1 Vir: Margento R&D - System Overview (interna dokumentacija) [5]

Page 20: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 8

kupiti v zadnji minuti. Darilni boni v večini primerov deloma − pri elektronskih darilnih

bonih pa popolnoma − eliminirajo zavijanje daril in so večinoma priročnejši za transport.

Pri darilnih bonih se izognemo tudi duplikatom daril, saj obdarovancu ponavadi veliko več

pomeni deset identičnih darilnih bonov kot deset identičnih mikrovalovnih pečic. Z

darilnimi boni pa lahko pripomoremo k uresničitvi želje po nakupu nekega izdelka ali

storitve, ki si jo obdarovanec želi – darilni bon v tem primeru predstavlja prispevek [5].

2.3 POMANJKLJIVOSTI DARILNIH BONOV

Kljub vsem dobrim lastnostim darilnih bonov obstajajo tudi pomankljivosti. Iz stališča

potrošnika je ena glavnih omejitev rok trajanja. Kaj hitro se lahko zgodi, da prejeti darilni

bon založimo in ga prepozno ponovno odkrijemo. V primeru krajših rokov trajanja je

precej verjeten scenarij, da prejemnik darila enostavno nima časa, da bi darilni bon

unovčil.

Omeniti velja tudi morebitno slabost, če kupcu npr. sploh ni do kupovanja oz. da

kupovanje sovraži. V takem primeru je darilni bon lahko nezaželen, kar je ravno nasprotno

od tega, kar naj bi darilo samo po sebi predstavljalo. Rešitev takšnega problema je npr.

stornacija darilnega bona ali možnost menjave darilnega bona za denar. Ker vsi ponudniki

darilnih bonov tega ne omogočajo, je pred nakupom koristno preveriti pogoje poslovanja

ponudnika darilnih bonov [5].

2.4 REŠITVE PONUDNIKOV DARILNIH BONOV

Tabela 1 prikazuje lastnosti nekaterih konkurenčnih ponudnikov darilnih bonov na

ameriškem tržišču. Posamezne opcije, ki opisujejo sistem darilnih bonov, predstavljajo del

zahtev, ki jih je bilo potrebno upoštevati pri razvoju. V tabeli so povzeti podatki za leto

2011.

Page 21: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 9

7-Eleven

Amazon.com

American Express

Best Buy

eBay.com

Harris Bank MasterCard

Home Depot

iTunes

KeyBank MasterCard

Kmart

McDonald's

Pizza Hut

RadioShack

Starbucks

Target

U.S. Bank Visa

Walmart

Tabela 1 − Primerjava ponudnikov darilnih bonov1

Legenda:

− brez roka trajanja

− brez stroškov mirovanja in vzdrževanja

− zaščita pred izgubo ali tatvino

− na voljo zaščita s PIN

− možnost ponovnega nalaganja

− elektronski darilni bon

− vpogled v stanje na računu preko spletne strani

− brezplačna dostava

− stroški nakupa

1 Vir: http://www.creditcards.com/credit-card-news/2011-gift-card-comparison-table-1271.php [6]

Page 22: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 10

Iz tabele je razvidno, da nobeden od naštetih ponudnikov darilnih bonov ne podpira vseh

kriterijev hkrati. Na drugi strani mora rešitev Margento podpirati vse kriterije (za vsakega

naročnika posebej se v pogodbi določijo zahtevane opcije), saj je v tem primeru

omogočena enostavnejša in hitrejša realizacija prilagoditev sistema različnim zahtevam

poslovnim strankam (ponudnikom darilnih bonov). Poleg tega rešitev Margento spada med

precej redke sisteme, ki uporabljajo mobilne tehnologije.

Kljub temu, da se iz leta v leto povečuje število ponudnikov elektronskih darilnih bonov

(sistemi večinoma temeljijo na spletnih tehnologijah), je rešitev, ki temeljijo na

tehnologijah mobilne telefonije, še vedno relativno malo. Podjetja, opisana v tabeli, imajo

v večini primerov v lastni režiji razvit sistem elektronskih darilnih bonov, kar zagotovo

pripomore k manjši razširjenosti mobilnih rešitev, saj je razvoj lastne mobilne rešitve v

zaprtih shemah zaradi zahtevnosti izvedbe pogosto ekonomsko neupravičen. V naslednjih

poglavjih bodo podrobneje opisani nekateri ponudniki mobilnih darilnih bonov.

2.4.1 Rešitev podjetja MBO

MBO je podjetje, katerega storitve temeljijo predvsem na tehnologiji kratkih sporočil

(SMS). Ponujajo storitve darilnih bonov, kuponov, vstopnic, voščilnic in mobilnega

marketinga. Koriščenje darilnega bona sestoji iz dveh korakov; prejemnik darilnega bona

prejme SMS obvestilo z internetno povezavo do črtne kode. Iz zaslona lahko na blagajni

odčitajo in verificirajo darilni bon. Kot prednost pred ostalimi ponudniki klasičnih darilnih

bonov poudarjajo možnost podatkovnega rudarjenja nad podatki uporabnikov (v kolikor se

uporabniki strinjajo s pogoji poslovanja). Podjetje MBO omogoča integracijo z obstoječo

točko prodaje (POS).[7]

Večja pomanjkljivost v primerjavi z rešitvijo Margento mobilnih darilnih bonov se odraža

v tem, da ne deluje na vseh vrstah mobilnih telefonov; mobilni telefon mora omogočati

internetno povezavo (za dostop do povezave v sporočilu SMS), imeti zaslon s čim večjo

resolucijo (od prikaza črtne kode je odvisno optična prepoznava na blagajnah točk prodaje)

itd.

2.4.2 Rešitev podjetja Target Corporation

Prav tako kot pri rešitvi podjetja MBO tudi korporacija Target za delovanje zahteva

mobilni telefon z internetno povezavo (vključno s stroški povezave v breme uporabnika).

Internetna povezava je potrebna za prikaz posebne interne grafične kode in stanja na

Page 23: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 11

virtualnem računu. Pravzaprav gre za popolnoma podobno rešitev, kot jo ponuja MBO, z

razliko osnovne usmeritve podjetja. Target je namreč trgovska veriga s preko 1740

poslovalnicami. Sistem Target mobilnih darilnih bonov je tesno vpet v sam informacijski

sistem, vključno z lastno tehnologijo prepoznave kode iz zaslona.[8]

Takšen pristop onemogoča trženje znanja ('know-how'), kar pa je eden glavnih virov

prihodka podjetja MBO in nenazadnje tudi podjetja Margento R&D. Korporacija Target

tako trži le končne produkte (darilne bone), ne pa tudi uporabljene tehnologije.

2.4.3 Rešitev podjetja DoDo Mobile Technologies

Podjetje DoDo Mobile tehnologije ponuja zelo podoben pristop pri rešitvi darilnih bonov,

kar se tiče unovčevanja, saj gre ponovno za optično branje dvodimenzionalne kode iz

zaslona mobilnega telefona. Le-ta je poleg osebnega sporočila za razliko od rešitev podjetij

Target in MBO obdarovancu dostavljena preko multimedijskega sporočila (MMS).

Storitev DoDo mobilnih darilnih bonov preko povezave na blagajno ponudnika storitev

omogoča spremljanje vseh transakcij, povezanih z darilnimi boni. [9]

V primerjavi z rešitvijo Margento je uporabljena tehnologija pri implementaciji DoDo

rešitve njena bistvena pomanjkljivost, saj storitev MMS ni podprta pri vseh operaterjih in

mobilnih napravah. Možna je tudi nizka hitrost prenosa, kar nedvoumno zmanjšuje

kvaliteto uporabniške izkušnje.

Page 24: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 12

3 MARGENTO SISTEM MOBILNIH TRANSAKCIJ

Kot je razvidno iz analize tržišča, se zavoljo transakcij z darilnimi boni letno obrne kar

precej denarja, poleg tega pa je trend usmerjen navzgor. Prav zaradi tega dejstva obstajajo

mnoga podjetja, ki bi si rada odrezala svoj kos pogače. Naše podjetje je tu v določeni

prednosti, saj ponujamo cel spekter mobilnih storitev.

Margento R&D d. o. o. v lasti podjetja Margento B. V. s sedežem v Amsterdamu

(Nizozemska) je nastalo kot »spin-off« podjetja Ultra, katerega sedež je v Zagorju,

razvojno-poslovna enota v Ljubljani in razvojni center v Mariboru. Ultra svoje delovanje

širi tudi na mednarodne trge s predstavništvi na Hrvaškem in Češkem, v Avstraliji, Veliki

Britaniji, Srbiji, Črni gori, Južnoafriški republiki in Maleziji. Podjetje je bilo ustanovljeno

leta 1989 in se ukvarja z razvojem, proizvodnjo in trženjem visokotehnoloških rešitev na

področju telekomunikacij, podatkovnih storitev in industrijske elektronike. S svojimi

inovativnimi sistemi za upravljanje oskrbovalnih verig naftnih družb, mobilnega

plačevanja, satelitskega sledenja in ostalih naprednih mobilnih rešitev izboljšuje

učinkovitost poslovanja svojih strank in partnerjev ter jim omogoča najvišjo raven storitev.

Zgodovina skupine Ultra se je začela leta 1989, ko je bilo ustanovljeno podjetje v privatni

lasti. Leto kasneje je podjetje izdelalo svoj prvi produkt: ultra zvočni merilec razdalje,

namenjen merjenju višine premoga v silosu. Leta 1991 se je podjetje ukvarjalo s prvimi

celovitimi rešitvami za rudarsko industrijo in elektrogospodarstvo − v ta namen je bil

razvit sistem signalno-govornih naprav. V naslednjem letu se je razvila vrsta različnih

naprav: UPS sistemi različnih moči od 500 W do 1500 W in 2200 W za potrebe tako

civilne zaščite, policije kot za servisne dejavnosti v elektrarnah, DC/AC pretvorniki in še

nekatere druge naprave. V tem času je imela Ultra sedem zaposlenih. V letu 1995 je bila

razvita in poskusno uvajana naprava za varčevanje z energijo v javni razsvetljavi Ultra

Star. To je prvi izdelek, ki ga je to podjetje ponudilo tudi v tujino, in sicer v Južnoafriški

Republiki. Začeli pa so tudi z razvojem merilnega sistema za podzemne rezervoarje Ultra

Star (sonda in merilna postaja). Leto kasneje so pridobili EX certifikat za merilni sistem,

kar je prvi certifikat te vrste v Sloveniji. Sledila je prva vgradnja merilnega sistema Ultra

Star (BS Petrol Zagorje ob Savi) in podpis pogodbe s Petrolom za opremljanje celotne

naftne družbe z omenjenim sistemom. Začel se je razvoj integriranega sistema za

poslovanje z gorivi v naftnih družbah UltraOVEN (Oddaljeno Vzdrževanje Elektronskih

Page 25: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 13

Naprav), odprla pa se je podružnica v Ljubljani. Podjetje je pridobilo tudi certifikat

kakovosti ISO 9001 za področje razvoja, proizvodnje in prodaje elektronskih naprav.

UltraOVEN se je kasneje preimenoval v UltraCOMPECO (Computerised Petrol Control)

in razvil se je prvi prototip Compeca, ki je vseboval Commander (nadzor točilnega

avtomata Salzkotten, smart-card avtomat). V okviru Compeca se je začel razvoj

identifikacijskega sistema za točenje RFID. Leta 1998 je bia Ultra prisotna na sejmu

Automechanika v Frankfurtu. Začel se je razvoj sistema za daljinsko upravljanje in nadzor

prek GSM omrežja (kasneje imenovan Bird). Septembra 1999 je bila v Avstraliji, s

sedežem v Sydneyju, ustanovljena podružnica podjetja Ultra Pacific Pty Ltd in začeli so z

delo na projektu TalkTrack (sistem za sledenje, komunikacijo in upravljanje z vozili),

sledila pa je prva instalacija Ultrine opreme na drugi celini, v Afriki. Podjetje je bilo glavni

sponzor prireditve Infos'99, kjer je predstavilo predvsem rešitve za naftno industrijo.

Kasneje se je ustanovila podružnica podjetja v Mariboru in zaposlenih je bilo že 60 ljudi.

Leta 2000 je Ultra na aprilski prireditvi Teleinfos predstavila MobiVend − napravo, ki je

omogočala kupovanje z mobilnim telefonom. Compeco je navdušil na sejmu

Automehanika 2000 v Frankfurtu. Konec tega leta so oblikovali in razvili inovativno

napravo na področju plačevanja z mobilnim telefonom, terminal M-Pay, ki je nadomestil

star naziv MobiVend. Leto dni kasneje se je začela proizvodnja in testiranje sistema M-

Pay, in sicer za naročnika, družbo Mobitel. Konec leta 2001 se je opustila blagovna

znamka Compeco in nadaljeval se je razvoj celovitega sistema za upravljanje z naftno

družbo Ultra Supply Chain Management. Razvoj TalkTracka se je pospešil. V podjetju je

bilo takrat 80 zaposlenih. Leta 2002 je Mobitel začel s komercialnim trženjem sistema M-

Pay, pod imenom aMoneta. TalkTrack je dobil GPRS modem. Na trg se je lansirala nova

generacija rešitve M-Pay, Ultra pa je prenovila svojo grafično podobo. M-Pay je bil v

decembru istega leta nameščen na 850 prodajnih avtomatih Coca-Cole, postavljenih na

različnih lokacijah v Sloveniji. M-Pay Mobile POS terminal je bil leta 2003 že v fazi

komercializacije. Podjetje je podpisalo pogodbo z največjo hrvaško naftno družbo INA.

Sistem TalkTrack se je tržil kot naročniška storitev in je razširjal svojo funkcionalnost na

mobilno navigacijo, diagnostiko na daljavo, dostop prek WAP in več. Ultra pa je tudi

podpisala pogodbo s Siemensom in češkim podjetjem ADW, ki je z Ultrinim merilnim

sistemom opremilo 150 bencinskih servisov češke naftne družbe Čepro.

Margento R&D se ukvarja z razvojem mobilnega transakcijskega sistema (gre za izvajanje

različnih storitev prek mobilnega telefona: od plačevanja, zbiranja bonus točk oz. točk

Page 26: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 14

zvestobe, neposrednih polnitev, predplačniških mobilnih računov, elektronskih darilnih

bonov in vstopnic itd.) in ostalih storitev, povezanih z informacijsko tehnologijo.

Patentirana tehnologija prenosa podatkov preko govorne zveze (tehnologija DoV − Data-

over-Voice1) omogoča množico različnih storitev, ki jih naročnikom zagotavlja Margento

R&D.

Tehnologija Data-over-Voice tako preko kanala za govor omogoča prenos podatkov v

mobilnih omrežjih GSM, CDMA, UMTS, omogočen pa je tudi prenos podatkov preko

GPRS in etherneta [10].

Slika 4 − Patentirana tehnologija prenosa podatkov2

V povezavi tehnologije DoV z ostalimi komunikacijskimi tehnologijami (GPRS, IP) so

doseženi še krajši časi transakcij in zaradi uporabe dodatnega komunikacijskega kanala še

povišana stopnja varnosti. Rešitve Margento tako strankam omogočajo storitve, kot so

prejemanje in pošiljanje denarja, zbiranje in koriščenje točk zvestobe, polnjenje

predplačniških računov mobilnih operaterjev, plačevanje računov, kupovanje in uporabo

elektronskih vstopnic, unovčevanje elektronskih kuponov in nenazadnje kupovanje

mobilnih darilnih bonov prijateljem, znancem in družinskim članom [11].

Glede na samo naravo storitev, ki zajemajo operacije nad občutljivimi podatki, je pri

razvoju rešitev zagotavljanje varnosti eno ključnih področij. Poleg klasičnih pristopov

1

• "Sistem za izmenjavo plačilnih podatkov z uporabo plačilnega terminala", vložena na podlagi mednarodne PCT prijave: PCT/IB2000/001495 PCT, številka objave: WO/2002/03369 [12].

• "Plačilni terminal za izmenjavo plačilnih podatkov", vložena na podlagi mednarodne PCT prijave: PCT/IB2002/00123 PCT, številka objave: WO/2003/088165 [12].

2 http://www.margento.com/uploads/brochures/Margento_Corpo_Brochure.pdf [11]

Page 27: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 15

zagotavljanja varnosti, kot so šifriranje, avtorizacija in avtentikacija, morajo posamezne

komponente zagotavljati varnost na vseh treh nivojih arhitekture informacijskih sistemov;

podatkovnem, aplikacijskem in predstavitvenem nivoju. Brez integracije varnostnih

mehanizmov, aplikacij in storitev elektronskega poslovanja praktično ni mogoče razviti,

saj le tako lahko zagotovimo dovolj visok nivo varnosti [13].

Slika 5 − Pregled platforme Margento1

Sistem mobilnih transakcij Margento tako tvori kar platformo, ki nudi podporo celi paleti

poslovnih procesov, ki jih je možno integrirati vanjo. Platforma je sestavljena modularno,

njene ključne komponente so podrobneje opisane v naslednjem poglavju.

3.1 PREDSTAVITEV OBSTOJEČIH KOMPONENT SISTEMA

MARGENTO

Sistem Margento je sestavljen iz mnogih specializiranih komponent, ki so združene v

zmogljivo in dosegljivo omrežje, s pomočjo katerega so storitve zagotovljene vsem

strankam. Osrednji del sistema Margento je Margento procesni sistem (MPS), ki

zagotavlja obdelavo transakcij in integracijo z zunanjimi sistemi. Omogoča visoko

1 Vir: Margento R&D − System Overview (interna dokumentacija) [12]

Page 28: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 16

zmogljivost in različne kombinacije plačilnih storitev. Sistem Margento lahko ima eno ali

več telekomunikacijskih vstopnih točk, ki služijo kot vmesnik med sistemom in

telekomunikacijskimi omrežji ter zagotavljajo komunikacijske kanale, preko katerih lahko

uporabniki uporabljajo storitve, ki jih nudi sistem Margento. Prek omenjenih

komunikacijskih kanalov poteka tudi vsa komunikacija med procesnim centrom in

terminali Margento.

Sistem je sestavljen iz treh različnih vmesnikov (komunikacijski vmesniki, vmesniki za

plačila, integracija) in različnih aplikacij za upravljanje.

Standardne komponente sistema MPS so komponente za procesiranje in administracijo ter

obdelavo podatkov. Slika 6 prikazuje posamezne komponente MPS sistema in povezave

med njimi.

Margento telekomunikacijska dostopna točka (MTAP) je vmesnik med operaterjem

mobilnega omrežja in sistemom Margento (MPS). Ima vlogo posrednika in je na eni strani

priključen na MSC (Mobile Switching Center), na drugi strani pa je priključen na sistem

Margento (MPS).

Če je do sistema MPS omogočen dostop preko več različnih operaterjev mobilnih omrežij,

je za vsakega operaterja nameščen vmesnik MTAP. Glavna naloga vmesnika MTAP je

zagotavljanje prehoda podatkov med sistemom Margento (MPS) in mobilnim omrežjem.

Posledično omogoča varno in transparentno komunikacijo med Margento terminali in

sistemom MPS. MTAP integrira sistem IVR (avtomatski interaktivni odzivnik), ki vodi

uporabnika skozi celoten proces uporabe sistema Margento.

MTAP sestavljajo komponente Crypto Server, NE in MAP.

Crypto Server je strežniška komponenta, katere primarna naloga je zagotavljanje varne

komunikacije s terminali Margento.

Uporabljen način kriptiranja podatkov je ECC (Elliptic Curve Cryptography). Z izbranim

načinom kriptiranja so zmanjšane performančne zahteve sistema in obremenjenost

prenosnega kanala, brez izgub glede na varnost kriptiranih podatkov. S pomočjo kriptirnih

algoritmov in protokolov za izmenjavo ključev in digitalnih podpisov je zagotovljena

celovitost in zaupnost podatkov.

Page 29: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 17

Crypto Server tudi skrbi za varen prenos številk PIN od Margento terminala do institucij,

kot so izdajatelji, banke idr., in skrbi za varnost od konca do konca (End-to-End), ki je

obvezna v sistemih, kjer nastopajo transakcije.

Zaradi zanesljivosti sistema in medsebojnih povezav je ta komponenta običajno nameščena

v tesnem stiku z operaterji mobilnih omrežij in sistemom MPS.

NE (Network Equipment) je komponenta Margento, ki predstavlja vmesnik proti

telekomunikacijski omrežni opremi na strani omrežnega operaterja. Predstavlja najnižji

nivo v arhitekturi sistema Margento in omogoča povezavo s terminali ali drugimi

uporabniki sistema; kontrolira nizkonivojsko komunikacijo med terminalom Margento in

procesnim centrom, odgovorna je za modulacijo in demodulacijo glasovnega signala ter

omogoča IVR funkcionalnost.

Komponenta NE sprejema klice in ob vsakem dohodnem klicu se ustvari edinstvena seja

za to povezavo. Najprej se določi ID seje na podlagi interne številke kanala, po katerem je

prišel zahtevek. Seja živi, dokler se povezava ne prekine. NE skrbi tudi za inicializacijo

varne End-To-End crypto seje. Le-ta se začne, ko komponenta NE dobi identifikacijske

številke terminala (TID). Ko se vzpostavi varna seja, NE začne komunicirati z MAP-om

oz. mu pošlje zahtevek od terminala. V sistemu je lahko več NE in CryptoServer

komponent.

Margento Access Point (MAP) je povezovalna komponenta in predstavlja vmesnik med

različnimi vhodnimi napravami in storitvami ter komponento MPC. Podatki, ki se pošljejo

z NE na MAP, se razčlenijo, določi se, kateri podatki so potrebni za nadaljnje procesiranje

transakcije na MPC-ju in se pošljejo komponenti MPC.

Margento Processing Center (MPC) je centralna komponenta, ki skrbi za izvajanje

transakcij v Margento sistemu in je vključena skozi celoten življenjski cikel posamezne

transakcije.

Povezan je na podatkovno bazo, na komponento MAP za komunikacijo s terminalom in na

CS za pridobivanje ključa terminala.

Integracija komponente Margento Payment Gateway (MPG) omogoči povezavo s centrom

MGW in plačevanje storitve prek Monete. Preko MPG-ja se pošiljajo podatki uporabnika

do Moneta centra, kjer se preveri verodostojnost le-teh, nato pa se izvrši finančna

transakcija na Moneta centru.

Page 30: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 18

MPay Gateway (MGW) je sistem, ki zajema transakcije iz e-Commerce spletnih strani in

jih obdela v okolju MPay v realnem času. MGW povezuje vse vpletene strani z uporabo

javnih vmesnikov, ki ponujajo trgovcem oz. njihovim strankam dodaten način za izvedbo

plačila. Ta lahko vključuje spletni brskalnik, interaktivni glasovni odzivnik (IVR), mobilni

brskalnik na telefonskem aparatu in/ali SMS.

MPSA (Margento Processing System Administration) je komponenta, ki preko spletnega

uporabniškega vmesnika omogoča celovito administracijo procesnega sistema. Zajema

oddaljeno administracijo Margento terminalov, upravljanje pogodb, prodajnih mest (POS),

trgovcev itd. [14]

Poleg tega omogoča tudi pregled nad transakcijami z naprednim filtriranjem (časovni filter,

filtri glede na identifikacijsko številko terminala, ime podjetja, številka prodajnega mesta,

filter statusa transakcije itd.). Spletna komponenta MPSA podpira večnivojske uporabniške

vloge, tako da je možno popolno prilagajanje dostopa in pravic do določenih

funkcionalnosti na posameznem nivoju.

Margento Online Payment (MOP) je plačilni sistem, ki končnemu uporabniku (kupcu)

omogoča varno in robustno plačilno metodo z uporabo mobilnega telefona kot instrumenta

za avtentifikacijo. Naročniki sistema Margento lahko torej uporabljajo isti račun za

mobilno plačevanje kot tudi za internetno nakupovanje.

Dostop do spletne storitve je zagotovljen preko MOP API vmesnika. Promet preko spletne

storitve do procesne komponente MPC poteka preko komponente MOP Gateway.

Komponenta oddaljenih poročil (Remote Reports) trgovcu zagotavlja, da preko terminala

lahko dostopa do poročila uspešnih transakcij. Komponenta je preko komponente MPC

povezana do podatkovne baze, ki vsebuje informacije, ki jih lahko zahtevamo pri

oddaljenih poročil. Komponenta zagotavlja tudi izbiro časovnega okvira, ki ga poročilo

zajema.

3.2 POSTOPEK PROCESIRANJA TRANSAKCIJ

Življenjski cikel obdelave transakcije se začne, ko komponenta NE prejme klic iz

mobilnega telefona (1). Uporabnikova mobilna številka je pri tem koraku že znana. NE

sproži dogodek in klic je posredovan komponenti MAP (2). Le-ta pošlje ukaz komponenti

Page 31: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 19

MPC za začetek transakcije (3). V podatkovni bazi se inicializira transakcija z unikatnim

transakcijskim ključem (4). MAP pošlje komponenti NE ukaz za predvajanje

interaktivnega glasovnega odzivnika (IVR), ki ga NE nato tudi predvaja. MAP nato pošlje

ukaz za pošiljanje TRD paketa (5). Ko NE posreduje paket proti terminalu (6) in ga slednji

tudi zazna, se odzove s pošiljanjem identifikacijske številke terminala, ki je poleg

določenih informacij zapakirana v paketu TID (7). Le-ta se preko MAP posreduje proti

komponenti MPC (8), ki paket verificira in iz podatkovne baze zajame dodatne potrebne

informacije o terminalu (9). Na tem mestu se začne kriptirana seja pošiljanja sporočil

(sporočila so kriptirana z javnim in zasebnim ključem). Ko je kriptirana seja vzpostavljena,

komponenta MPA pošlje proti komponenti MPC zahtevek za preverjanje posodobitev

programske opreme terminala. V kolikor posodobitev obstaja, se prične prenos

vzdrževalnih paketov. Med vzpostavljeno povezavo komponenta NE čaka na zahtevek v

kriptirani obliki z informacijami, kot so: identifikator, ki nam pove, za katero storitev gre,

izbrana vrednost na terminalu ipd. (10) Te podatke mora nato kriptografski strežnik (CS)

obdelati in dešifrirane posredovati komponenti MAP (11). Le-ta nato pošlje paket z ukazi

proti komponenti MPC za avtentifikacijo (12). MPC preveri ujemanje s pogodbami in v

kolikor je vse v redu, lahko avtorizacijski zahtevek potuje proti ustrezni komponenti, ki

transakcijo ustrezno obdela z algoritmom (13). V kolikor je obdelava uspešna, lahko MAP

nadaljuje s transakcijo, tako da pošlje potrdilo proti terminalu, ki odgovori z lastnim

potrdilom (14). MAP na tem mestu pošlje zahtevek za zaključek transakcije proti

komponenti MPC, ki časovno žigosa zaključek transakcije in poleg ostalih zahtevanih

procedur transakciji nastavi ustrezen status (15). Transakcija se na tem mestu zaključi in

zapre. Potek klicne transakcije po komponentah je podrobneje orisan na sliki 6.

Page 32: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 20

Slika 6 − Pregled Margento procesnega sistema (MPS)

Margento procesni sistem poleg procedure procesiranja zgoraj opisanih klicnih transakcij

podpira tudi USSD, SMS, PushMail zahtevke kot dostop preko internetne strani, ki podpira

sistem MOP (Margento Online Payment), ali pa preko mobilne aplikacije

(iPhone/Android/Symbian/MeeGo/BlackBerry). Različnim načinom dostopa do

procesnega sistema Margento je skupna povezava do komponente MPC preko povezovalne

komponente MAP oz. spletne storitve (Web Service) v primeru MOP zahtevkov, kar

pomeni, da bistvenih razlik v procesiranju različnih transakcij praktično ni.

Page 33: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 21

4 PRISTOP K RAZVOJU REŠITVE

Zaradi problemov in negotovosti, ki lahko nastanejo ob morebitnih spremembah poslovnih

procesov, smo pri komponenti, ki omogoča procesiranje mobilnih darilnih bonov, morali

vpeljati določene spremembe v razvojnem procesu. Glede na osnovne vrednote agilnega

razvoja programske opreme in ustreznih velikosti delovnih timov za dani projekt smo se

odločili za podoben pristop.

Zaradi raznolikosti področij, ki smo jih zastopali člani delovne ekipe, smo morali izbrano

metodologijo Scrum rahlo prilagoditi za lažjo integracijo v delovanje podjetja. Narava

raziskovanja in dela podjetja Margento R&D zajema tako področje strojnih (hardware) kot

programskih (software) rešitev. Tako smo si z dobrimi praksami, ki v glavnem zajemajo le

programski del razvoja, lahko precej, ne pa v celoti pomagali.

4.1 AGILNE METODE

Termin agilnega razvoja je utemeljil manifest iz leta 2001 [15]. Agilni razvoj programske

opreme v glavnem omogoča boljšo storilnost in lažje ter hitrejše odzivanje na nove zahteve

naročnikov. Ključ do tako elastičnega razvoja leži v osnovnih vrednotah agilnega razvoja:

• posamezniki in njihova komunikacija so pomembnejši kot sam proces in orodja,

• delujoča programska oprema je pomembnejša kot popolna dokumentacija,

• vključevanje (sodelovanje) uporabnika je pomembnejše kot pogajanje na osnovi

pogodb,

• upoštevanje sprememb je pomembnejše od sledenja planu [16].

Sledi podrobnejša razčlenitev posameznih načel

Posamezniki in njihova komunikacija/proces in orodja

Takšna skupina, kjer so člani v delovnih skupinah ponavadi ljudje z različnimi znanji in

interesi, v primeru specifičnih določitev delovnih nalog svojega potenciala največkrat ne

more popolnoma izkoristiti. Pri agilnih metodah se tako veliko bolj poudarja individuum

posameznika in s pravilno porazdelitvijo vlog glede na parametre članov skupine se lahko

zagotovi večja uspešnost projekta. Prav tako se poudarja moč komunikacije, saj je dobro

Page 34: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 22

sodelovanje članov projekta in dobra komunikacija med njimi veliko pomembnejša od

striktnega upoštevanja predpisanih procesov [17].

V podjetju Margento R&D smo tako pri razdeljevanju vlog upoštevali posameznikova

znanja. Specialisti za podatkovne baze so bili odgovorni za razvoj podatkovnega modela in

optimizacijo zahtevkov, skupina razvijalcev, ki so mojstri na področju strojne opreme, so

bili odgovorni za razvoj terminalske programske kode. S podobnim ključem so bile

razvrščene še preostale vloge: razvijalci poslovne logike, člani testnega oddelka itd. Z

dobro medsebojno komunikacijo članov projekta je bilo vzpostavljeno kvalitetno delovno

ozračje, ki je pripomoglo k hitremu in uspešnemu dokončanju projekta.

Delujoča programska oprema/popolna dokumentacija

Vsak končni uporabnik si pri nakupu želi kvalitetne storitve ali produkta. V kolikor gre za

programsko rešitev, so takšna pričakovanja ponavadi še višja, saj lahko napake in

pomanjkljivosti pomenijo poslovno škodo, ki si jo nihče ne želi. Manifest agilnega razvoja

programske opreme v ta namen pred popolno dokumentacijo postavlja popolnoma

delujočo programsko opremo [17].

Glede na to, da je dokumentacija kljub vsemu izredno pomembna − nenazadnje si naročnik

ne more pomagati z delujočim programom, če ne ve, kako se ga uporablja − smo pri

projektu mobilnih darilnih bonov kljub osredotočenosti na delujočo rešitev, dokumentacijo

pripravljali sproti − vsak član projekta je dokumentiral svoj prispevek. Končni rezultat je

tako bila brezhibno delujoča programska oprema, ob zlitju (pristop »deli in vladaj«)

posameznih delov dokumentacije pa je bila rešitev tudi zadovoljivo dokumentirana.

Vključevanje (sodelovanje) uporabnika/pogajanje na osnovi pogodb

Pogodba med naročnikom in izvajalcem je nedvoumno pomemben dokument, ki vsebuje

formalne obveznosti med enim in drugim. Kljub temu je po načelu agilnih metodologij

potrebno prirediti višjo prioriteto vključevanju naročnika v razvojni cikel. To je moč

doseči le z dobrimi medsebojnimi odnosi, kar doprinese k zmanjševanju formalnosti in

nenazadnje boljše razumevanje želja in pričakovanj, ki jih naročnik najbolje pozna [17].

V praksi se vse prepogosto izkaže, da se zahteve naročnika spreminjajo ravno zaradi

slabega medsebojnega razumevanja problema med naročniki in izvajalci. Razvoj zaradi

novih ali spreminjanja starih funkcionalnosti lahko tako traja dlje od v pogodbi določenega

roka. V primeru strogega držanja pogodbenih določil, bi bilo potrebno za vsako

Page 35: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 23

spremembo podpisati novo pogodbo ali aneks k pogodbi, kar pogosto za sabo potegne

dodatne stroške in zakasnitve.

Reagiranje na spremembe/sledenje planu

V mnogih primerih so spremembe "de facto" sestavni del projektov. Razvojna ekipa mora

glede na manifestacijo agilnega razvoja programske opreme v takšnem primeru ustrezno

reagirati, tudi v primeru žrtvovanja sledenju projektnega plana, saj je neažurnem planu

najslabše slediti. To pa še ne pomeni da planiranje in delo po planu nista nepomembna v

razvoju. Potrebno je le zagotoviti dovolj odzivne modifikacije projektnega plana [17].

V primeru metodologije SCRUM lahko uspešno sledenje spremembam projektnega plana

in samo prilagajanje plana dosežemo z rednimi sestanki, ki so sestavni del omenjene

metodologije.

4.2 SCRUM

Razvoj pri metodologiji poteka tako, da najprej zberemo vse poslovne pogoje in zahteve

posameznega projekta v seznam zahtev. Posameznim funkcionalnostim in tehnologijam

nato lastnik produkta z določanjem prioritet učinkovito določa zaporedja gradnje

posameznih delov informacijskega sistema. Pri planiranju šprinta se med Scrum ekipo po

definirani prioriteti razdeli zahteve, ki bodo znotraj 30-dnevne iteracije predstavljale novo

izvedljivo funkcionalnost. Med ciklom šprinta je naloga vodje projekta (v domeni

metodologije t. i. Scrum Masterja), da vodi 15-minutne dnevne sestanke in z ekipo

odgovori na naslednja vprašanja:

• Kaj je bilo narejeno med prejšnjim in trenutnim dnevnim sestankom?

• Kakšen je plan dela do naslednjega dnevnega sestanka?

• Kako rešiti probleme, na katere so člani ekipe med razvojem morebiti naleteli?

Uspešnemu šprintu sledi natančna evalvacija funkcionalnega produkta posameznega

šprinta iz strani Scrum ekipe in lastnikom produkta. V kolikor je rezultat zadovoljiv, se

ponovno začne planiranje in začetek novega 30-dnevnega šprinta. Ko so enkrat dokončane

vse alineje v seznamu zahtev in je vsota vseh delnih funkcionalnosti (rezultatov

posameznih šprintov) enaka končnemu programu, se v naslednjem šprintu opravi migracijo

produkta v produkcijsko okolje in podpis primopredajne pogodbe [18].

Page 36: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 24

Slika 7 − Grafični prikaz metodologije Scrum1

Posebnost in hkrati prednost podjetja Margento R&D je izdelava tako programske opreme

kot tudi strojne opreme, ki vsaka zase prinaša določene specifike in nadaljnje delitve.

Zaradi teh razlik vpeljava agilnega razvoja po metodi Scrum med vsemi oddelki članov

projekta ne bi bila smiselna. V ta namen so bile smernice metodologije Scrum malce

spremenjene. Variabilni časovni okvir posameznega šprinta (dolžina šprinta je lahko

različna od 30 dni) je v primeru projekta mobilnih darilnih bonov pomenil glede na

pogodbeni rok razdeljene časovne okvire. Seznam zahtev za posamezen šprint je

predstavljal TO-BE model poslovnega procesa, pretvorjenega iz AS-IS modela (pretvorba

z optimizacijo je potekala pri planiranju šprinta). Modifikacije zajemajo tudi vpeljavo sej

programiranja v parih, ki so zagotavljale sprotno učenje, reševanje težav, testiranje in

sprotno dokumentiranje sprememb ter novih funkcionalnosti.

Pri realizaciji mobilne rešitve elektronskih darilnih bonov smo projekt razdelili na pet

sklopov, ki so predstavljali posamezne šprinte: informativna transakcija, nakup, koriščenje,

stornacija in preklic. Ko je bil enkrat natančno določen aplikacijski protokol, ki predstavlja

temelj komunikacije med strežniškimi komponentami in terminalom, in določen ter

1 Vir: M. Heričko: Sodobni procesi, prosojnice pri predmetu Gradnja informacijskih sistemov, FERI [19]

Page 37: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 25

realiziran podatkovni model, je razvoj strojne opreme in MPSA aplikacije potekal

neodvisno od SCRUM razvoja programskega (strežniškega) dela. Zaradi tega sprotne

demonstracije nove funkcionalnosti, ki so ponavadi končni rezultat posameznega šprinta,

ni bilo vedno možno opraviti v povezavi iteracije strežniške rešitve in terminala.

Demonstracija posamezne funkcionalnosti strežniške aplikacije je bila tako na začetku

opravljena s simulatorjem terminala, kasneje pa se je za to uporabljal terminal.

Med posameznimi šprinti smo v projektni skupini ob prisotnosti naročnika natančno

pregledali zahteve, prepoznali ozka grla in optimizacije modela poslovnega procesa. Ena

takšna optimizacija je npr. možnost delovanja brez številke PIN, saj smo z naročnikom

uskladili mnenje, da je potrebno čim bolj poenostaviti delovanje. Ker se naročnik dodatni

varnosti kljub temu ni želel odreči, smo to funkcionalnost realizirali tako, da jo je možno

naknadno vklopiti preko administratorskega sistema MPSA.

V projektni skupini smo na strani strežniškega dela rešitve sodelovali trije razvijalci. Vodja

skupine je skliceval dnevne 15-minutne sestanke, kjer smo določili posamezne naloge,

rešili morebitne težave in opravili pregled ter evalvacijo programske kode. Posamezni

šprint je trajal približno tri delovne dni, pri čemer smo kasneje zaradi optimizacije

delovnega procesa združili šprint za preklic transakcije in stornacijo.

Pomemben del vsakega šprinta je predstavljalo tudi testiranje, saj je morala vsaka

zaključena celota kot rezultat posameznega šprinta prestati veliko različnih testov. Kljub

temu, da smo celovite, t. i. »end-to-end« teste opravili šele po zaključku implementacije

posameznih funkcionalnosti, so testi med razvojem pripomogli k zgodnjemu odkrivanju

napak in posledično tudi k odpravljanju le-teh.

Page 38: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 26

5 RAZVOJ SISTEMA DARILNIH BONOV MARGENTO

Razvoj sistema darilnih bonov je potekal na različnih komponentah, ki jih razvijajo

različne razvijalske skupine znotraj podjetja Margento R&D. K temu štejemo razvoj

programske opreme za terminale, razvoj modula za MPSA in nenazadnje strežniške

aplikacije, ki so tudi cilj diplomskega dela.

5.1 MODELI POSLOVNIH PROCESOV MARGENTO SISTEMA

DARILNIH BONOV

Z namenom kasnejše analize in optimizacije poslovnega procesa kot tudi bolj

predstavitvenega vpogleda v arhitekturo sistema darilnih bonov smo poslovni proces

predstavili v notaciji BPMN. Slika 8 prikazuje poslovni proces nakupa darilnega bona tako

iz stališča končnega uporabnika kot tudi ponudnika storitve in procesnega sistema

Margento. Aktivnosti posameznega udeleženca v poslovnem procesu so zajete v

posameznih bazenih. Zaradi različnih in spreminjajočih zahtev naročnikov ter nenazadnje

zaradi varovanja poslovnih skrivnosti podprocesi v BPMN modelih niso podrobneje

opisani, saj so transakcije procesirane glede na pogodbena določila med naročnikom in

izvajalcem.

Page 39: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 27

Slika 8 − Model poslovnega procesa nakupa darilnega bona

Page 40: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 28

Slika 9 − Model poslovnega procesa koriščenja darilnega bona

Page 41: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 29

Na sliki 9 je prikazan model poslovnega procesa koriščenja darilnega bona. Sam model

ostaja isti tako pri delnem unovčenju darilnega bona kot unovčenju v celoti, saj je pri

aktivnosti "Vnesi željeno vrednost darila" možno oboje. BPMN model na sliki 9 vključuje

tudi model informativne transakcije, saj se le-ta predčasno izvede ob vsakem koriščenju

darilnega bona.

Posamezne funkcionalnosti sistema so podrobneje opisane v naslednjih poglavjih.

5.2 FUNKCIONALNOSTI SISTEMA

Poleg funkcionalnosti, opisanih v prejšnjem poglavju, Margento sistem darilnih bonov

omogoča tako informativne transakcije kot tudi stornacijo in preklic transakcije v primeru

morebitnih težav.

5.2.1 Nakup darilnih bonov

Proces nakupa se začne tako, da pošiljatelj bona izrazi zahtevo pri ponudniku storitev, ta pa

mu ponudi terminal, kjer pošiljatelj izbere vrednost darilnega bona. Kupec se lahko odloči

tudi za osebno sporočilo, ki je na voljo v meniju terminala. Nato je potreben vnos številke

obdarovanca. Kupec bona nato izbere datum začetka veljavnosti darilnega bona. Sledi

identifikacija uporabnika na način, da pokliče rezervirano številko in prisloni telefon k

terminalu. V kolikor je procesiranje uspešno, mora kupec darilnega bona le še plačati

vrednost bona pri prodajalcu in zanj je proces na tem mestu zaključen. Ko izbrana

veljavnost darilnega bona začne veljati, se prejemniku pošlje informativno sporočilo

SMS/MMS. Prejemnik darilnega bona ga lahko z identifikacijo koristi pri ponudniku

storitev.

Tehnologija Margento poleg nakupa preko terminala omogoča tudi nakup preko spleta. V

tem primeru se identifikacija uporabnika izvrši preko spletne storitve MOP (Margento

Online Payment). Prav tako je omogočeno kupovanje v okviru mobilne aplikacije na t. i.

"pametnih telefonih" in SMS/MMS/PushMail/USSD zahtevkov.

5.2.2 Info transakcija

Info oz. informativna transakcija omogoča prejemnikom darilnih bonov vpogled v stanje

na virtualnem računu. Rezultat transakcije je prikaz vsote veljavnih darilnih bonov za

MSISDN prejemnika na zaslonu terminala. Poteka tako, da prejemnik darilnih bonov

Page 42: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 30

pokliče na rezervirano številko (npr. 1808) in k terminalu prisloni telefon. Po uspešnem

procesiranju se proti terminalu pošlje paket s podatki o znesku, ki ga je možno koristiti

(stanje na virtualnem računu). V kolikor gre pri informativni transakciji le za vpogled v

stanje, se transakcija na tem mestu konča. Zaradi optimizacije hitrosti obdelave transakcije

pa lahko konec poslovnega procesa predstavlja tudi začetek unovčevanja.

5.2.3 Unovčevanje darilnih bonov

Unovčevanje darilnega bona se začne z aktivnostjo, ko prejemnik darilnega bona prejme

SMS/MMS obvestilo, ki je generirano na podlagi izbranega datuma dostave, osebnega

sporočila in nominalne vrednosti darilnega bona. Ko prejemnik darilnega bona prispe v

poslovalnico, kjer lahko koristi darilni bon, mu ponudnik storitev ali izdelkov ponudi

Margento terminal, kjer v meniju izbere aktivnost koriščenja darilnega bona. Prejemnik

bona pokliče na brezplačno številko in prisloni telefon k terminalu. Sledi informativna

transakcija, ki je podrobneje opisana v poglavju 5.2.2. Rezultat informativne transakcije

terminal že "seznani" z omejitvami pri vnosu zneska za unovčenje. V primeru darilnega

bona, zaščitenega s številko PIN, je potrebno vpisati veljavno geslo, sistem pa mora

preveriti pravilnost. V kolikor sredstva niso na voljo, številka PIN ni pravilna oz. virtualni

račun sploh ne obstaja, se proti terminalu pošljejo podatki o napaki. Če pa so vsi

predpogoji izpolnjeni (določeno v vsaki pogodbi s posameznim naročnikom) in uporabnik

vpiše znesek v dovoljeni meji, se začne procesiranje transakcije unovčevanja. Uspešnost

transakcije se odraža v obliki sporočila in natisnjenega potrdila. Naročnik oz. ponudnik

storitev lahko na tem mestu obdarjencu ponudi darilo (v obliki produkta ali storitve v

izbrani vrednosti), saj le-to iz finančnega stališča predstavlja uspešno obdelano in potrjeno

transakcijo.

5.2.4 Stornacija

V primeru, da je npr. prišlo do vnosa napačne številke MSISDN, napačnega datuma

dostave ali zneska, da kupec bona nima dovolj denarja, ali kakšnega podobnega scenarija,

sistem omogoča stornacijo darilnega bona. V tem primeru se stanje na virtualnem računu

zmanjša za ustrezno vrednost darilnega bona. Margento sistem mobilnih darilnih bonov

poleg tega podpira tudi stornacijo uporabe darilnega bona, pri čemer se stanje na

virtualnem računu povrne na enako vrednost pred unovčenjem. Stornacija poteka tako, da

ponudnik storitev v meniju terminala izbere stornacijo in vpiše referenčno številko, ki je

Page 43: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 31

del vsakega potrdila, ki ga natisne terminal. Ko je na terminalu vnos potrjen, se terminal

poveže na komponento darilnih bonov. Le-ta transakcijo verificira in ustrezno procesira. V

kolikor je procesiranje uspešno, se natisne potrdilo z informacijami o uspešni stornaciji

transakcije. Prav tako je uporabnik obveščen o morebitnih napakah pri obdelavi storno

transakcije (transakcija z izbrano referenčno številko je že stornirana, napačna številka

itd.).

5.2.5 Preklic transakcije

Primere, na katere ponavadi ne moremo vplivati, npr. izpad strojne opreme v podatkovnem

središču, odpoved mrežne opreme itd., je pri razvoju kakovostnih rešitev potrebno vnaprej

predvideti in načrtovati potrebne vzvode, da ne pride do nepotrebnih stroškov naročnika in

končnega uporabnika. Sistem Margento omogoča, da se takšni in podobni scenariji

upravljajo na način, ki možnost poslovne škode praktično izniči. Implementirana

funkcionalnost prav tako zagotavlja, da je vzrok preklica transakcije ovrednoten, časovno

potrjen in ustrezno zabeležen.

5.3 UPORABNIŠKA IZKUŠNJA

V tem poglavju bomo opisali izkušnjo, ki jo prek uporabniškega vmesnika Margento

mPOS terminala, prikazanega na sliki 10, doživi končni uporabnik storitve darilnih bonov.

Slika 10 − Margento mPOS terminal

Page 44: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 32

5.3.1 Nakup darilnega bona

Nakup bona123

F1 Meni

Koriščenje bonaStorno transakcije

Darilni boni

Terminal se nahaja v osnovnem oknu, kjer uporabnik s pomočjo navigacijskih tipk izbere

eno izmed ponujenih opcij (Nakup bona, Koriščenje bona, Storno transakcije). V tem

primeru izbere opcijo Nakup bona. Terminal preide v naslednje stanje.

Uporabnik mora vnesti pravilno geslo.

Izbra vrednosti bona1 5 €

10 €225 €3

Nazaj Potrdi

50 €4100 €5

Uporabnik mora izbrati eno od ponujenih vrednosti darilnega bona. S pritiskom ustrezne

tipke potrdi izbrano vrednost darilnega bona.

Uporabnik mora nato izbrati eno od ponujenih možnosti sporočila, ki bo poslano

prejemniku.

Page 45: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 33

Vnesite tel. št.

Izhod Potrdi

Uporabnik mora vnesti telefonsko številko prejemnika, na katerega bo poslan darilni bon.

Varednost 5€Prejemnik 031585855

Pokličite 1808in prislonite telefon

Nakup darilnega bona

Nazaj Datum

Če kupec želi takoj poslati prejemniku darilni bon, mora z mobilnim telefonom poklicati

izpisano številko (v našem primeru 1808).

Če kupec želi, da je darilni bon poslan prejemniku na nek določen dan, uporabnik izbere

izbiro »Datum«.

Uporabnik vnese datum, ko bo darilni bon posredovan prejemniku. S pritiskom tipke na

terminalu uporabnik potrdi vnesen datum.

Varednost 5€Prejemnik 031585855Dostavljeno 5.10.2011

Pokličite 1808in prislonite telefon

Nakup darilnega bona

Nazaj Datum

Kupec mora z mobilnim telefonom poklicati izpisano številko (v našem primeru 1808).

Page 46: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 34

V kolikor uporabnik ne želi nadaljevati z nakupom, se lahko vrne v osnovno stanje. Na tem

koraku terminal opozori končnega uporabnika, katero številko mora poklicati. Transakcija

se prične izvajati z opravljenim klicem.

Uporabnik je opravil klic, s čimer se je izvedla tudi identifikacija. Z opravljeno

identifikacijo se prične transakcija nakupa darilnega bona.

Ko MPC prejme zahtevo za procesiranje transakcije glede na identifikator ustrezne

aplikacije, to posreduje komponenti za procesiranje darilnih bonov. Pred tem komponenta

MPC preveri tudi ustreznost terminala (če je omogočen, ali je pooblaščen za določeno

opravilo itd.). V procesu avtorizacije se obravnava tudi zaključevanje (časovno žigosanje

in ustrezna sprememba statusa) morebitnih nezaključenih predhodnih transakcij in

inicializacija trenutne transakcije.

V času, ko je zahteva posredovana komponenti za procesiranje darilnih bonov, se preveri

MSISDN prejemnika in morebiten zamik pri pošiljanju darilnega bona (začetek

veljavnosti). V kolikor med preverjanjem ni prišlo do napake, se v podatkovno tabelo

vstavijo informacije o transakciji nakupa darilnega bona, ustvari se vavčer in v kolikor so

vsi koraki uspešni, se transakcijo označi kot uspešno.

Glede na izbran datum se v tabelo, ki skrbi za hranjenje SMS/MMS/PushMail/eMail

sporočil, vpiše ustrezno izbrano sporočilo, ki jo nato komponenta Messenger ustrezno

obdela in ob izbranem datumu pošlje prejemniku darilnega bona. MPC glede na uspešnost

obdelave nakupa darilnega bona transakcijo časovno žigosa in označi z ustreznim

statusom. Proti terminalu se pošljejo informacije o uspešnosti procesiranja.

Page 47: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 35

Transakcija je že skoraj končana. S tem zaslonom terminal opozori uporabnika, da se bo

transakcija kmalu zaključila. Uporabnik mora v tem primeru počakati do zaključka

transakcije.

Po zaključeni transakciji bonitetnega zbiranja terminal samodejno natisne potrdilo o

zbiranju bonusa.

Nakup darilnega bona

Transakcija uspešna!

Izhod Natisni

Po končanem tiskanju se prikaže informacija o uspešno izvedeni transakciji. S pritiskom na

tipko se terminal vrne v osnovno okno, lahko pa terminal tudi ponovno natisne potrdilo za

uporabnika. Okno je prikazano tako dolgo, dokler uporabnik ne pritisne tipke za izhod.

Nakup bona123

F1 Meni

Koriščenje bonaStorno transakcije

Darilni boni

Terminal po zaključeni transakciji prikaže osnovno okno ob pogoju, da je uporabnik na

predhodnem zaslonu pritisnil tipko za izhod.

Page 48: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 36

Slika 11 − Potrdilo o nakupu darilnega bona

5.3.2 Koriščenje darilnega bona

Nakup bona123

F1 Meni

Storno transakcije

Darilni boni

Koriščenje bona

Uporabnik v osnovnem stanju s pomočjo navigacijskih tipk oz. numeričnih tipk (1, 2, 3)

izbere eno izmed ponujenih opcij (Nakup bona, Koriščenju bona, Storno transakcije). V

tem primeru uporabnik izbere opcijo Koriščenje bona, ki jo potrdi s pritiskom ustrezne

tipke (v kolikor je bila opcija izbrana s pomočjo numerične tipke, potem potrditev ni

potrebna). Terminal preide v naslednje stanje.

Stranka mora poklicati 1808 in prisloniti telefon k terminalu, da se izvede transakcija o

stanju darilnega bona. V kolikor uporabnik ne želi nadaljevati, se lahko vrne v osnovno

Page 49: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 37

stanje. Na tem koraku terminal opozori končnega uporabnika, katero številko mora

poklicati. Transakcija se prične izvajati z opravljenim klicem.

Komponenta MPC glede na aplikacijski identifikator posreduje procesiranje transakcije

komponenti za upravljanje mobilnih darilnih bonov. Ponovno se izvede preverjanje

ustreznosti terminala in inicializacija transakcije. Komponenta za procesiranje darilnih

bonov nato glede na MSISDN stranke pregleda stanje veljavnih darilnih bonov na

virtualnem računu. Komponenta posreduje informacije o stanju proti MPC, ta pa preko

komponente MAP dalje proti terminalu.

Po uspešno izvedeni transakciji se na zaslonu izpiše razpoložljivo stanje darilnega bona.

Stanje darilnega bona

Stanje: 5 €

Transakcija uspešna!

Izhod Koriščenje

Uporabnik izbere »Koriščenje«, kjer mora nato vnesti znesek, ki ga želi koristiti stranka.

Če izbere »Izhod«, prekine postopek koriščenja darilnega bona.

Vnos zneska koriščenja

2 €Maksimum: 5

Izhod Potrdi

Page 50: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 38

Po vnesenem znesku se s pritiskom tipke »Potrdi« izvede transakcija za koriščenje

darilnega bona.

Po končanem preverjanju ustreznosti terminala in morebitnem zaključevanju predhodno

nezaključenih transakcij komponenta MPC izvede inicializacijo transakcije. Zahtevek se

glede na identifikacijsko številko aplikacije (v tem primeru je to številka, ki predstavlja

koriščenje darilnega bona) posreduje proti ustrezni komponenti.

Komponenta za procesiranje darilnih bonov preveri ustreznost izbranega zneska in

ustrezno posodobi stanje ter znesek darilnega bona, prav tako se posodobi tudi status

transakcije nad darilnimi boni. V kolikor so vsi koraki uspešni, se ta informacija posreduje

komponenti MPC (v primeru napake se le-ta ustrezno diagnosticira in ovrednotena pošlje

proti komponenti MPC), ki se preko komponente MAP posreduje proti terminalu. MPC

glede na uspešnost obdelave nakupa darilnega bona transakcijo časovno žigosa in označi z

ustreznim statusom.

Transakcija je že skoraj končana. S tem zaslonom terminal opozori uporabnika, da se bo

transakcija kmalu zaključila. Uporabnik mora v tem primeru počakati do zaključka

transakcije.

Po zaključeni transakciji terminal samodejno natisne potrdilo o koriščenju darilnega bona.

Page 51: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 39

Po končanem tiskanju se izpiše preostalo stanje darilnega bona. Terminal se lahko vrne v

osnovno okno ali pa ponovno natisne potrdilo za končnega uporabnika. Okno je prikazano

tako dolgo, dokler uporabnik ne pritisne tipke za izhod.

Če je uporabnik na predhodnem zaslonu pritisnil tipko za izhod, terminal po zaključeni

transakciji prikaže osnovno okno.

Slika 12 − Potrdilo koriščenja darilnega bona

Page 52: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 40

5.3.3 Stornacija transakcije

Terminal se nahaja v osnovnem oknu, kjer uporabnik s pomočjo navigacijskih tipk oz.

numeričnih tipk izbere eno izmed ponujenih opcij (Nakup bona, Koriščenje bona, Storno

transakcije). V tem primeru uporabnik izbere opcijo Storno transakcije, ki jo potrdi s

pritiskom ustrezne tipke (v primeru izbire z numeričnimi tipkami potrditev ni potrebna).

Uporabnik vnese referenčno številko potrdila, ki ga želi stornirati, s pomočjo numeričnih

tipk (0−9) na terminalu. Uporabnik mora vnesti celotno, 20-mestno referenčno številko

brez presledkov.

Po uspešno vneseni referenčni številki se na terminalu pokaže informativna vsebina

zaslona, na kateri je naveden tip transakcije (Storno transakcije) in predhodno vnesena 20-

mestna referenčna številka. V kolikor si stranka na tem mestu premisli, da ne želi

nadaljevati s storno proceduro, se lahko vrne v predhodno stanje. S pritiskom na gumb za

nadaljevanje uporabnik prične storno transakcijo, ampak samo v primeru, da je GPRS

signal na voljo. V obratnem primeru, kadar GPRS signala ni na voljo, terminal uporabnika

Page 53: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 41

na to opozori, s čimer se storno transakcija ne more izvesti. S pritiskom na gumb se

terminal vrne na osnovni zaslon.

Po potrditvi podatkov se prične izvajati storno transakcija. Po prejemu zahtevka na

komponento MPC ga glede na aplikacijski identifikator posreduje ustrezni komponenti. V

tem primeru je to komponenta za procesiranje darilnih bonov. Glede na referenčno številko

se pridobi ustrezna operacija, ki je zabeležena v podatkovni bazi.

Sledi preverjanje referenčne številke − ali sploh obstaja operacija z vnešeno referenčno

številko, ali je operacija s to referenčno številko že stornirana in ali je povezana operacija

ustrezno potrjena. V kolikor so vsi potrebni pogoji izpolnjeni, se transakcija nad darilnim

bonom označi kot stornirana, razpoložljiva vrednost darilnih bonov na virtualnem računu

pa se ustrezno posodobi. V kolikor so vsi koraki uspešni, se transakcija na komponenti

MPC ustrezno potrdi, proti terminalu pa preko MAP pošlje potrdilo z dodatnimi

informacijami o stornaciji.

Transakcija je že skoraj končana. S tem zaslonom terminal opozori uporabnika, da se bo

transakcija kmalu zaključila. Uporabnik mora v tem primeru počakati do zaključka

transakcije.

Page 54: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 42

Po zaključeni storno transakciji terminal samodejno natisne potrdilo za storno transakcijo

(prikazano na sliki 13) in na zaslonu terminala prikaže stanje darilnega bona po storno

transakciji.

Slika 13 − Potrdilo storno transakcije

V naslednjem poglavju je podrobneje opisana realizacija komponente, ki skrbi za

procesiranje transakcije na delu poti od zahtevka uporabnika preko interakcije s

terminalom in lastnim mobilnim telefonom do potrdila, ki ga natisne mPOS terminal, kot

zaključek posameznega poslovnega procesa, opisanega zgoraj.

5.4 ANALIZA REŠITVE

Za podporo sistemu darilnih bonov je bilo potrebno implementirati komponento znotraj

večje entitete bonusnega programa zvestobe (BLP). Komponenta je bila izdelana v

programskem jeziku C++. Prednosti izbranega programskega jezika so možnost direktne

integracije z jezikom C, zmogljivost in nizkonivojska strojna koda, v katero jo prevede

prevajalnik. Zaradi ogromne skupnosti razvijalcev v programskem jeziku C++ je na

internetu in literaturi tudi precej navodil in priporočil v obliki dobrih praks ter ostale

dokumentacije, ki nedvoumno skrajša čas razvoja. Nenazadnje je veliko priporočil, navodil

Page 55: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 43

in opisov dobrih praks dostopno tudi v interni dokumentaciji in vodičih podjetja Margento

R&D.

Zaradi hkratnega dela več razvijalcev na projektu je pomembno vlogo pri vzdrževanju reda

pri izvorni kodi, dokumentaciji in ostalih datotek (dinamične knjižnice, inicializacijske

datoteke itd.) odigral odprtokodni sistem za upravljanje verzij, TortoiseSVN. Podatki,

organizirani v relacijsko podatkovni model, so hranjeni v podatkovni bazi na tehnologiji

Microsoft SQL Server 2008. Podatkovna baza med drugim podpira tudi prožilce (trigger),

SQL funkcije in podporo transakcijskemu programskemu jeziku Transact-SQL. Pri razvoju

in takojšnjemu dostopu do podatkov je bil uporabljen produkt Microsoft SQL Management

Studio 2008. Pri razvoju poslovne logike pa smo uporabljali razvojno okolje Microsoft

Visual Studio 2005.

Komponenta za procesiranje transakcij sistema mobilnih darilnih bonov, ki že kar nekaj

časa deluje v produkcijskem okolju, je strežniški programski modul. To pomeni, da za

razliko od spletnih ali namiznih programov nima grafičnega uporabniškega vmesnika.

Kljub temu je tudi pri aplikacijah takšnega tipa potrebna interakcija z administratorji in

razvijalci zaradi sledljivosti delovanja komponente.

V ta namen je bilo zagotovljeno logiranje oz. dnevniško evidentiranje, ki beleži dogodke s

časovnim žigom. Datoteke z dnevniškimi izpisi, ki med drugim beležijo klice izbranih

funkcij in podobne podatke, se ob izteku intervala avtomatsko arhivirajo. Dnevniškim

zapisom lahko priredimo stopnjo pomembnosti: OK, INFO, ERROR, WARNING,

CRITICAL, ponavadi pa je zaradi večnitnega (multi-threading) delovanja strežniških

komponent beležen ID posamezne niti. Izvorna koda 1 prikazuje primer uporabe fukcije, ki

opravlja beleženje sistemskih dogodkov.

//...

else {

GenLogMsg(LOG_ERR,"[%I128u] BLP_AddGift ERROR Code:

%d",u128TransactionID,ERR_GIFT_TRANSACTION_ERR);

return ERR_GIFT_TRANSACTION_ERR;

}

GenLogMsg(LOG_OK,"[%I64d] uGiftHandlers: BLP_UseGift OK: %s",

u128TransactionID,achExtraOut);

Page 56: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 44

return STATUS_GIFT_OK;

//...

Izvorna koda 1 − dnevniško evidentiranje

Sistem logiranja omogoča tudi obveščanje preko elektronske pošte v primeru, da je bil

zabeležen dogodek na komponenti z določeno stopnjo pomembnosti (recimo pri vseh

dogodkih s stopnjo pomembnosti ERROR so razvijalci komponente, ki je dogodek

zabeležila, lahko nemudoma obveščeni preko elektronske pošte).

Za podporo hranjenju podatkov pri transakcijah mobilnega sistema darilnih bonov v

podatkovni bazi je bilo potrebno posodobiti in dopolniti obstoječi podatkovni model baze,

ki ga hkrati uporablja komponenta BLP. Dodali smo tabele, ki hranijo podrobnosti pogodb

ponudnikov darilnih bonov, in tabelo bonov, ki hrani podatke o posameznem darilnem

bonu, ter tabelo, ki hrani dodatne informacije o transakcijah nad darilnimi boni.

Tabela pogodb je preko identifikacijske številke prodajalca in identifikacijske številke

prodajnega mesta (POS) povezana v obstoječi podatkovni model. Tabela hrani informacije

o veljavnosti pogodbe, omejitvah vrednosti darilnih bonov, statusu pogodbe, podatkih o

zaščiti darilnih bonov izdajatelja s številko PIN, opisih in ostalo. S tem je dosežena visoka

stopnja prilagodljivosti delovanja sistema (parameterizacija) različnim zahtevam

ponudnikov darilnih bonov.

Tabela darilnih bonov je v preostali podatkovni model vpeta prek treh atributov:

identifikatorja stranke, identifikatorja navideznega oz. virtualnega računa stranke in

identifikatorja podjetja, kjer je bil darilni bon kupljen Tabela pa hrani tudi informacije o

veljavnosti posameznega darilnega bona, statusu, tipu vavčerja, informacije o vrednosti in

preostali vrednosti darilnega bona, MSISDN prejemnika in pošiljatelja, preko tujega ključa

pa je povezana tudi na morebitno osebno sporočilo, ki je bilo poslano pri nakupu darilnega

bona. Shranjena je tudi referenčna številka, ki predstavlja identifikator pri uporavljanju

darilnih bonov.

Kljub temu, da se transakcije nad vsemi operacijami sistema bonusnega programa beležijo

tudi v skupno transakcijsko tabelo, je bila smiselna dopolnitev modela s tabelo Gift

Transactions zaradi ograjevanja podatkov in pohitritve ter poenostavitve zahtevkov

predstavitvenega nivoja Margento sistema. Tabela vsebuje tuj ključ na darilni bon, saj so

vse transakcije nad darilnimi boni navezane na operacije nad vavčerji. Na tak način tabela

Page 57: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 45

darilnih transakcij ne beleži transakcij servisnih, vzdrževalnih in ostalih klicev, ki so kljub

temu zabeleženi v skupni transakcijski tabeli. Med informacijami, ki jih vodimo v

transakcijski tabeli, so tudi časovni žig, znesek in status.

Za povezavo med poslovno logiko sistema darilnih bonov in podatkovnim nivojem sistema

Margento je bila uporabljena knjižnica OTL, ki je bila zasnovana kot kombinacija ogrodja

C++ predlog in OTL adapterjev. Le-ti so ovojnice okrog programskih vmesnikov

podatkovnih baz in se v obliki razrednih tipov prenašajo v ogrodje predlog [20].

Izvorna koda 2 prikazuje primer funkcije, ki jo komponenta kliče pri branju

prednastavljenih osebnih sporočil. Funkcija iz podatkovne baze pridobi ime in priimek

klienta glede na identifikacijsko številko (primarni ključ) ter status.

int CBLPDB::RetrieveClientName(int iClientId, int iStatus, char *szFirstName, char *szLastName, CDBConnection *pcCon) { GenLogMsg(LOG_DB_OK, "BLPDB::RetrieveClientName: iClientId = %i", iClientId); CConnHold CCP(this, pcCon); if(((CDBConnection*)CCP)==NULL) return GIFTDB_NO_CONNECTION; try { otl_stream o(1,"SELECT TOP 1 FirstName, LastName " "FROM Clients " "WHERE Id=:clid<int> " "AND Status = :stat<int> " "ORDER BY Id DESC ", CCP ); o << iClientId; o << iStatus; if (o.eof()) { NetLog_Message(LOG_DB_WARN,(INT64)0,0, "BLPDB::RetrieveClientName:No Record."); o.close(); return GIFTDB_RECORD_NOT_FOUND; } o >> szFirstName; o >> szLastName; GenLogMsg(LOG_DB_DETAIL,"BLPDB::RetrieveClientName SELECT: RPC=%ld", o.get_rpc()); o.close(); return GIFTDB_SUCCESS; } catch (otl_exception& e) { NetLog_Message(LOG_DB_ERR,(INT64)0,0, "CBLPDB::RetrieveClientName: SELECT Failed: %s (State=%s, SQL='%s', Var='%s')", e.msg, e.sqlstate, e.stm_text, e.var_info); }

Page 58: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 46

catch (...) { NetLog_Message(LOG_DB_ERR,(INT64)0,0, "CBLPDB::RetrieveClientName: SELECT failed, unknown exception"); } return GIFTDB_DB_ERROR; }

Izvorna koda 2 − Funkcija, ki pridobi ime in priimek iz tabele Clients

Kot je razvidno iz kode, je delo z OTL tokom (otl_stream) precej enostavno in

samorazložljivo: v konstruktorju kot parameter podamo SQL stavek, ki je bil med

razvojem najprej intenzivno testiran v okolju SQL Management Studio. Namesto

konkretnih vrednosti v SQL označimo spremenljivke (istih podatkovnih tipov, kot je

definirano v podatkovni bazi) kot v primeru spremenljivke za identifikacijsko številko

klienta (ClientID): :clid<int>. Z operatorji << v tok po vrsti vnašamo vhodne parametre,

operatorjem >> pa na koncu pridobimo vrednost izvršenega SQL stavka s konkretnimi

vrednostmi.

SQL stavki v kodi so parameterizirani, kar je predpogoj, da preprečimo morebitne napade

z SQL vrivanjem. Poleg šifriranja povezovalnih stavkov in kriptiranja posameznih sej so

varnosti podrejeni številni mehanizmi in določila, ki jih je potrebno spoštovati že v fazi

implementacije. Kasneje, ko je določena aplikacija že v produkcijskem okolju, pa je

potrebno zagotoviti omejen dostop do kritičnih delov sistema in razdeliti pravice

posameznim vlogam. Izvajati je potrebno tudi redno revidiranje podatkovne baze, s čimer

dosežemo visoko stopnjo integritete podatkov in učinkovito nadziranje dostopov.

Rezultat implementacije je delujoča, varna in robustna strežniška programska rešitev, ki

skrbi za procesiranje transakcije nad sistemom darilnih bonov, ki temelji na tehnologijah

mobilne telefonije.

Page 59: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 47

6 SKLEP

Darilne bone ponujajo tako farmacevtska podjetja, supermarketi, restavracije, nakupovalna

središča, bencinski servisi, spletne trgovine kot tudi ponudniki, ki ponujajo darilne bone,

unovčljive v konzorcijih. Zaradi skrbne zasnove je rešitev razširljiva z minimalnimi

modifikacijami na katerokoli področje, ki ga naročniki hočejo zajeti. Že v osnovi pa

zajema celovit nabor možnih integracij − kot spletna storitev (Web Service), kot storitev,

ki uporablja protokole USSD, SMS ali MMS, kot aplikacija za pametne telefone − in

podpira različne načine identifikacije; identifikacija z interakcijo Margento terminala in

mobilnega telefona, magnetne ali NFC kartice, identificirati pa se je možno tudi z uporabo

uporabniškega imena in gesla.

V razvojnem ciklu sistema velja izpostaviti načrtovanje, kjer je modeliranje poslovnih

procesov igralo pomembno vlogo pri identifikaciji ozkih grl in možnih optimizacij ter

uporabo vrednot agilnega razvoja, natančneje metodologije Scrum v fazah implementacije

in testiranja. Nenazadnje so modeli v notaciji BPMN preprosti in predvsem

samorazlagalni, zaradi česar so lahko že kot takšni skupen jezik z naročnikom, katerega

pomembna vloga pri razvoju je skupna značilnost agilnega razvoja programske opreme.

Vpeljava agilne metode Scrum v proces razvoja je omogočila, da je končni produkt

posameznega šprinta predstavljal zaključeno enoto celotnega sistema mobilnih darilnih

bonov, katerega delovanje je bilo možno demonstrirati po zaključku posameznega šprinta.

Prav tako je zaradi vsakodnevne aktivnosti v obliki petminutnih sestankov razvoj potekal

hitro, saj so se posamezni zahtevnejši problemi reševali že na teh sestankih v obliki navodil

in priporočil.

Na splošno lahko rečemo, da so uporabljeni pristopi pripomogli k rešitvi, ki je bila

učinkovito izvedena. Sistem že tako nekaj časa uspešno deluje v produkcijskem okolju.

Gledano v celoti pa je trend nakupov darilnih bonov tako kot na globalnem tržišču

usmerjen navzgor, kar je moč opaziti v naraščajočem številu transakcij, ki jih komponenta,

katere razvoj je predstavljen v diplomskem delu, dnevno procesira. Vidik komercialnega

uspeha pa je še dodatno potrdilo, da je bil pristop k razvoju pravilen.

Page 60: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 48

7 LITERATURA IN VIRI

[1] Mobile phone http://en.wikipedia.org/wiki/Mobile_phone (zadnjič obiskano: 8. 7.

2012)

[2] P. Brajak: Uporaba agilnih metodologij pri razvoju J2EE projektov, Spletni časopis

centra za objektno tehnologijo, zima 2003.

[3] Gift-card sales rise after falling for two years http://goo.gl/Hzstu (zadnjič obiskano: 8.

7. 2012)

[4] Če pozabimo na rok veljavnosti darilnih bonov http://bit.ly/AE7MSd (zadnjič

obiskano: 8. 7. 2012)

[5] Gift Cards, Gift Certificates: Compare, and Weigh the Pros and Cons http://www.well-

chosen-gift.com/gift-cards.html (zadnjič obiskano: 8. 7. 2012)

[6] 2011 gift card comparison chart http://is.gd/SM0PLa (zadnjič obiskano: 8. 7. 2012)

[7] MBO Gift cards http://www.mbo.com/web/giftcards.jsp (zadnjič obiskano: 10. 6. 2012)

[8] Target mobile gift cards http://www.target.com/c/mobile-giftcards-target/-/N-5ckp5

(zadnjič obiskano: 8. 7. 2012)

[9] DoDo Mobile http://www.dodomobile.com/ (zadnjič obiskano: 8. 7. 2012)

[10] A. Medved, A. Chowdhury, S. Goličnik: Preizkušanje GPRS modemov ter razvoj

mPOS tiskanine za več GPRS modemov, Zbornik devetnajste mednarodne Elektrotehniške

in računalniške konference ERK 2010, 20.−22. september 2010 Portorož, Slovenija

[11] http://www.margento.com/uploads/brochures/Margento_Corpo_Brochure.pdf

[12] Margento R&D − System Overview (interna dokumentacija)

[13] B. Bombek, B. Prihavec, A. Chowdhury: Razvoj varnostnih rešitev pri

informacijskem sistemu mobilnega plačevanja, Zbornik devetnajste mednarodne

Elektrotehniške in računalniške konference ERK 2010, 20.−22. september 2010 Portorož,

Slovenia

Page 61: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 49

[14] J. Gorjanc, A. Chowdhury, P. Žerdin, J. Svečko: Margento TaPOS plačilni sistem s

podporo GPRS MDB vmesnika, Zbornik devetnajste mednarodne Elektrotehniške in

računalniške konference ERK 2010, 20.−22. september 2010 Portorož, Slovenia

[15]Agile software development http://en.wikipedia.org/wiki/Agile_software_development

(zadnjič obiskano: 8. 7. 2012)

[16] http://agilemanifesto.org/iso/en/ (zadnjič obiskano: 10. 6. 2012)

[17] M. Bajec, M. Krisper: Agilne metodologije razvoja informacijskih sistemov, FRI,

Ljubljana

[18] K. Schwaber, M. Beedle: Agile Software Development with Scrum, Pearson

Education International, 2002

[19] M. Heričko: Sodobni procesi, prosojnice pri predmetu Gradnja informacijskih

sistemov, FERI

[20] OTL 4.0, Introduction http://otl.sourceforge.net/otl3_intro.htm (zadnjič obiskano: 8. 7.

2012)

Page 62: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 50

Page 63: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 51

Page 64: RAZVOJ MOBILNE REŠITVE ELEKTRONSKIH DARILNIH BONOVRazvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 4 . razvoju smo metodo delno prilagodili,

Razvoj na tehnologijah mobilne telefonije temelječega sistema elektronskih darilnih bonov Stran 52