PREGLED PRISTUPA POSLOVNOJ ... -...

76
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA DIPLOMSKI RAD br. 1186 PREGLED PRISTUPA POSLOVNOJ INTELIGENCIJI NA MOBILNIM PLATFORMAMA Igor Armuš Zagreb, veljača 2016.

Transcript of PREGLED PRISTUPA POSLOVNOJ ... -...

SVEUČILIŠTE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

DIPLOMSKI RAD br. 1186

PREGLED PRISTUPA POSLOVNOJ

INTELIGENCIJI NA MOBILNIM

PLATFORMAMA

Igor Armuš

Zagreb, veljača 2016.

IZVORNIK

Diplomski rad posvećujem svojim roditeljima. Hvala

vam na svemu što ste mi pružili tijekom mog studija.

Sadržaj Uvod ................................................................................................................................................... 6

1. Uvod u Poslovnu Inteligenciju (PI) ............................................................................................. 7

1.1. Transakcijski sustavi ........................................................................................................... 7

1.2. OLTP baze podataka ........................................................................................................... 9

1.3. OLAP baze podataka......................................................................................................... 10

1.4. Zvjezdasta shema ............................................................................................................. 11

1.5. Pahuljasta shema ............................................................................................................. 12

1.6. ETL .................................................................................................................................... 13

1.7. Skladište podataka ........................................................................................................... 14

1.8. OLAP kocka ....................................................................................................................... 15

1.9. Tipič e OLAP opera ije ..................................................................................................... 16

1.10. Pivot tablice .................................................................................................................. 18

2. Mobilna Poslovna Inteligencija (MPI) ...................................................................................... 19

2.1. Potreba za MPI po kategorijama korisnika ...................................................................... 19

2.2. Mobilne platforme ........................................................................................................... 21

2.3. Nativne mobilne aplikacije ............................................................................................... 21

2.4. Mobilne web aplikacije .................................................................................................... 22

2.5. Hibridne nativne aplikacije ............................................................................................... 23

2.6. Hibridne web aplikacije .................................................................................................... 23

2.7. Zahtjevi a sučelja MPI i fizičke karakteristike uređaja ................................................... 24

2.8. Sigurnost mobilnih aplikacija ........................................................................................... 29

3. Pregled tržišta MPI ................................................................................................................... 31

3.1. QlikView ........................................................................................................................... 31

3.2. IBM Cognos Mobile .......................................................................................................... 35

3.3. BIME Analytics .................................................................................................................. 37

3.4. MicroStrategy Mobile ...................................................................................................... 41

3.5. Tableau Mobile ................................................................................................................. 44

3.6. Zaključak ........................................................................................................................... 46

4. Mondrian OLAP server ............................................................................................................. 49

4.1. Uvod u Mondrian server .................................................................................................. 49

4.2. Generiranje testnih podataka .......................................................................................... 51

4.3. Definicija Mondrian sheme .............................................................................................. 53

4.4. Mondrian – osnovni primjer ............................................................................................ 56

5. Klijentski alati otvorenog koda za rad s Mondrianom ............................................................. 58

5.1. JPivot ................................................................................................................................ 58

5.2. Pivot4J .............................................................................................................................. 59

5.3. Saiku Community ............................................................................................................. 60

6. Prototip OLAP servisa i Android klijenta .................................................................................. 61

6.1. Arhitektura ....................................................................................................................... 61

6.2. Prototip Android Klijenta ................................................................................................. 65

6.3. Izgled i aviga ija kroz grafičko sučelje ............................................................................ 67

7. Zaključak ................................................................................................................................... 73

8. Sažetak ..................................................................................................................................... 75

9. Literatura .................................................................................................................................. 76

Uvod

Današnji poslovni sustavi za pohranu svakodnevnog poslovanja uglavnom

se oslanjaju na relacijske baze podataka. Takvi sustavi tijekom godina mogu

generirati velike količine podataka. Prikupljeni podaci obrađeni i strukturirani u

obliku poslovnih izvještaja predstavljaju poslovnu vrijednost za sustav i osnova su

za informirano donošenje odluka kako upravljati sustavom.

Relacijske baze podataka omogućavaju da se transakcijski

podaci(poslovanje tvrtke) na efikasan i siguran način pohrane u njih ali s druge

strane pokazalo se da nisu pogodne za analitičke potrebe današnjih sustava.

Naime, upiti koji se obavljaju nad relacijskom bazom prilikom izrade poslovnih

izvještaja znaju potrajati predugo i predstavljaju dodatno opterećenje na bazu koja

je već opterećena transakcijskim poslovanjem sustava. Za potrebe poslovne

analize osmišljen je dimenzijski model podataka koji za razliku od relacijskog

modela omogućuje efikasnije i brže izvođenje analitičkih upita.

Podaci poslovnih sustava su često raspodijeljeni po različitim bazama

podataka i na različitim operativnim sustavima što otežava pristup tim podacima.

Također, ponekad su zanimljivi i nestrukturirani podaci smješteni po raznim

dokumentima korisnika. Prije procesa analize podataka potrebno je prikupiti sve

zanimljive podatke u centralni repozitorij podataka – skladište podataka. „Pojam

skladišta podataka se dodatno proširuje pojmom OLAP (engl. On Line Analytical

Processing). Riječ je o pristupu analizi i izvještavanju koji omogućuje korisniku da

lako i selektivno izdvaja i pregledava podatke sa različitih stajališta temeljeno na

multidimenzijskoj strukturi podataka zvanoj kocka (engl. Cube)”[1].

U okviru ovog diplomskog rada potrebno je napraviti pregled tržišta mobilne

poslovne inteligencije s posebnim naglaskom na upotrebljivost sučelja testiranih

rješenja. Mobilna poslovna inteligencija (MPI) je grana poslovne inteligencije (PI)

koja omogućuje stvarno-vremensko izvještavanje (engl. Real time) u pokretu na

ekranu mobitela ili tableta. Nadalje, potrebno je razviti prototip mobilnog OLAP

klijenta koji omogućuje izvan-mrežni rad , primanje dojava, ad-hoc pregled i

vizualizaciju podataka.

1. Uvod u Poslovnu Inteligenciju (PI)

1.1. Transakcijski sustavi

Današnji poslovni sustavi redovito koriste jednu ili više baza podataka za

spremanje podataka. U te baze spremaju se poslovne transakcije, podaci o

klijentima, podaci o zaposlenicima itd. Za takve poslovne sustave kažemo da

koriste OLTP (engl. Online transactional processing) baze podataka.

OLTP baze podataka sadrže mnogo korisnih informacija koje se mogu

iskoristiti za informirano donošenje odluka kako upravljati poslovnim sustavom. Na

primjer, može se izračunati profit za zadnji kvartal tekuće godine i usporediti s

istim kvartalom prošle godine ili se može izračunati koji su radnici više ili manje

produktivni, koje su optimalne količine zaliha itd.. Proces analiziranja podataka u

potrazi za takvim informacijama i dohvaćeni rezultati spadaju pod oblast PI.

„Poslovna inteligencija upotrebljava procese, tehnologije i alate potrebne kako bi

se iz podataka dobile informacije, iz informacija znanje, a iz znanja planovi koji će

omogućiti profitabilne poslovne poteze. Poslovna inteligencija obuhvaća

skladištenje podataka (engl. Data warehouseing), analitičke poslovne alate i

upravljanje sadržajem/znanjem.“[2] Skladište podataka centralni je repozitorij u

kojeg se pohranjuju posebno strukturirani zanimljivi transakcijski podaci s ciljem

kasnije upotrebe u poslovnoj analizi.

Neki primjeri pitanja koja se postavljaju u okviru sustava PI su:

Kolika je bila ukupna prodaja svih proizvoda prošle godine ?

Kakav je profit tvrtke za prvi kvartal ove godine u usporedbi s istim

kvartalom u razdoblju od proteklih 5 godina ?

Koliko novca su potrošili korisnici iznad 22 godina prošle godine na neki

proizvod, i kako se njihove navike potrošnje mijenjaju kroz vrijeme?

Analiza poslovnih procesa je vremenski i financijski zahtjevan proces. Tvrtke

imaju cijele odjele podatkovnih profesionalaca i različitih programskih alata da bi

izradili poslovne izvještaje, ako izrađeni izvještaji u konačnici ne daju odgovore na

postavljena pitanja proces analize se ponavlja a troškovi izrade izvještaja rastu.

OLTP baze podataka koriste relacijski model podataka koji je pogodan za

efikasno spremanje transakcijskih podataka ali nije pogodan za obavljanje

analitičkih SQL (engl. Structured query language) upita kakvi se koriste u

poslovnim sustavima. SQL je programski jezik osmišljen za rad s relacijskim

bazama podataka koji omogućuje: administriranje, dohvat, ažuriranje i brisanje

podataka iz baze. Za razliku od OLTP baza OLAP (eng. Online analytical

processing) baze koriste dimenzijski model podataka koji je prilagođen za

analitičke upite.

Slika 1 Pojednostavljena arhitektura sustava PI

1.2. OLTP baze podataka

Tvrtke za spremanje svakodnevnog poslovanja tipično koriste OLTP baze

odnosno nad njima izvršavaju poslovne transakcije. Unutar transakcije dodaju se,

mijenjaju ili brišu skupine podataka istodobno. Na primjer, u bazu koja se koristi u

supermarketu upisuju se i mijenjaju cijene, bilježe se zapisi o obavljenoj kupnji,

itd.. Izvođenje navedenih operacija je brzo, u suprotnom bi kupci morali čekati.

Međutim, dizajn i model podataka koji omogućuje OLTP bazi brzo i točno

spremanje efekata transakcija također odmaže pri poslovnoj analizi spremljenih

podataka, razlozi zašto je to tako navedeni su u sljedećim odlomcima.

OLTP baze sadrže velik broj tablica, nekad i stotine. Takve tablice imaju jednu

ili više relacija prema drugim tablicama. Ta mnogobrojnost i kompleksnost veza

između tablica otežava razumijevanje i traženje odgovarajućeg skupa tablica u

kojima bismo potražili odgovore na pitanja koja se postavljaju.

Nadalje, kod složenijeg dohvata informacije iz OLTP baze, obično se trebaju

pisati i pozivati spremljene procedure - grupe SQL naredbi grupirane u cjelinu.

Završetak rada spremljenih procedura nekad treba čekati i satima, zbog toga se

mogu usporiti transakcijske baze, a to sigurno ne želimo sa „aktivnim“ sustavom

od kojeg se očekuje da bude responzivan i brz kao npr. blagajne u

supermarketima. Za vrijeme normalnog rada OLTP baze stalno mijenjaju svoje

podatke. Analizirati u realnom vremenu takve konstantno mijenjajuće podatke je

zahtjevno te se stoga ne prakticira. OLTP baze obično spremaju individualne

zapise/transakcije „razbijene“ na velik broj normaliziranih tablica. Na primjer: 2.

svibnja 2013, Igor Armuš je kupio 1 kg jabuka u supermarketu Dioni po cijeni od

10 kn. Takav način spremanja podataka u bazu je brz i efikasan ali predstavlja

problem za analizu tih podataka jer su pitanja koja se postavljaju u domeni PI

obično sumarnog karaktera kao npr. ukupne i parcijalne sume prodaje nekog

artikla, itd.. Iz navednih razloga osmišljen je novi model podataka (dimenzijski

model) i OLAP tehnologija odnosno OLAP baze podataka koje adekvatno

adresiraju problem analize transakcijskih podataka.

1.3. OLAP baze podataka

OLAP i OLTP baze razlikuju se u nekoliko aspekata:

1) IT odjeli obično drže OLAP baze fizički odvojene od OLTP baza. Taj pristup

omogućuje da OLTP baze rade brzo, i da se u OLAP baze upisuju zanimljivi

transakcijski podaci u nekim vremenskim intervalima - na kraju radnog dana,

na kraju tjedna ili slično. Dodatno, dok se podaci u OLTP bazi stalno mijenjaju,

u OLAP bazi se rijetko mijenjaju. Podaci se mijenjaju prilikom osvježavanja

baze s novim podacima ili se korigiraju greške nastale prilikom upisa podataka.

Nadalje, korisnicima OLAP alata (poslovnim analitičarima) nije dozvoljena

izmjena podataka već im je dozvoljeno samo čitanje i primjena raznih

matematičkih operacija nad tim podacima.

2) OLAP baze koriste manji broj denormaliziranih tablica i drugačiju tabličnu

shemu naspram OLTP baza. OLTP baze za spremanje podataka koriste

relacijski model dok OLAP baze koriste dimenzijski model podataka. Dva

najraširenija dimenzijska modela odnosno tablične sheme su zvjezdasta i

pahuljasta tablična shema.

1.4. Zvjezdasta shema

U zvjezdastoj shemi podaci su podijeljeni na činjenične i dimenzijske

tablice. Činjenične tablice sadrže mjere ili kvantitativne vrijednosti nekog događaja

i strane ključeve na dimenzijske tablice koje detaljno opisuju neku činjenicu.

Primjer činjeničnih podataka su prodajne cijene, broj prodanih komada, trajanje

isporuke neke robe, itd.. Činjenične tablice su dizajnirane tako da sitno-zrnato (vrlo

detaljno) spremaju podatke zbog čega s vremenom mogu akumulirati jako velik

broj zapisa. Kako većina analiza uključuje vremensku komponentu, vrijeme je

jedna od ključnih dimenzija u zvjezdastoj shemi.

Slika 2 Primjer zvjezdaste sheme

Prednosti zvjezdaste sheme su:

Jednostavniji SQL upiti naspram istih upita nad pahuljastom shemom.

Pahuljasta shema slična je zvjezdastoj shemi ali za razliku od zvjezdaste

sheme kod koje su dimenzijske tablice denormalizirane u pahuljastoj shemi

su (uglavnom) normalizirane.

Struktura zvjezdaste sheme je primjerenija upitima PI od potpuno

normaliziranih relacijskih tablica.

Upiti se izvode puno brže nego nad OLTP bazama.

Dimenzije u sebi prirodno sadrže hijerarhije između podskupova podataka

dimenzije. Tako je npr. u vremenskoj dimenziji kvartal, dijete godine, mjesec je

dijete kvartala, itd.. Ako na primjer, dijete sadrži podatke koje OLAP može

agregirati, tada roditelj djeteta sadrži te agregirane podatke (npr. sume, ukupne

količine itd.), te vrijednosti se zovu rollups (skupne/agregirane vrijednosti). Za

kretanje po hijerarhiji unutar dimenzije koriste se termini drill up (manje detaljan

pogled na podatke) i drill down(detaljniji pogled).

Ovako dizajnirana podatkovna struktura odnosno zvjezdasta shema

omogućuje da se efikasno izračunavaju agregacijski upiti na proizvoljnom broju

dimenzija i po proizvoljnom broju razina unutar hijerarhije. Agregacijski upiti su

upiti poput izračunavanja sume svih zapisa, prebrojavanje zapisa itd.

1.5. Pahuljasta shema

Za pahuljastu tabličnu shemu karakterističan je izgled koji strukturom podsjeća

na pahulju snijega. Slično kao i kod zvjezdaste sheme, činjenična tablica nalazi se

u sredini „pahulje“, a na nju se spajaju dimenzijske tablice. Za razliku od

zvjezdaste sheme kod koje je svaka dimenzija predstavljena jednom

denormaliziranom tablicom, u pahuljastoj shemi svaka dimenzija je podijeljena na

više normaliziranih tablica.

Prednosti pahuljaste sheme su:

Normalizacijom dimenzija ušteđen je memorijski prostor jer se smanjila

redundancija podataka

Dimenzijske tablice postaju preglednije jer sadrže manji broj atributa

Kao jedan od glavnih nedostataka upotrebe pahuljaste-sheme obično se

ističe potreba za pisanjem složenijih SQL upita zbog većeg broja tablica koji se

inducirao normalizacijom dimenzija i obavlja se veći broj spajanja što čini sve

sporijim.

Slika 3 Prikaz pahuljaste tablične sheme

1.6. ETL

IT odjeli ciljano odvajaju OLAP od OLTP baza kako bi se osigurao nesmetan i

brz rad OLTP baza dok se obavljaju računski zahtjevne operacije nad OLAP

bazama. ETL se odnosi na sljedeće procese i programske alate koji se koriste

prilikom upisa podataka u skladište podataka:

Dohvat (engl. Extract) podataka iz homogenih ili heterogenih podatkovnih

izvora. Podaci u homogenim izvorima imaju dobro definiranu strukturu koja

se primjenjuje na sve podatke iz izvora. Za razliku od homogenih izvora,

heterogeni izvori nemaju dobro definiranu strukturu podataka, struktura

podataka takvih izvora varira po podskupovima podataka.

Transformiranje (engl. Transform) i normalizacija dohvaćenih podataka u

dimenzijski model prikladan za obavljanje poslovne analize u alatima PI.

Upisivanje (engl. Load) transformiranih podataka u skladište podataka.

ETL je najzahtjevniji proces PI jer je potrebno konsolidirati, pročistiti i integrirati

podatke iz različitih izvora (transakcijskih baza) u jedan centralni repozitorij

(skladište podataka). Izvori podataka mogu biti nestrukturirani podaci (npr.

tekstualni dokumenti), Excel tablice, baze različitih proizvođača koje rade na

različitim operacijskim sustavima, tipovi podatka korespondentnih atributa u

različitim bazama znaju često biti domenski nekompatibilni te je potrebno obaviti

normalizaciju tipova itd.

Slika 4 Pojednostvaljena shema ETL procesa

1.7. Skladište podataka

Zadatak skladišta podataka je da pomoću ETL alata konsolidira, pročisti i

integrira podatke iz različitih podatkovnih izvora u jedan centralni repozitorij tj.

skladište podataka. Podaci u skladištu spremljeni su u relacijske tablice u obliku

zvjezdaste ili pahuljaste sheme (dimenzijski model podataka). Tako spremljeni

podaci pogodni su za upotrebu u OLAP sustavima koji kao izvor podataka koriste

skladište podataka.

1.8. OLAP kocka

OLAP kocka je multidimenzionalna podatkovna struktura koja značajno

ubrzava upite nad skladištem podataka. Proces izgradnje OLAP kocke je

procesorski i memorijski zahtjevan posao te traje dugo zbog čega se često obavlja

noću kada se OLAP alati ne koriste. Vrijeme uloženo u izračunavanje kocke zove

se procesiranje. Kocke koje imaju više od tri dimenzije se nazivaju hiperkocke, ali

radi jednostavnosti trodimenzionalnu ili multidimenzionalnu kocku nazivamo

zajedničkim imenom OLAP kocka. Upiti nad OLAP kockom pišu se u jeziku MDX

(engl. Multidimensional Expression Language) koji sintaksom podsjeća na SQL.

Od OLAP sustava očekuje se da većinu odgovora na upite razriješe “u roku pet sekundi,

s tim da jednostavnije analize ne traju dulje od jedne sekunde, a samo manji broj

traje više od 20 sekundi. Istraživanja su pokazala da korisnici smatraju da je upit

propao ako se izvodi dulje od 30 sekundi i u iskušenju su da prekinu upit (ukoliko

nisu prethodno upozoreni da upit može potrajati dulje). Čak i kad su upozoreni na

duljinu obavljanja upita, veće duljine nisu dobre jer korisnik gubi tok misli čime se

narušava učinkovitost analize podataka.”[1]. OLAP sustavi postižu ovakve brzine

odziva na način da unaprijed obavljaju pretkalkulacije i predagregacije te je

potrebno manje vremena uložiti u izračun konačnog rezultata jer nije potrebno

prolaziti po svim zapisima činjeničnih tablica nego se procesiraju agregati

(vrijednosti nastale sumiranjem zapisa u činjeničnim tablicama) koji sadrže manji

broj agregiranih (sumarnih) zapisa. Postupak stvaranja i osvježavanja agregiranih

podataka za neku kocku (koja odgovara činjeničnoj tablici) se obično naziva

procesiranje kocke. Rezultat procesiranja su dakle novi podatci koji se također

moraju pohraniti. S obzirom na to, postoje sljedeći modeli pohrane podataka u

OLAP sustavima:

MOLAP sustavi (engl. Multidimensional OLAP), spremaju podatke i

agregate u optimizirana multidimenzionalna polja te su izrazito brzi. Kao

nedostatak tih alata se obično ističe sporije vrijeme izvođenje upita za koje

ne postoje odgovarajući agregati.

ROLAP sustavi (engl. Relational OLAP), spremaju agregirane vrijednosti

(agregate) u relacije a ne u multidimenzionalna polja i ne koriste OLAP

kocke već to nastoje simulirati brzim upitima nad bazom. ROLAP sustavi za

razliku od MOLAP sustava osim agregata koriste vrlo napredne tehnike

keširanja rezultata i članova (engl. Touples) koji im često omogućuje

izvođenje OLAP kalkulacija u RAM memoriji umjesto da taj posao moraju

delegirati bazi podataka[3]. U slučaju kada se rezultat upita već nalazi u

radnoj memoriji on se dohvaća trenutno iz memorije i nema potrebe za

obavljanjem upita nad bazom. ROLAP alati su u prosjeku sporiji od MOLAP

alata . Sporiji su jer se manje oslanjaju na agregate kao što je to slučaj sa

MOLAP alatima već rade klasične SQL upite nad bazom.

HOLAP sustavi (engl. Hybrid OLAP) kombiniraju MOLAP i ROLAP-

pohranjuju agregate u OLAP strukture, a podatke ostavljaju na izvoru.

1.9. Tipične OLAP operacije

Na Slika 5 prikazana je slice (kriška) OLAP operacija koja služi za filtriranje

podataka po jednoj osi. U MDX upitu slice operacije se ostvaruje navođenjem

WHERE dijela. Za primjer ispod MDX upit bi mogao izgledati:

SELECT … FROM [Prodaja] WHERE [Vrijeme].[Vrijeme hijerarhija].[2004].

Slika 5 OLAP slice – rezanje [4]

Na slici 6 prikazana je dice (kockica) OLAP operacija koja služi za pregled

podskupa članova neke razine dimenzije. Operacija se u MDX upitu može izvesti

na način da se u SELECT dijelu upita navedu samo željeni članovi (podskup)

razine koji se želi prikazati ili se može upotrijebiti ugrađena MDX funkcija EXCEPT

koja služi za izbacivanje članova iz skupa.

Slika 6 OLAP dice – izdvajanje[4]

Na slici 7 prikazana je drill up/down OLAP operacija koja služi za „kretanje“ po hijerarhijama dimenzije. Tu funkcionalnost moguće je ostvariti pomoću ugrađenih MDX funkcija DrillDownMember i DrillUpMember. Drill up operacija

omogućuje prelazak na višu razinu (više agregiran)hijerarhije a drill down omogućuje prelazak na nižu razinu (manje agregiran) hijerarhije.

Slika 7 Olap drill up/down[4]

Na slici 8 prikazana je pivot(stožer) OLAP operacija. Za tu operaciju ne

postoji posebna ugrađena MDX funkcija već se operacija obavlja zamjenom razina

u SELECT dijelu upita.

Slika 8 OLAP pivot – okretanje[4]

1.10. Pivot tablice

Pivot tablice omogućuju proizvoljan tablični prikaz OLAP kocki. Sadržaj

pivot tablice je moguće dinamički mijenjati primjenom OLAP operacija nad

tablicom za vrijeme pregledavanja tablice. One su osnova za izradu ad-hoc

izvještaja. Ad-hoc izvještaji za razliku od pred-definiranih izvještaja omogućuju

korisniku da sam izradi izvještaj prema vlastitim potrebama a da pri tom ne mora

poznavati SQL odnosno imati specifična tehnička znanja. Pivot tablice obično

podržavaju povuci i spusti način rada (engl. drag and drop), te je vrlo jednostavno

dodavati nove dimenzije i mjere u izvještaj. Pivot tablice podržavaju sve tipično

OLAP operacije: drill up/down, slice, pivot.

Slika 9 Excel Pivot tablica

2. Mobilna Poslovna Inteligencija (MPI)

2.1. Potreba za MPI po kategorijama korisnika

„Mobilna poslovna inteligencija omogućuje korisnicima da u pokretu dobiju

poslovne uvide kroz analizu informacija u aplikacijama optimiziranim za mobilne

uređaje.“[5]

Prije nego se odlučimo na neki MPI sustav treba si postaviti sljedeća pitanja.

Koji će zaposlenici najviše profitirati od MPI?

Koji poslovni zadaci imaju najviše smisla u mobilnom okruženju1 ?

Koji su sigurnosni rizici uključeni?

Je li pružatelj usluge MPI kompetentan isporučiti tražene zahtjeve?

Jedan od kriterija po kojem se treba voditi spada li neki zaposlenik u kategoriju

korisnika mobilne PI je svakako rad na terenu. Pridodamo li tome da zaposlenik

mora nekoliko puta u danu pristupati različitim izvještajima, takav tip zaposlenika

bi se svakako trebao uzeti na razmatranje kao korisnika MPI. Osim predviđanja

tipova korisnika koji će koristiti alate MPI, trebamo si postaviti pitanje kakvi su

njihovi zahtjevi za informacijama i kakvu reakciju očekujemo na prezentirane

informacije.

Da li se očekuje povratna reakcija 2 na prezentirane informacije?

Je su li prezentirane informacije lako probavljive, odnosno jesu li

prekompleksne za mobilno okruženje?

Gube li prezentirane informacije na vrijednosti ako se odmah ne djeluje?

Uzevši u obzir prethodne parametre Oracle[6] je napravio tablicu iz koje se

okvirno može iščitati potrebe za MPI po kategorijama korisnika. Iz tablice se može

iščitati kategorija korisnika (izvršni menadžer, srednje rangirani menadžer, terenski

tehničar …), mobilnost korisnika (kretanje između više ureda, kretanje između

konferencijskih sala, dolazak kod klijenata osobno …) mobilni zadaci (koji su

zahtjevi za izvještajima, koje transakcije su dozvoljene …), koje tipove podataka

1 Mobilnim okruženjem smatra se manji ekran pametnog telefona ili većim ekranom tableta

2 Reakcija može biti bilo koja intervencija u poslovni sustav a koja je pokrenuta kao odgovor na prezentirani MPI izvještaj,

primjer reakcije je saziv sjednice upravnog odbora poduzeća zbog loših poslovnih rezultata.

treba prezentirati korisniku(povijesne, sažete, detaljne , u realnom vremenu …) i

zadnji stupac u tablici je generalni osvrt na potrebu za MPI (visoka, umjerena,

niska).

KATEGORIJA KORISNIKA

MOBILNOST ZADACI MOBILNE PI PODACI POTREBA

Upravitelj (visoko pozicionirani Menadžer, direktor)

Putuje do korisnika, poslovnih lokacija. Noćni rad, rad vikendom.

Centralni kontrolni prozor: Pregled KPI i drill u raznim vremenskim intervalima. Dimenzijski izvještaji: pogled od 360 stupnjeva na kupce, zaposlenike, dobavljače, projekte, itd.

Povijesni, Sažeti Visoka

Srednje pozicioniran menadžer

Putuje od jedne do druge konferencijske sale

Pregled KPI i drill-anje u raznim vremenskim intervalima. Projektni izvještaji: projektni rokovi, gantogrami

Povijesne, Sažete, Detaljne

Niska

Linijski menadžer

Nadzire domenu hodajući i govoreći

Glavni prozor: Nadzor skladišta i učinka radnika Operacijski izvještaji: Provjera inventara, isporuka, žalbi, zaposlenika Akcije: Unos inventara, naručivanje proizvoda, unos sastanaka, nagrađivanje/kritike na rad

Povijesni, Sažeti, Detaljni, U realnom vremenu

Visoka

Direktna prodaja

Putuje do klijenata

Dimenzijski izvještaji: pogled od 360 stupnjeva na prodaju i interakciju sa kupcima Akcije: izmjena klijentskih podataka, izrada narudžbi

Povijesni, Sažeti, Detaljni, U realnom vremenu

Visoka

Terenski tehničari

Putuje do klijenata ili gradilišta

Centralni prozor: Pregled osobnog učinka i stimulacija Izvještaji: pregled inventara gradilišta, klijenta/tvrtke

Povijesni, Sažeti, Detaljni, U realnom vremenu

Umjerena

Tablica 1 Kategorije korisnika MPI

2.2. Mobilne platforme

Trenutno najzastupljenije mobilne platforme su Android, iOS i Windows Phone.

Android je mobilna platforma otvorenog koda razvijena od strane tvrtke Google.

Ona ima najveći broj korisnika i najviše je aplikacija napisano za nju. iOS je

mobilna platforma zatvorenog koda razvijena od strane Apple-a i druga je po redu

po broju korisnika i razvijenih aplikacija. Windows Phone je mobilna platforma

zatvorenog koda razvijena od strane Microsoft-a i nalazi se na posljednjem mjestu

po broju korisnika i aplikacija.

Mobilne aplikacije dijele se u sljedeće kategorije:

Nativne mobilne aplikacije

Mobilne web aplikacije

Hibridne nativne aplikacije

Hibridne web aplikacije

Kada se govori o razvoju mobilnih aplikacija i odabiru tehnologija za razvoj u

programerskim krugovima postoje dvije struje: jedna skupina zagovara razvoj

nativnih mobilnih aplikacija i njihovih hibrida a druga skupina zagovara razvoj

mobilnih web aplikacija i njihovih hibrida. Prednosti i nedostaci oba pristupa

definirat će se u narednim poglavljima.

2.3. Nativne mobilne aplikacije

Nativne mobilne aplikacije su aplikacije pisane u jeziku koji je nativan (tvornički

definiran) za platformu. Tako se npr. nativne aplikacije za Android platformu pišu u

Java programskom jeziku, nativne iOS aplikacije u Objective-C ili Swift

programskom jeziku a nativne Windows Phone aplikacije u C#.

Glavne prednosti korištenja nativnih mobilnih aplikacija u odnosu na mobilne

web aplikacije su:

1) Performanse

2) Korisničko iskustvo

3) Izvan-mrežni rad

4) Specifične sklopovske funkcije uređaja

Performanse su izvrsne kod nativnih aplikacija jer su pisane u nativnoj

tehnologiji, a i samo sučelje izgleda više u skladu sa sučeljem korištenim na tom

operativnom sustavu, dok se kod weba to radi generički. Nativne aplikacije imaju

pristup specifičnim funkcijama samog uređaja poput žiroskopa koji omogućuje

promjenu pogleda iz portretnog u panoramski, lociranje pomoću GPS modula , itd.

Nadalje, kako nativne aplikacije mogu pohraniti podatke lokalno na uređaj

ostvareni su preduvjeti za izvan-mrežni rad. Izvan-mrežni rad je bitan za korisnike

koji puno vremena provode po lokacijama koje nisu kvalitetno mrežno pokrivene.

Tako npr. menadžeri ili prodajni predstavnici koji često putuju avionom imaju

mogućnost obavljati posao i bez pristupa mreži.

2.4. Mobilne web aplikacije

Bitne prednosti mobilnih web aplikacija su:

1) Platformska neovisnost

2) Podatkovna konzistencija

3) Sigurnost

Umjesto da se aplikacija piše za svaku mobilnu platformu posebno, programeri

mogu napisati jednu HTML/Javascript aplikaciju koja jednako funkcionira na svim

platformama. Iako postoje funkcionalne razlike između preglednika, generalno

govoreći programer jednom izradi aplikaciju i svugdje je koristi. Nadalje, lakše je

održavati jednu aplikaciju na svim platformama negoli nekolicinu njih za svaku

platformu posebno.

MPI web aplikacije podatke o izvještajima dohvaćaju sa servera i ne spremaju

ih lokalno na uređaj. Ovakav pristup dohvata izvještaja bez lokalnog spremanja na

uređaj osigurava da korisnici uvijek rade sa „svježim“ podacima te se ne može

desiti da korisnici analiziraju zastarjele podatke. Također lakše je osigurati

sigurnost ovakvog centraliziranog sustava jer se svim podacima, aplikacijama i

lozinkama upravlja sa centralnog mjesta. U slučaju da se uređaj ukrade ili izgubi,

neće se kompromitirati sigurnost organizacije jer se podaci ne spremaju lokalno na

uređaj.

Nedostaci mobilnih web aplikacija su:

Ne podržavaju izvan-mrežni rad

Nemaju pristup specifičnim(žiroskop, GPS) sklopovskim funkcijama uređaja

Ne podržavaju sve ekranske geste koje podržavaju nativne aplikacije

Izgled i korisničko iskustvo aplikacije obično odudara od izgleda i

korisničkog iskustva kakvog pružaju nativne aplikacija te platform

2.5. Hibridne nativne aplikacije

Napravljen je značajan napredak u razvoju nativnih mobilnih aplikacija u

segmentu poboljšanja aplikacijske portabilnosti, podatkovne konzistencije i

sigurnosti. Tako npr. razvojno okruženje tvrtke Xamarin nudi univerzalne

aplikacijske obrasce koji mogu biti kompajlirani na sve značajne mobilne platforme

bez izmjene. Takva razvojna okruženja značajno pojednostavljuju razvoj više

platformskih aplikacija i drastično smanjuju troškove razvoja. Za takve aplikacije

kažemo da su hibridne jer obično osim kompajliranog programskog koda koji je

nativan platformi sadrži i kod koji nije nativan platformi. Programski kod koji je

nativan platformi obično sadrži grafičko sučelje aplikacije a kod koji nije nativan

platformi obično sadrži sloj aplikacijske logike i pristupa podacima.

Da bi poboljšali podatkovnu konzistenciju, proizvođači konfiguriraju nativne

MPI aplikacije tako da se učestalo sinkroniziraju podaci sa serverom. Osim tih

unapređenja omogućeno je administratorima da preko udaljenog pristupa

selektivno obrišu memoriju uređaja u slučaju krađe ili gubitka. Lokalno spremljeni

podaci se višestruko kriptiraju, a od korisnika se zahtjeva da se prijavi na sustav

pri pokušaju pristupa osjetljivim informacijama u izvan-mrežnom radu.

2.6. Hibridne web aplikacije

Napravljen je značajan napredak i u razvoju mobilnih web aplikacija u

segmentu performansi, korisničkog iskustva, podrške za izvan-mrežni rad i

pristupu specifičnim sklopovskim funkcijama uređaja. Tako npr. programska

knjižnica Cordova omogućuje izradu više platformskih hibridnih mobilnih web

aplikacija koje nemaju nedostatke koje prate mobilne web aplikacije. Cordova je

najpoznatija programska knjižnica za izradu hibridnih mobilnih web aplikacija u

JavaScript programskom jeziku i funkcionira tako da JavaScipt kod koji

komunicira s mobilnim operativnim sustavom prevodi u nativne sistemske pozive.

Na taj način postignuta je platformska neovisnost u segmentu komunikacije s

operativnim sustavom. Nadalje, kako je JavaScript podržan u svim web

preglednicima a sve mobilne platforme imaju web preglednik postignuta je i

jezična neovisnost o platformi. Za aplikacije razvijene u takvim programskim

knjižnicima kažemo da su hibridne jer su pokrenute unutar web preglednika

nativne aplikacije. Aplikacijska logika takvih aplikacija napisana je u jeziku koji nije

nativan platformi (u slučaju Cordova-e u JavaScript-u) te za razliku od hibridnih

nativnih aplikacija kod kojih je grafičko sučelje kompajlirano u nativne GUI(engl.

Graphical User Interface) komponente, kod hibridnih web aplikacija to nije slučaj

već je GUI ostvaren web tehnologijama HTML, CSS, JavaScript i interpretiran je u

web pregledniku uređaja.

Dugoročno gledano HTML5 bi mogao riješiti implementacijske probleme od

kojih pate mobilne web aplikacije kroz industrijski standardizirani i potpuno

podržani HTML5 u novijim generacijama web preglednika.

2.7. Zahtjevi na sučelja MPI i fizičke karakteristike uređaja

Sučelje mobilne aplikacije igra veliku ulogu u zadovoljstvu korisnika i

efikasnosti upotrebe MPI rješenja. Ono mora na malom ekranu pametnog telefona

ili većem ekranu tableta pregledno i sistematično omogućiti prikaz raznih

izvještaja, te mora biti jednostavno i intuitivno za korištenje. Prilikom dizajna

sučelja treba se voditi principom da se s čim manje ekranskih gesti dođe do

traženog izvještaja. Sučelja današnjih mobilnih aplikacija su vrlo atraktivna i

podržavaju široku lepezu padajućih izbornika, raznih kontrola, tablica, dijagrama,

itd. Dalje u tekstu koristit će se imena ekranskih gesti sa slike ispod.

Slika 10 Ekranske geste

Prema MicroStrategy[7] poslovne mobilne aplikacije dijele se u tri skupine:

Poslovna inteligencija, Transakcije i Multimedija. U kategoriju Poslovne

inteligencije spadaju sve one aplikacije koje omogućuju izvještavanje u pokretu. U

kategoriju Transakcije spadaju aplikacije koje služe kao podrška svakodnevnom

poslovanju a u kategoriju Multimedija spadaju aplikacije koje služe kao izvor

informiranja o novim proizvodima i uslugama krajnjih korisnika ili omogućuju

edukaciju zaposlenika. Ispod svake kategorije navedena je lista grafova, GUI

komponenata ili tipova dokumenata za koje se očekuje da aplikacija podržava.

Tako npr. za aplikacije koje spadaju u kategoriju Poslovna inteligencija očekuje se

sljedeća programska podrška: tablični prikaz, grafički prikaz, napredna navigacija

kroz podatke, primjena statističkih funkcija nad podacima i razne druge napredne

vizualizacije podataka.

Slika 11 Kategorije poslovnih aplikacija[7]

Dolaskom MPI rješenja na tržište omogućeno je pregledavanje kontrolnih

ploča (engl. Dashboard) i izvještaja (engl. Report) na ekranima tableta i pametnih

telefona; što se u klasičnoj PI isključivo obavljalo na zaslonima desktop i

prijenosnih računala. Tableti dijagonale 7“ ili više sposobni su prikazati cjelovite

kontrolne ploče u umanjenom ili izvornom obliku kakve se mogu vidjeti prilikom

korištenja desktop ili web rješenja PI na zaslonu računala. Prijenosna računala u

kombinaciji s GSM modulom (internet modem) također mogu pružiti iskustvo

mobilnog izvještavanja te su u sferi mobilnog izvještavanja direktna konkurencija

tabletima.

Za potrebe usporedbe fizičkih karakteristika tableta i prijenosnika uzet će se

u razmatranje linija prijenosnika, tableta i mobilnih uređaja tvrtke Apple jer slove

kao vrlo pouzdani, kvalitetno izrađeni, vrhunskih performansi i dizajna te su često

prvi izbor kompanija prilikom kupovine uređaja za potrebe MPI(pogotovo u SAD-

u). U segmentu prenosivosti tableti su u prednosti naspram prijenosnih računala

zbog manjih dimenzija i težine. Tako npr. težina tableta dijagonale 12,9“ iPad

Pro[8] iznosi 713 g a težina ultra-lakog 13,3“ prijenosnika MackBook Air[9] iznosi

1,3 Kg. Razlika od 587g se možda ne čini velika ali se svakako osjeti tokom

cjelodnevnog korištenja u pokretu. Nadalje debljina iPad Pro je 6,9mm a MacBook

Air 1,7cm što je razlika od 101mm u korist tableta. U pogledu autonomije (rad na

bateriji) iPad Pro omogućuje do 9h pregledavanja interneta putem ugrađenog

GSM modula što bi se okvirno moglo uzeti kao mjeru za trajanje baterije prilikom

pregledavanja kontrolnih ploča i izvještaja. MackBook Air omogućuje do 12 sati

gledanja multimedije na bateriji (lokalno spremljene na prijenosnik). Kako je u

prosjeku produkcija multimedije zahtjevnija po pitanju „trošenja“ baterija od

pregledavanja interneta (teksta i slike) u ovoj usporedbi MacBook Air odnosi

pobjedu. U prosjeku tableti su lakši i manjih dimenzija nego prijenosnici iste

dijagonale. U pogledu autonomije ona varira po proizvođačima i modelima uređaja

te se ne može napraviti valjana generalizacija.

Prilikom interakcije s kontrolnim pločama i izvještajima na prijenosnicima se

koristi miš ili touchpad, a na tabletima ekran osjetljiv na dodir. Standardnim

ekranskim gestama tap, double tap, drag, long press, pinch in/out redom

odgovaraju akcije mišom (touchpad-om) jednostruki klik, dvostruki klik, klikni i

povuci, klikni i zadrži tipku, kotrljanje kotačića miša. Navedene geste su geste koje

su najkorištenije prilikom interakcije s izvještajima na tabletima i prijenosnicima.

Tako se npr. gesta tap najčešće koristi za izbor između više ponuđenih opcija,

pokretanje izvještaja, drill nad ćelijama pivot tablice itd.. Gesta long press najčešće

se koristi za otvaranje menija. Double tap se najčešće koristi u kombinaciji s pinch

in /out gestom za uvećavanje i umanjenje prikaza izvještaja (tablice, grafa). Drag i

flick se koriste za prelistavanja izvještaja te za pomicanje po tablici ili grafu. Na

prijenosnicima se uglavnom koriste iste akcije mišem (touchpad-om) za prethodno

nabrojane operacije. Iako ne postoje neke drastične razlike između upravljanja

izvještajem između multitouch touchpad-a i zaslona tableta, iskustvo

pregledavanja izvještaja na tabletu je involviranije(engl. Immersive) jer se ne treba

spuštati pogled s izvještaja prema touchpad-u prilikom obavljanja interakcije sa

izvještajem. Nadalje, korisnik je „bliže“ podacima jer kako obavlja akcije nad

izvještajem tako se pod njegovim prstima podaci „transformiraju“ te se dobiva

osjećaj veće kontrole i uključenosti u proces pregledavanja izvještaja. S druge

strane dodir prstom je ne precizniji od klika mišom te može biti izvor frustracija u

radu kod osoba s velikim prstima ili prilikom rada sa izvještajima čije su GUI

kontrole jako malo. Nadalje, čest obrazac upotrebe MPI rješenja je da zaposlenik

(menadžer) treba napisati osvrt na prezentirani izvještaj. Pisanje izvještaja na

virtualnoj tipkovnici tableta nije tako brzo ni ugodno kao što je to sa tipkovnicom

prijenosnika. Zatim, GPS modul omogućuje tabletima prezentiranje izvještaja na

temelju geo lokacije što nije moguće sa prijenosnicima. Ugrađeni žiroskop u

tabletu omogućuje rotaciju uređaja i promjenu pogleda iz portretnog u panoramski

i obratno što je npr. korisno kada treba prezentirati korisniku tablicu sa puno

stupaca pri čemu se prelaskom u panoramski pogled dobije više prostora na

ekranu po horizontu(panorami).

Mobiteli su u odnosu na prijenosnike i tablete još kompaktniji i lakše

prenosivi nauštrb veličine ekrane a samim time i smanjene produktivnosti zbog

smanjene preglednosti kontrolnih ploča. Tako npr. mobitel iPhone 6 plus[10]

dijagonale 5,5“ teži samo 192 grama što je za 521 gram manje od iPad Pro.

Autonomija mobitela je slična kao kod tableta. Podržane su sve geste kao i kod

tableta. Kontrolne ploče koje bi se u cijelosti mogle prikazati na zaslonu tableta

bivaju „razlomljene“ na pojedinačne izvještaje na način da jedan izvještaj zauzme

cijeli ekran mobitela a pregledavanje kontrolne ploče svede se na prelistavanja

izvještaja gestom drag u lijevo i desno (BIME Analytics i QlikView koriste takav

način pregledavanja kontrolne ploče). Drugi pristup problemu prikaza kontrolnih

ploča na malom ekranu mobitela je prikaz umanjene ali u cijelosti kontrolne ploče

preko cijelog ekrana da bi se gestom pinch in/out ili double tap uvećao odnosno

doveo u fokus željeni dio kontrolne ploče (izvještaj) - IBM koristi takav način

pregledavanja kontrolne ploče. Treći način pregleda kontrolne ploče koji je

kombinacija prethodna dva a ujedno je i najbolji; kontrolna ploča se prikaže

umanjena preko cijelog ekrana (čime se postiže preglednost kontrolne ploče) a

gestom tap na neki od izvještaja ploče prikaže se izvještaj preko cijelog ekrana (

DataZen3[11] pristup). Mobiteli kao i tableti na isti način „profitiraju“ od ugrađenog

žiroskopa i GPS modula.

U 2015. godini na tržište je izašla nova vrsta mobilnih uređaja a to su

pametni satovi. Mišljenja sam da će se i oni koristiti u svrhu MPI. Pametni satovi

imaju jako male dijagonale ekrana (Apple Watch[12] ima dijagonalu veličine 1,65“ i

teži svega 50 g što je za 192 grama manje od iPhone 6 Plus) te nisu pogodni za

pregledavanje izvještaja ali se mogu koristiti za pregledavanje KPI-a(engl. Key

performance indicator) – ključnih indikatora poslovanja.

3 DataZen je kupljen od strane Microsoft-a u trav ju 5 godi e s ilje po oljša ja po ude u seg e tu MPI

2.8. Sigurnost mobilnih aplikacija

Studija tržišta mobilne PI pokazala je da prilikom odluke o implementaciji

nekog sustava MPI od svih definiranih parametara tvrtke najviše brine ugroza

sigurnosti 63%[13].

Svaki kvalitetan sustav mobilne poslovne inteligencije bi trebao osigurati sigurnost

u sljedećim kategorijama[14]:

Sigurnost uređaja

Sigurnost uređaja se odnosi na sigurnost spremljenih podataka na samom

uređaju i sigurnost od zloćudnog softvera. Preporuka je da se osjetljivi

poslovni podaci uopće ne perzistiraju na mobitelima. Neki od mehanizama

zaštite koji se preporučaju su: omogućen udaljeni pristup u svrhu brisanja

memorije mobitela u slučaju krađe, kriptiranje svih poslovnih podataka koji se

nalaze na mobitelu, korištenje dovoljno složenih lozinki i njihovo periodičko

mijenjanje, korištenje mobilnih vatrozida i anti-malware programa.

Sigurnost prijenosa podataka

Sigurnost prijenosa podataka bi trebala omogućiti provjeru identiteta primatelja

i pošiljatelja u procesu komunikacije te sprečavanje „priskluškivanja“ i

neovlaštenog modificiranje podataka od trećih osoba dok podaci putuju

bežično. Ovaj problem se rješava korištenjem SSL (engl.

Secure Sockets Layer) konekcija na server.

Mrežna sigurnost tvrtke

Mrežna sigurnost tvrtke mora osigurati nesmetan i brz tok informacija iz

sustava i u sustav autoriziranim korisnicima i pritom zabraniti pristup

neautoriziranim korisnicima. Ovaj zahtjev nije lako ispuniti jer ozbiljnije tvrtke

imaju više razina vatrozida, više različitih antivirusnih programa, programa za

sprečavanje neovlaštenog pristupa u sustav itd. i sve njih treba međusobno

uskladiti tako da bi se ostvarila željena funkcionalnost.

Slika 12 Ilustracija sigurnosnih segmenata MPI[14]

3. Pregled tržišta MPI

U ovom poglavlju prikazani su rezultati testiranja 4 različita rješenja MPI.

Prilikom testiranja MPI rješenja naglasak je stavljen na upotrebljivost i intuitivnost

korištenja grafičkog okruženja, te gdje je to bilo moguće napravljana je usporedba

MPI izvještaja s desktop verzijom istog izvještaja.

3.1. QlikView

Testirano rješenje je demo web aplikacija[15] prilagođena za prikaz na

malim ekranima mobitela. Od besplatnih rješenja ovog proizvođača nude se

desktop4 verzije proizvoda QlikView Personal Editioni i QlikSense Desktop. Ni

jedno od navedenih rješenja ne nudi mogućnost prikaza izvještaja na

mobitelima[16]. Za posluživanje mobilnih izvještaja potreban je reporting server

koji nije uključen u besplatnim verzijama softvera ovog proizvođača. Prilikom

istraživanja mogućnosti QlikView-a i otklanjanja nekih poteškoća u radu od velike

pomoći bila je QlikView zajednica[17]. Na nekoliko pitanja postavljenih u grupi

EducationServices[18] dobio sam vrlo kvalitetne odgovore unutar nekoliko sati od

vrlo visoko rangiranih forumaša.

Na slici 13 prikazan je izgled Movie Database kontrolne ploče(eng.

dashboard) na zaslonu laptopa. Kontrolna ploča podijeljena je na 6 kartica(eng.

tab). Za potrebe analize mogućnosti QlikView-a koristit će se kartica

Dashboard(na slici zaokružena plavom bojom). Kartica Dashboard podijeljena je

na 4 izvještaja(na slici označeni crvenom isprekidanom linijom). Na lijevoj strani

kontrolne ploče nalaze se 3 liste(na slici označene plavom crtkanom linijom) koje

služe za filtriranje podataka prema režiseru,glumcu i naslovu filma. Svi izvještaji su

interaktivni tj. moguće je selektirati vrijednosti direktno na grafu prilikom čega se

osvježi prikaz i preostalih izvještaja(grafova).

4Pod desktop aplikacijom smatra se aplikacija koja za svoj rad ne zahtjeva rad servera

Slika 13 Početni ekran Movie Database kontrolne ploče

Na slici 14 prikazan je početni ekran Movie Database kontrolne ploče na

zaslonu mobitela. Kontrolne ploče smještene su u vertikalnu listu koju se može

pregledavati povlačenjem(Drag) prema gore i dolje. Svaka kontrolna ploča je dalje

„razlomljena“ u horizontalnu listu izvještaja koju se može pregledavati

povlačenjem prema lijevo i desno. Izvještaj se izabire dodirom(Tap) na karticu

izvještaja koji se želi prikazati. Ovakav način kretanja po kontrolnim pločama i

izvještajima je vrlo intuitivan i jednostavan.

Slika 14 Početni ekran demo dashboard-a

Slika 15 prikazuje Ratio to Total izvještaj na kojem je prikazan tortni

grafikon(eng. pie-chart) s postotnim udjelima trajanja filmova u odnosu na ukupan

broj filmova. Selekcija jednog udjela na pie-chartu vrši se gestom press te

dodirom(tap) na gumb select što je vrlo neintuitivno – intuitivniji pristup odabira

vrijednosti bio bi da se samo dodirne(tap) željeni udio na pie-chartu. Na

prikazan je bar-chart izvještaj NumberofMoviesover Time, izvještaj

prikazuje ukupan broj snimljenih filmova po godinama izdanja.

QlikView podržava prikaz svih standardnih tipova grafova: stupčasti, tortni,

heat map, scatter-plot, linijski. Grafovi mogu biti statični ili dinamični, moguće je

obavljati drill-down po hijerarhijama i podržana je rotacija mobitela. Sučelje je brzo

i responzivno, ali taj podatak treba uzeti s rezervom s obzirom da je veličina demo

baze svega par tisuća redaka. Mobilno sučelje poprilično kaska za web inačicom

sučelja, tako npr. trake za pomak(eng. Scroll) i checkbox-ovi za multiselekciju su

premali – nije lako kliknuti(tap) na njih. Tablice koje ne stanu na jedan ekran

mobitela bivaju „odsječene“ od ostatka izvještaja tj. nije se moguće pomaknuti u

dio izvještaja koji ne stane na ekran. Nadalje, nije podržano uvećanje(eng. Zoom)

izvještaja preko pinch-in/out geste.

Ime izvještaja (Number of Movies)

i tip grafa(Stupčasti graf)

Ime kontrolne

ploče, pomak po listi vrši se gestom drag

Slika 15 Izvještaj Ratio to Total Slika 16 Izvještaj Number of Movies over Time

Podržane geste Tap, Press, Drag, Flick, Rotacija uređaja

Nepodržane geste Pinch in/out

Vrste grafova Linijski, Stupčasti, Tortni, Heat map, Scatter i razni podtipovi ovih grafova

Tip izvještaja Statički i Dinamički

Podržano drill Da

Podržano filtriranje

podataka

Da - kroz liste, multicheck-boxove, direktnom selekcijom vrijednosti na

grafu

Intuitivnost sučelja Traži prilagodbu, web sučelje je puno intuitivnije i ugodnije za rad

Odziv sučelja Sučelje je brzo (napomena: mali broj redaka u demo bazi - cca par tisuća !)

Van-mrežni rad Ne, potrebna je konekcija prema serveru

Zajednica Velika, na postavljena pitanja odgovor dobio unutar nekoliko sati

Dokumentacija Kvalitetna

Instalacija Nema je, demo primjeri u mobilnom pregledniku

Licenca Ne postoji trial verzija, samo demo aplikacije

Tablica 2 QlikView pregled funkcionalnosti

Podaci se

selektiraju

gestom drag

Potvrda

selekcije vrši se

gestom tap na

gumb Select

Izvještaj se “prelistava” gestom tap na

regije u donjem

dijelu ekrana na

koje pokazuju

strelice

3.2. IBM Cognos Mobile

Testirano rješenje je nativna demo aplikacija za Android instalirana s

Google Play trgovine[19]. IBM Cognos Mobile ne postoji u trial verziji.

Na slici 17 prikazan je početni ekran Customer Satisfaction kontrolne ploče,

kontrolno ploča sastoji se od 3 izvještaja. Za razliku od QlikView pristupa -

„razlamanja“ kontrolne ploče po ekranima, IBM se odlučio da na početnom ekranu

kontrolne ploče prikaže izvještaj u cijelosti te da se pinch-in/out ili double-tap

gestama dovede neki segment izvještaja u fokus. Prednost ovog pristupa nad

QlikView pristupom prikaza izvještaja je bolja preglednost izvještaja, ali ovaj

pristup zahtjeva punu uvećavanja(pinch) što se možda neće svidjeti nekim

korisnicima.

Slika 17 CustomerReturn izvještaj Slika 18 RegionalReturnbyOrder izvještaj

IBM Cognos Mobile podržava prikaz svih standardnih tipova grafova:

stučasti, tortni, heat map, scatter-plot, linijski, itd. Grafovi mogu biti statični ili

dinamični, moguće je obavljati drill po hijerahijama i podržana je rotacija mobitela.

Svi demo kontrolne ploče mogu se pregledavati bez internet konekcije. Sučelje

kontrolne ploče je lijepo dizajnirano, intuitivno i brzo.

Slika 19 Uvećani prikaz kartica

Podržane geste Tap, Double-Tap, Drag, Flick, Rotacija uređaja, Pinch in/out

Nepodržan geste /

Vrste grafova Linijski, Stupčasti, Tortni, Heat map, Scatter-plot i razni podtipovi ovih

grafova

Tip izvještaja Statički i Dinamički

Podržan drill Da

Podržano filtriranje

podataka

Da - kroz liste, multicheck-boxove, direktnom selekcijom vrijednosti na

grafu itd…

Intuitivnost sučelja Sučelje je intuitivno

Odziv sučelja Sučelje je brzo

Izvan-mrežni rad Da

Zajednica /

Dokumentacija /

Instalacija Jednostavna – kroz Google Play

Licenca Ne postoji trial verzija, samo demo aplikacija

Kartice 3

različita izvještaja

3.3. BIME Analytics

Testirano rješenje je web aplikacija optimizirana za ispravan prikaz na

malim ekranima mobitela. BIME Analytics na svojim web stranicama ima niz

primjera koji demonstriraju mogućnosti BIME Analytics platforme. Za pregled

popisa svih dostupnih demo izvještaja pogledati link[20]. Kontrolna ploča sa slike

20 izabrana je za demonstraciju mogućnosti BIME platforme iz razloga što za

repozitorij podataka koristi Google-ov BigQuery modul(eng. Engine). BigQuery

modul je programsko rješenje za rad u oblaku koje omogućuje spremanje i rad s

velikim količinama podataka. Prikazana kontrolna ploča u BigQuery bazi ima cca.

milijardu redaka. Unatoč velikoj bazi podataka izvještaj se vrlo brzo iscrtava na

zaslonu (unutar nekoliko sekundi) mobilnog uređaja. Osim spomenutog BigQuery

modula, BIME podržava konekcije na sve poznatije baze podataka: SQL Server,

MYSQL, Postgres itd... Prikazana kontrolna ploča omogućuje interaktivan rad,

filtriranje podataka po višestrukim kriterijima te omogućuje prikaz podataka po

proizvoljno definiranim osima projekcije(funkcija decompose).

Slika 20 Kontrolna ploča - Big Big Query Demo

Na slikama 21 do 23 prikazan je izgled Big Query Demo kontrolne ploče na

zaslonu mobitela. Prilikom prikaza na mobitelu, ploča se „razlama” po izvještajima

na način da se jedan izvještaj prikaže preko cijelog ekrana mobitela. Ovaj pristup

ima sličnost s QlikView-om u toj mjeri da oba rješenja koriste princip “razlamanja”

kontrolne ploče po ekranima. Nadalje, prelistavanje izvještaja vrši se gestom tap

na strelice lijevo i desno smještene uz rub u donjem dijelu ekrana(na slici 21

zaokružene zelenom bojom). U gornjem desnom kutu ekrana nalazi se gumb koji

otvara iskočni izbornik za filtriranje podataka po višestrukim kriterijima(na slici 21

zaokružen narančastom bojom). Selekcija podataka vrši se gestom drag nakon

čega se automatski otvara iskočni prozor s ponudom akcija: Filter others,

Decompose i Focus. Akcija Filter others omogućuje da se filtri koji su primijenjeni

nad trenutno promatranim izvještajem propagiraju i na sve ostale izvještaje. Akcija

Decompose omogućuje prikaz podataka po proizvoljno definiranim osima

projekcije. Akcija Focus nad selektiranim podacima funkcionira na način da

selektirane podatke „razvuče“ preko cijelog ekrana – na nju se može gledati kao

mogućnost uvećanja selektiranog dijela grafa.

Slika 21 Big Query Demo 1. dio

Primjer selekcije vrijednosti na

grafu gestom drag, nakon čega se otvara iskočni prozor s

opcijama: Filter others,

Decompose i Focus.

Gumbi za

„prelistavanje“ izvještaja

Gumb za filtriranje podataka,

dodirom(tap) na gumb otvara

se iskočni prozor Data Filters

sa ponudom filtera

Sučelje je brzo, intuitivno i lijepo dizajnirano. S obzirom da se radi o rješenju

u oblaku tj. izvještajima se pristupa putem mobilnog web preglednika može se

povući paralela s testiranim QlikView kontrolnim pločama kojima se također

pristupa kroz web preglednik; dakle akciji Focus u BIME kontrolnim pločama

odgovara QlikView akcija selektiranja podataka koja je detaljnije opisana u

poglavlju[QlikView]. Nadalje, u QlikView poglavlju dan je komentar na nekoliko

uočenih grešaka u prikazu izještaja na mobitelu; prilikom korištenja BIME

platforme nije uočena ni jedna greška u prikazu. U međusobnoj usporedbi

funkcionalnosti tih dvaju rješenja prednost bih dao BIME platformi zbog točnog i

vjernog prikaza kontrolnih ploča na zaslonu mobitela te zbog intuitivnijeg i ljepšeg

sučelja. Odziv sučelja oba rješenja je dobra i u toj kategoriji funkcionalnosti ni

jednom rješenju ne bih dao prednost nad drugim.

Slika 22 Big Query Demo 2. dio

Slika 23 Big Query Demo 2. Dio

Podržane geste Tap, Drag, Rotacija uređaja

Nepodržane geste Pinch in/out, Flick

Vrste grafova Linijski, Stupčasti, Tortni, Heat map, Scatter-plot i razni podtipovi ovih

grafova

Tip izvještaja Statički i Dinamički

Podržan drill Da

Podržano filtriranje

podataka

Da - kroz iskočne prozore sa listama check-boxova, radio-buttona itd.

Intuitivnost sučelja Sučelje je intuitivno

Odziv sučelja Sučelje je brzo

Izvan-mrežni način rada Ne, potrebna je konekcija prema serveru

Zajednica Zajednica ne postoji, u trial periodu stalno je dostupan online agent

koji odgovori na postavljeno pitanje unutar nekoliko sati

Dokumentacija Kvalitetna

Instalacija Nema je, radi se o rješenju u oblaku

Licenca Trial verzija s ograničenjima u trajanju od 14 dana

Tablica 3 BIME Analytics pregled funkcionalnosti

3.4. MicroStrategy Mobile

Prikazano rješenje je nativna demo aplikacija za Android instalirana s Google

Playa[21]. Na slici 24 prikazan je početni ekran kontrolne ploče Casino Analysis,

ploča se sastoji od 4 izvještaja: KPI, Slots, Tables i Promo. Na slici 25 prikazan je

Tables izvještaj, prikazani izvještaj podržava rotaciju uređaja u horizontalnu

poziciju pri čemu se prikazani horizontalni stupčasti graf transformira u area-chart.

Nadalje Tables izvještaj podržava filtriranje podataka po danima i po tipu casino

igre(stola). Selektiranje neke točke na grafu podržano je kroz gestu press nakon

čega se otvori iskočni prozor s iznosom selektirane vrijednosti.

Slika 24 Početni ekran Casino Analysis kontrolne ploče

MicroStrategy Mobile podržava prikaz svih standardnih tipova grafova:

stupčasti, tortni, heat map, scatter-plot, linijski, itd. Grafovi mogu biti statični ili

interaktivni, moguće je obavljati drill nad hijerarhijama, podržana je rotacija

mobitela i izvan-mrežno pregledavanje izvještaja. Nije podržano uvećanje(gesta

pinch-in/out). Sučelje kontrolne ploče je lijepo dizajnirano, intuitivno i brzo.

Slika 25 Tables izvještaj

Slika 26 Tables izvještaj – panoramski pogled

Slika 27 Tables izvještaj - izbornik izvještaja

Indikator da se graf

može transformirati rotacijom uređaja u horizontalni položaj

Primjer selekcije

vrijednosti na

grafu gestom

press

Kartice

ugnježđenih

izvještaja

Filtriranje

podataka

po danima

Rotacijom

uređaja u horizontalni

položaj dovodi u fokus izvještaj za

igru Black Jack

Izbornik izvještaja (casino igre)

Podržane geste Tap, Press, Drag, Rotacija uređaja

Nepodržane geste Pinch in/out

Vrste grafova Linijski, Stupčasti, Tortni, Heat map, Scatter-plot i razni podtipovi ovih

grafova

Tip izvještaja Statični, interaktivni

Podržan drill Da

Podržano filtriranje

podataka

Da - kroz liste, multicheck-boxove, direktnom selekcijom vrijednosti na

grafu itd…

Intuitivnost sučelja Sučelje je intuitivno

Odziv sučelja Sučelje je brzo

Izvan-mrežni način rada Da

Zajednica Velika - na pitanja postavljena na portalu zajednice odgovor dobio

unutar nekoliko sati, na pitanja upućena korisničkoj službi odgovor

dobio unutar 3 radna dana

Dokumentacija Kvalitetna

Instalacija Za demo mobilnu aplikaciju jednostavna, za Microstrategy trial verziju

kompleksna – uključuje ručno instaliranje i podešavanje postavki

Tomcat poslužitelja nakon instalacije Microstrategy BI alata

Licenca Demo primjeri ili trial verzija cijelog Microstrategy BI paketa alata u

trajanju 30 dana

Tablica 4 Microstrategy mobile pregled funkcionalnosti

3.5. Tableau Mobile

Testirano rješenje je nativna demo aplikacija za iOS instalirana s App Store-

a[22]. Na slici 28 prikazana je lista kontrolnih ploča demo aplikacije. Za prikaz

kontrolne ploče u listi kontrolnih ploča koristi se slika prvog izvještaja u ploči. Na

slici 29 a) prikazan je početni ekran kontrolne ploče Executive Salesforce, ploča se

sastoji od 5 izvještaja: QTD Overview, QTD Team, Large Deals, YTD Growth i

YTD Segment. Detaljnije će se razraditi sučelje izvještaja QTD Overview koji je

ujedno i početni izvještaj kada se otvori kontrolnu ploču Executive Salesforce.

QTD Overview izvještaj podržava filtriranje podataka kroz iskočne izbornike,

izvještaj je moguće uvećati(odnosno smanjiti) gestom pinch in/out. Izvještaj za

pregled, izabire se iz alatne trake na vrhu ekrana gestom tap. Alatna traka je

stalno vidljiva za vrijeme pregledavanja izvještaja te se postavlja pitanje ima li

smisla „trošiti“ vertikalni prostor izvještaja na malom ekranu mobitela za alatnu

traku čija je jedina svrha izbor izvještaja. Ovom problemu moglo se doskočiti

upotrebom „padajuće“ alatne trake koja se otvara na gestu drag s vrha ekrana

prema dnu ekrana. Vrijednosti na grafovima izabiru se gestom tap nakon čega se

otvori iskočni izbornik s detaljima izabrane vrijednosti. U testiranom primjeru nije

podržana gesta drag za selektiranje više vrijednosti na grafu kao npr. u BIME ili

Qlik rješenju. Svi izvještaji su interaktivni. Tableau Mobile podržava prikaz svih

standardnih tipova grafova: stupčasti, tortni, heat map, scatter-plot, linijski, itd.

Grafovi mogu biti statični ili interaktivni, moguće je obavljati drill nad hijerarhijama,

podržana je rotacija mobitela i izvan-mrežno pregledavanje izvještaja. Sučelje

kontrolne ploče je lijepo dizajnirano i intuitivno. Korisničko iskustvo malo je

narušeno čekanjem na preuzimanje izvještaja sa servera prilikom prvog otvaranja

izvještaja. Bilo bi bolje gledano iz pozicije korisnika preuzeti sve izvještaje od kojih

se sastoji kontrolna ploča prilikom otvaranja kontrolne ploče s ciljem da se osigura

brza tranzicija između otvaranja različitih izvještaja.

Slika 28 Lista kontrolnih ploča

Slika 29 a)Izvještaj QTD Overview b) Filter podataka po tipu proizvoda c) Filter podataka po tipu usluge

Ime kontrolne ploče

Otvaranje kontrolne ploče

Kontrolne ploče se „prelistavaju“ gestom drag

Uvećanje(umanjenje) izvještaja vrši se gestom pinch in/out

Primjer selekcije

vrijednosti na grafu

gestom tap

Slika 30 Izgled izvještaja u horizontalnom položaju

Podržane geste Tap, Press, Drag, Rotacija uređaja

Nepodržane geste /

Vrste grafova Linijski, Stupčasti, Tortni, Heat map, Scatter-plot i razni podtipovi ovih

grafova

Tip izvještaja Statični, interaktivni

Podržan drill Da

Podržano filtriranje

podataka

Da - kroz liste, multicheck-boxove, direktnom selekcijom vrijednosti na

grafu itd…

Intuitivnost sučelja Sučelje je intuitivno

Odziv sučelja Sučelje je brzo

Izvan-mrežni način rada Da

Zajednica Velika

Dokumentacija Kvalitetna

Instalacija Demo aplikacija sa App Store-a

Licenca Demo primjeri

Tablica 5 Tableau Mobile pregled funkcionalnosti

3.6. Zaključak

Danas na tržištu postoji mnogo dobavljača MPI-ja, dobavljači koji su rano uočili

prednosti i potrebu za MPI-om su se vrlo rano uključili u utrku za osvajanjem

tržišnih udjela i pozicioniranja na tržištu. Prema analizama analitičarske agencije

Gartner u njihovom godišnjem izvještaju[23] „Magični kvadrant poslovne

inteligencije i analitičkih platforma“ u grupu tržišnih lidera uključeni su IBM,

MicroStrategy, Qlik i Tableau. BIME tvrtka nije uključena u godišnji izvještaj, ali je

ipak uključena u testiranje jer ima vrlo atraktivno grafičko sučelje. U listopadu

2015. godine BIME je kupljen od strane kompanije ZendDesk. ZenDesk kompanija

razvija sustave podrške kupcima, te se kupili BIME s ciljem proširenja usluga u

segmentu vizualizacije i analize podataka.

QlikView i BIME Analytics spadaju u kategoriju mobilnih web

aplikacija(rješenja u oblaku), u usporedbi tih dvaju rješenja prednost bih dao BIME

platformi naspram QlikView zbog intuitivnijeg grafičkog sučelja i vjernog prikaza

izvještaja. IBM Cognos Mobile, MicroStrategy Mobile i Tableau Mobile spadaju u

grupu nativnih mobilnih aplikacija te sve aplikacije omogućuju izvan-mrežni rad što

je funkcionalna prednost nad QlikView i BIME Analytics koji ne podržavaju takav

način rada. U usporedbi IBM Cognos Mobile i MicroStrategy Mobile rješenja ni

jedno rješenje ne bih izdvojio kao bolje jer su se oba pokazala kao kvalitetna i za

takvu procjenu bilo bi potrebno provesti opsežnije testiranje. Tableau Mobile se na

testu pokazao kao najkvalitetnije rješenje MPI unatoč nedostacima poput alatne

trake koja troši puno ekranskog prostora i čekanja na učitavanje izvještaja.

Nadalje, krasi ga modernije sučelje od ostalih te podržava sve ekranske geste. U

pogledu mogućnosti grafičkog prikaza izvještaja rješenja bitno ne odudaraju jedna

od drugih, veće razlike se uočavaju u podržanim ekranskim gestama(pogledati

Tablica 6 Matri a presjeka fu k io al osti testira ih rješe ja). Nadalje, QlikView i BIME

Analytics su platforme u oblaku što znači da nije potrebno instalirati nikakvu

dodatnu programsku podršku niti je potrebno uložiti puno vremena u konfiguriranje

platforme kako bi se proizveli prvi MPI izvještaji. Te prednosti ih čine zanimljivim

manjim i srednje velikim tvrtkama koje možda nemaju tehnička znanja i kapital

potreban da uvedu sustav PI u svoje poslovanje(koji bi bio konfiguriran prema

njihovim specifičnim potrebama i pokrenut na njihovoj mrežnoj infrastrukturi).

QlikView IBM Cognos Mobile BIME Analytics MicroStrategy

Mobile Tableau Mobile

Tip aplikacije Moblina web aplikacija

Nativna mobilna aplikacija

Mobilna web aplikacija

Nativna mobilna aplikacija

Nativna mobilna aplikacija

Podržane geste

Tap, Press, Drag, Flick, Rotacija uređaja

Tap, Double-Tap, Drag, Flick, Rotacija uređaja, Pinch in/out

Tap, Drag, Rotacija uređaja

Tap, Press, Drag, Flick, Rotacija uređaja

Tap, Double-Tap, Drag, Flick, Rotacija uređaja, Pinch in/out

Nepodržane geste

Pinch in/out, Double-Tap

/ Pinch in/out, Flick

Pinch in/out /

Vrste grafova

Line, Bar, Pie, Map, Scatter i varijacije istih

Line, Bar, Pie, Map, Scatter i varijacije istih

Line, Bar, Pie, Map, Scatter i varijacije istih

Line, Bar, Pie, Map, Scatter i varijacije istih

Line, Bar, Pie, Map, Scatter i varijacije istih

Tip izvještaja Statični i interaktivni

Statični i interaktivni

Statični i interaktivni

Statični i interaktivni

Statični i interaktivni

Podržan drill Da Da Da Da Da

Podržano filtriranje podataka

Da Da Da Da Da

Intuitivnost sučelja

Traži prilagodbu, Web sučelje puno intuitivnije i ugodnije za rad

Sučelje je intuitivno

Sučelje je intuitivno

Sučelje je intuitivno

Sučelje je intuitivno

Odziv sučelja Sučelje je brzo Sučelje je brzo Sučelje je brzo Sučelje je brzo Sučelje je brzo

Izvan-mrežni rad

Ne Da Ne Da Da

Zajednica Velika / Online agent dostupan

Velika Velika

Dokumentacija Kvalitetna / Kvalitetna Kvalitetna Kvalitetna

Instalacija Nema je – rješenje u oblaku

Jednostavna – kroz Google Play

Nema je – rješenje u oblaku

Za demo aplikaciju jednostavna, za trial verziju kompleksna

Jednostavna – kroz App Store

Licenca Demo primjeri, ne postoji trial verzija

Demo aplikacija, ne postoji trial verzija

Demo primjeri i trial verzija u trajanju 14 dana

Demo aplikacija i trial verzija u trajanju 30 dana

Demo aplikacija

Tablica 6 Matrica presjeka funkcionalnosti testiranih rješenja

4. Mondrian OLAP server

4.1. Uvod u Mondrian server

Mondrian modul(eng. Engine) je OLAP server otvorenog koda napisan u

Java programskom jeziku. Mondrian se distribuira kao jar arhiva(eng. Jar

Archive). Mondrian se može raslojiti u 4 karakteristična sloja; krenuvši od

krajnjeg korisnika prema skladištu podataka to su: prezentacijski sloj,

dimenzijski sloj(eng. Dimensional Layer), sloj zvijezda(eng. Star Layer) i SQL

sloj(eng. SQL Layer) - pogledati sliku 31 Arhitektura Mondrian . Arhitektura

Mondrian server je jako površno dokumentirana[3] te će se ovdje opisati vrlo

sažeto.

Slika 31 Arhitektura Mondrian servera

Prezentacijski sloj zadužen je za prikaz rezultata upita krajnjim korisnicima.

Iz prezentacijskog sloja šalju se u sesijski upravitelj(eng. Session Manager) MDX

upiti a kao odgovor dobije se rezultat upita. Sesijski upravitelj zadužen je za izradu

i upravljanje OLAP konekcijama.

U prezentacijski sloj spadaju web klijenti poput JPivot-a ali isto tako i

programska sučelja kao npr. olap4j. olap4j definira sučelje za općeniti pristup

OLAP serverima za programski jezik Java. Prije olap4j projekta slična specifikacija

se pokušala ostvariti kroz JOLAP(Java OLAP)[24] aplikacijsko sučelje ali

implementacija nije zaživjela te je razvoj obustavljen. Trenutno postoje dva

stabilna upravljačka programa(eng. Driver) koja implementiraju olap4j aplikacijsko

sučelje, to su olap4j XML/A i olap4j in-process Mondrian upravljački program[28].

XML/A je skraćenica za XML for Analysis(hr. XML za analizu) i predstavlja

industrijski standard za općeniti pristup OLAP serverima. Komunikacija u XML/A

standardu odvija se SOAP(eng. Simple Object Access Protocol) porukama.

„SOAP predstavlja standardan način transporta XML dokumenata koristeći neku

od standardnih Internet tehnologija kao što su HTTP, SMTP i FTP. SOAP je

komunikacijski protokol namijenjen komunikaciji između aplikacija (slanjem SOAP

poruka). SOAP je neovisan o platformi i programskom jeziku. SOAP se bazira na

XML-u i jednostavan je (uvjetno govoreći) i proširiv.”[1]. olap4j XML/A upravljački

program omogućuje komunikaciju s OLAP serverima prema XML/A standardu.

Olap4j in-process(hr. unutar procesa) upravljački program omogućuje

komunikaciju s Mondrianom na način da se olap4j sučelje i upravljački program

koji ga implementira nalaze u istom procesu operativnog sustava. Ovakvu

komunikaciju moguće je ostvariti jer se Mondrian distribuira kao jar arhiva te ga je

moguće ugraditi u Java aplikaciju kao jar arhivu. U slučaju da se Mondrian želi

pokrenuti kao OLAP server a ne kao aplikacija na programeru je da izgradi

odgovarajući serversku infrastrukturu oko Mondrian-a.

Dimenzijski sloj zadužen je za parsiranje(MDX parser), validaciju(MDX

validator) i izvršavanje MDX upita(Evaluator). Nadalje, u dimenzijskom sloju

obavlja se učitavanje(Schema Loader) i parsiranje(XML parser) XML sheme(XML

Schema file) koja opisuje strukturu dimenzijskih i činjenih tablica te njihove

međusobne veze i OLAP kocke nad tim tablicama. Nakon učitavanja i parsiranja

sheme obavlja se pretvorba sheme u dimenzijski model koji Mondrian interno

koristi kao izvor meta-podataka prilikom pretvorbe MDX upita u SQL upite.

Zvjezdasti sloj zadužen je za upravljanje(Cached Aggregate) OLAP

agregatima i memorijskim kešom(eng. Cache). Mondrian spada u grupu ROLAP

servera te za spremanje agregata koristi relacijsku bazu. U Mondrian keš(radnu

memoriju) spremaju se rezultati upita, da bi se kasnije, ako je to potrebno, direktno

dohvatili iz keša umjesto da se ponovno računaju. Nadalje Mondrian u keš sprema

članove OLAP kocke(eng. Touples) koji su sudjelovali u prethodnim upitima te ako

je moguće ponovo ih koristi prilikom izračunavanja rezultata upita umjesto da ih

dohvaća nanovo iz baze i stvara dodatni trošak u vidu I/O(eng. Input/Output)

operacija. I/O operacije su operacije čitanja i pisanja na magnetski disk. Pristup

podacima s magnetskog diska je puno sporiji nego pristup podacima smještenim u

RAM memoriji te se nastoji izbjeći kad je to moguće.

Zadnji sloj u arhitekturi je SQL sloj. U SQL sloj spada baza podataka u koju

su spremljeni podaci u dimenzijskom modelu(zvjezdasta shema) i nad njima se

izračunavaju OLAP operacije. SQL sloj sastoji se od SQL generatora(SQL

Generator) koji generira odgovarajući SQL dijalekt ovisno o bazi s kojom

komunicira, zatim komponente zadužene za učitavanje spremljenih agregata iz

baze(Aggregate Loader) i komponente za učitavanje podataka iz činjeničnih i

dimenzijskih tablica(Member Loader). Komunikacija s bazom vrši se preko

odgovarajućeg JDBC(eng. Java Database Connectivity) upravljačkog programa.

JDBC je aplikacijsko sučelje koje definira općeniti pristup bazi podataka za Java

programski jezik.

4.2. Generiranje testnih podataka

Za potrebe testiranja Mondrian-a generirat će se testni podaci u PostgreSQL

bazi podataka. Testni podaci sastoje se od jedne činjenične tablice fSales i tri

dimenzijske tablice dTime, dProduct i dLocation. Na slici 32 prikazana je SQL

skripta za generiranje testnih podataka.

Slika 32 Testni podaci

Struktura testnih podataka odgovora zvjezdastoj shemi prikazanoj na slici

33. Skripta puni činjeničnu tablicu sa svega nekoliko zapisa. U stvarnim

skladištima činjenične tablice sadrže velik broj zapisa. U ovom primjeru namjerno

je upisano samo nekoliko zapisa radi demonstracije.

Slika 33 Zvjezdasta shema testnih podataka

4.3. Definicija Mondrian sheme

Mondrian se za svoj rad oslanja na XML dokument koji sadrži metapodatke o

strukturama tablica(imena atributa, tipovi atributa, itd.) i njihovim međusobnim

vezama(primarni ključevi, strani ključevi itd.). Važno je napomenuti da je meta-

jezik korišten za opisivanje strukture tablice neovisan o bazi podataka u kojoj se

tablice nalaze. Tako npr. Mondrian XML shema za PostgreSQL bazu podataka će

biti identična shemi za SQLServer bazu podataka. Naravno to podrazumijeva da

obje baze sadrže tablice istih imena, istih stranih i primarnim ključeva. Struktura

XML dokumenta(sheme) strogo je definirana[25]. Struktura sheme se mijenjala

kroz verzije Mondriana i treba izabrati prikladnu verziju sheme s obzirom na verziju

Mondriana koji se koristi. Na slici ispod prikazana je shema kompatibilna s

zadnjom verzijom Mondriana(u trenutku pisanja Mondrian v4.3). Kako je pisanje

bilo kojeg netrivijalnog XML dokumenta podložno sintaksnim/semantičkim

greškama preporučljivo je shemu pisati u nekom od specijaliziranih XML editora

koji imaju ugrađenu podršku za Mondrian sheme. Za potrebe ovog rada korišten je

alat otvorenog koda Pentaho[26] SchemaWorkbench 3.11.. Editor je napisan u

Java programskom jeziku i radi na svim značajnim operativnim sustavima.

Slika 34 Schema Workbench

Nadalje, SchemaWorkbench opremljen je s rudimentarnim preglednikom

metapodataka JDBC konekcije(JDBC Explorer) i MDX izvršiteljom (MDX Query).

Na slici ispod s lijeve strane vidi se prozor JDBC Explorer-a i u njemu popis

prethodno izrađenih dimenzijskih tablica i jedna činjenična tablica a s desne strane

prikazan je prozor MDX Query-a i u njemu primjer MDX upita. Ispod MDX upita

prikazan je rezultat upita raščlanjen po osima upita.

Slika 35 JDBC Explorer i MDX Query

Slika 36 Primjer Mondrian v4.3 sheme za prethodno generirane testne podatke

4.4. Mondrian – osnovni primjer

Na slikama ispod prikazano je kako kreirati Mondrian OLAP konekciju prema

lokalnoj PostgreSQL bazi te zatim izvršiti i ispisati rezultat MDX upita u konzolu.

Nadalje, bitno je uočiti da konekcijski string osim standardnih parametara kao što

su IP adresa(ili ime host računala), port, korisničko ime i lozinka, sadrži relativnu

putanju do prethodno definirane Mondrian sheme.

Slika 37 main() funkcija

Slika 38 printTable() funkcija

Slika 39 createSimpleTable() funkcija

Slika 40 Rezultat upita

5. Klijentski alati otvorenog koda za rad s Mondrianom

5.1. JPivot

JPivot je prvi desktop OLAP klijent razvijen za Mondrian engine.

Omogućuje izradu XML/A i in-process Mondrian konekcija. Podržava sve OLAP operacije: drill, drill-through, sort, pivot, slice, ručno pisanje MDX-a,

grafički prikaz rezultata i export pivot tablice u excel formatu. Aktivno je razvijan

do verzije Mondriana 3.6(zadnja verzija Mondriana u trenutku pisanja je 4.3),

nakon čega je obustavljen razvoj u korist njegovog nasljednika Pivot4j.

Slika 41 JPivotv 3.6 – Tablični i grafički prikaz upita

5.2. Pivot4J

Pivot4j je programska knjižnica i OLAP klijent opće namjene sposoban

spojiti se na bilo koji OLAP server za kojeg postoji olap4j upravljački program.

Arhitektura Pivot4j-a vođena je idejom da se jasno odvoji pozadinska

aplikacija(eng. Backend) GUI-ia OLAP klijenta i time omogući izrada OLAP

klijenata opće namjene s proizvoljnom GUI tehnologijom povrh osnovnih

Pivot4j programskih klasa. Na slici ispod prikazana je AJAX web aplikacija koja

za grafičko sučelje koristi JSF(Java Server Faces) tehnologiju.

Slika 42 Pivot4J tablični prikaz upita

Slika 43 Pivot4J grafički prikaz upita

5.3. Saiku Community

Saiku Community je besplatna verzija otvorenog koda komercijalnog OLAP

klijenta Saiku Enterprise. Oba proizvoda se mogu koristiti u komercijalne svrhe

ali je Community verzija zakinuta za uređivač kontrolne ploče(DashBoard

Designer). Saiku Comunity podržava sve OLAP funkcionlanosti kao Pivot4j a to

su: drill, dril-through, slice, pivot, sort, eksport podataka u pdf/excel/png i

grafički prikaz podataka. Usporedi li se sučelje Saiku Community i Pivot4j uočiti

će se velike sličnosti između GUI-ia ta dva projekta, razlog tomu je što je Saiku

razvijen na temeljima Pivot4j projekta.

Slika 44 Saiku tablični prikaz upita

Slika 45 Saiku grafički prikaz upita

6. Prototip OLAP servisa i Android klijenta

6.1. Arhitektura

Arhitektura razvijenog prototipa sastoji se od serverske aplikacije napisane u

Java programskom jeziku - pokrenute na Jetty Aplikacijskom serveru[27]. Zatim,

klijentske mobilne aplikacije napisane u Java programskom jeziku za Android

platformu i Windows servera koji služi kao izvor podataka preko XML/A konekcije.

Google Cloud Messaging (GCM) server je dio Google-ove web infrastrukture.

Svrha GCM servera je prosljeđivanje push(hr. gurnuti) notifikacija poslanih od

strane web-servisa prema Android klijentima.

Slika 46 Arhitektura prototipa

Web servis razvijen je korištenjem sljedećih tehnologija:

Jersey – programska knjižnica za pisanje REST servisa u Javi

Spring core – programska knjižnica za injektiranje programskih ovisnosti

Jaxson – serializacija i deserializacija objekata iz xml-a ili json-a u java

objekte i obratno

Servis kroz konfiguracijske datoteke podržava izradu in-process Mondrian

OLAP konekcija i XML/A konekcija. Prednost korištenja in-process konekcije je

pojednostavljenje arhitekture cjelokupnog rješenja jer nije potrebno imati dodatni

XML/A izvor podataka kao npr. Microsoft Analysis Services. Nadalje, ne plaća se

„cijena“ mrežne komunikacije između dva fizički odvojena servera. S druge strane,

korištenjem in-process konekcija stvara se dodatno memorijsko i procesorsko

opterećenje na aplikacijski server što je nepoželjno. Memorijsko opterećenje

proizlazi iz činjenice da Mondrian u velikoj mjeri koristi radnu memoriju za

keširanje(eng. Cache) rezultata upita. Procesorsko opterećenje proizlazi iz prirode

SQL upita koje Mondrian šalje prema bazi tj. radi se o izračunavanju agregiranih

vrijednosti povrh tablica koje nerijetko prelaze brojku od više desetaka milijuna

redaka.

Prednost korištenja XML/A konekcije je standardizirani pristup OLAP

serverima. Korištenjem opće prihvaćenog standarda ostvareni su preduvjeti za

izradu OLAP klijenata/web-servisa opće namjene koji mogu konzumirati podatke iz

različitih OLAP servera - pod uvjetom da server podržava XML/A standard. Osim

navedenih prednosti odvajanjem OLAP servera od aplikacijskog poslužitelja

postiže se procesorsko i memorijsko rasterećenje poslužitelja. Nedostatak

korištenja XML/A protokola je vrlo opširna(eng. Verbose) dvosmjerna komunikacija

SOAP porukama između klijenta i servera koja nije „developer frendly“.

Sa stanovišta sloja Aplikacijske logike(App Logic layer) sa slike 46. sasvim

je svejedno je li uspostavljena OLAP konekcija tipa XML/A ili in-process. Bitno je

uočiti da sloj aplikacijske logike konzumira podatke iz OLAP izvora preko olap4j

API-ja čime je postignuta „nezavisnost“ u komunikaciji između programskog koda

koji predstavlja aplikacijsku logiku web-servisa i različitih OLAP izvora. Složeni

posao direktne komunikacije s OLAP izvorima delegiran je na upravljačke

programe koji implementiraju olap4j API. olap4j programska knjižnica tvornički

dolazi zapakirana s implementacijom upravljačkog programa za komunikaciju s

XML/A OLAP serverima i upravljačkim programom za izradu in-process Mondrian

konekcija. Na stranici olap4j projekta istaknuto je da XMLA/A verzija upravljačkog

programa uspješno komunicira sa sljedećim serverima Mondrian, Palo, SAP BW,

SQL Server 2005+[28].

Web sloj sadrži programski kod za slanje push notifikacija i autorizacijsku

logiku. Osim tih funkcionalnosti može se reći da je web sloj vrlo „tanak“ jer koristi

usluge iz sloja aplikacijske logike. Nadalje, web sloj je smješten u zaseban java

projekt(olap-web) a sloj aplikacijske logike u drugi projekt(olap-service). Ovakvom

podjelom programskog koda zadovoljeni su sljedeći principi objektno orijentiranog

dizajna: ponovna iskoristivost programskog koda(eng. Code reusability) i

razdvajanje(eng. Decoupling) prezentacijskog sloja(REST sučelje olap-web

projekta) od sloja aplikacijske logike (olap-service projekt). Prethodno opisana

podjela programskog koda prati smjernice MVC paradigme; npr. ukoliko radimo

novi „debeli“(eng. Fat) OLAP klijent koji za grafičko sučelje koristi Java FX

tehnologiju trebamo samo napisati novi GUI u Java FX tehnologiji a sloj

aplikacijske logike ostaje isti

GCM server je dio Google-ove web infrastrukture čija je svrha slanje „malih“

tekstualnih poruka(notifikacija) pretplaćenim klijentima. Poslane poruke prema

klijentima se trenutno primaju na uređaju te su pogodne za stvarno vremensko

izvještavanje klijenata.

Slika 47 GCM Server

Sadržaj tekstualnih poruka je proizvoljan i za potrebe ovog prototipa GCM

šalje prema klijentima poslovne izvještaje u obliku json teksta. Zašto koristiti GCM

server a ne klasično prozivati (engl. „ping“) server ima li novih poruka u

beskonačnoj petlji? Razlog korištenja GCM servera je štednja baterije mobilnog

uređaja. Štednja baterija postiže se centraliziranim sustavom prosljeđivanja

notifikacija, naime Android klijent drži otvorenu socket konekciju prema GCM

serveru i osluškuje ima li novih notifikacija. U trenutku kada stigne nova notifikacija

on ju proslijedi odgovarajućoj aplikaciji. Usluga servisa je besplatna, veličina

tekstualne poruke ograničena je na 4KB i nije definirano ograničenje na izlazni

bandwith GCM servera; iz čega se može pretpostaviti da je dovoljno velik za sve

praktične potrebe. GCM server, osim što šalje push notifikacije pretplaćenim

korisnicima, on ih i čuva na serveru dok god ih ne isporuči svim pretplaćenim

korisnicima ili ne prođe vrijeme isporuke poruke. Korisnici nemaju uvijek uključen

podatkovni promet a ponekad im je i mobitel isključen, ali onog trenutka kada

ponovo upale mobitel i uključe podatkovni promet primit će istog trena push

notifikaciju ako im je ijedna upućena.

Proces slanja push poruke sastoji se od nekoliko koraka. Prvo je potrebno

kreirati novi projekt u Google Developers konzoli i upaliti podršku za GCM API.

Nakon toga u konzoli treba generirati serverski identifikacijski token. Generirani

token koristi se za slanje poruka samo jednoj mobilnoj aplikaciji(i proizvoljnom

broju klijenata). Želi li se slati push notifikacije s istog aplikacijskog servera

različitim mobilnim aplikacijama potrebno je generirati token za svaku od aplikacija

posebno. Nakon ovih koraka generiran je serverski token koji „pokazuje“ u točno

jednu mobilnu aplikaciju. Taj token će se ubuduće koristiti u autentifikacijskom

koraku prilikom slanja push zahtjeva GCM serveru.

S klijentske strane (Android) potrebno je obaviti registraciju kod GCM

servera prije nego što se mogu primati push notifikacije. Registracija funkcionira

na način da Android uređaj pošalje identifikator - ID prethodno kreiranog projekta u

zahtjevu za registraciju, a kao odgovor od GCM servera dobije token koji

jedinstveno identificira taj mobilni uređaj između svih mobilnih uređaja pretplaćenih

na push notifikacije te mobilne aplikacije. Nakon ovog koraka mobilni uređaj je

primio token i spremio ga lokalno na uređaj; da bi ga kasnije prilikom registracije

na web-servis proslijedio aplikacijskom poslužitelju. Aplikacijski poslužitelj(web-

servis) uz korisničko ime koje je odabrano prilikom registracije sada čuva i token

mobilnog uređaja koji jedinstveno predstavlja taj uređaj u toj mobilnoj aplikaciji.

Kada stigne „nalog“ za slanje push notifikacije klijentima, poslužitelj dohvati iz

baze tokene svih klijenata kojima treba poslati notifikaciju te zajedno s vlastitim

serverskim tokenom i tekstom poruke pošalje push zahtjev GCM serveru. GCM

server na taj zahtjev odgovara HTTP statusnom porukom.

Na slici 47 bitno je uočiti da preko HTTP protokola moguće slati samo

DownStream poruke tj. poruke u jednom smjeru od servera prema klijentu.

Korištenjem XMPP protokola moguća je dvosmjerna komunikacija. Izbor

komunikacijskog protokola ovisi o zahtjevima na komunikaciju mobilne aplikacije.

6.2. Prototip Android Klijenta

Slika 48 Pojednostavljena arhitektura android klijenta

Android klijent razvijen je u sljedećim tehnologijama:

Android razvojni okvir

Butterknife – programska knjižnica za injektiranje View-ova u Activity

Stream API – programska knjižnica za rad s tokovima podataka

Retrolambda – programska knjižnica za korištenje lambda izraza na

Android platformi

Gson – programska knjižnica za serializaciju i deserializaciju objekata iz

json-a u java objekte i obratno

Retrofit – programska knjižnica za komunikaciju s REST servisima

Androidplot – programska knjižnica za crtanje grafova

Arhitektura Android klijenta sa slike 48 raslojena je u tri karakteristične skupine:

grafičko sučelje, sloj poslovne logike i sloj pristupa podacima i uslugama.

Sloj grafičkog sučelja sastoji se od sljedećih ekrana: Autorizacija, Ad hoc

editor, Pivot tablica, Grafički prikaz i Liste osobnih/push izvještaja. Autorizacijski

ekran omogućuje akcije izrade novog korisničkog računa ili prijavu u sustav s već

postojećim računom. Za obavljanje akcija registracije i prijave korisnika u sustav

koriste se usluge autentifikacijskog servisa(eng. Authentication service).

Autentifikacijski servis zadužen je za svu REST komunikaciju s web servisom u

svrhu autentifikacije korisnika u sustavu. Ad-hoc editor koristi se za izradu ad-hoc

izvještaja. Za potrebe izrade izvještaja koristi usluge graditelja MDX upita i usluge

repozitorij servisa(eng. Repository service). Repozitorij servis omogućuje dohvat

meta podataka OLAP kocki s web servisa i izvršavanje MDX upita na servisu. Prije

nego što pokuša uputiti MDX upit na servis Repozitorij servis provjerava postoji li

već rezultat upita spremljen u Cache manager-u. U slučaju da rezultat postoji on

se dohvaća direktno iz Cache manager-a. Graditelj MDX upita zadužen ja da iz

odabranih dimenzija, mjera i filtera kroz ad hoc editor izgradi sintaksno i

semantički ispravan MDX upit. Nadalje, ekran Pivot tablica ( slika 55 b) )

predstavlja tablični rezultat(izvještaj) MDX upita te omogućuje obavljanje drill

operacije(slika 56) nad tablicom, spremanje izvještaja za kasnije pregledavanje i

akciju za pokretanje grafičkog prikaza rezultata. Spremljene izvještaje moguće je

pregledavati na ekranu Lista osobnih/push izvještaja( slika 50 a) ). Osobni

izvještaji su oni izvještaji koji su spremljeni kroz akciju spremi na ekranu Pivot

tablica a push izvještaji su izvještaji koji su stigli na uređaj kao push poruke s web

servisa. Ekran Grafički prikaz ( slika 59 a) ) za potrebe transformacije tabličnog

rezultata upita u format pogodan za upotrebu u programskoj knjižnici za crtanje

grafova(Androidplot) koristi usluge Konvertera tabličnih podataka. Modul

Perzistencije podataka kao što samo ime kaže pruža usluge perzistencije

podataka. GCM servis zadužen ja za registraciju pri GCM serveru i primanje push

poruka od GCM servera.

6.3. Izgled i navigacija kroz grafičko sučelje

Slika 49 a) Početni ekran aplikacije b) Ekran za prijavu u sustav

Slika 50 a) Lista osobnih izvještaja b) Izbornik s popisom akcija nad izvještajem

Slika 51 a) Ad hoc editor b) Popis kocki c) Popis mjera

Slika 52 a) Popis dimenzija b) Hijerarhije dimenzije Customer c) Leveli hijerarije Customers

Naziv kocke Ime OLAP konekcije

Slika 53 a) Popis dimenzija b) Filtriranje članova Country razine c) Izbor člana Canada u filtere

Slika 54 a) Pregled kategorija b) Izbor kategorije Measures c) Prikaz generiranog MDX upita

Filtriranje podataka

Broj odabranih

elemenata u

kategoriji

Slika 55 a) Akcija - prikaz rezultata b) Pivot tablica c) Podržane akcije

Slika 56 Pivot tablica prikazana u panoramskom pogledu

Slika 57 Rezultat drill operacije

Rotacija uređaja u horizontalni položaj. Alatna

traka nestaje da se dobije

više prostora za prikaz tablice.

Drill nad ćelijom WA

Povećanje veličine teksta u tablici

Slika 58 Podržane akcije nad tablicom

Slika 59 a) Grafički prikaz rezultata b) Prikaz generiranog MDX upita

Slika 60 Ekran za spremanje izvještaja

Slika 61 Podržane akcije nad grafom

Slika 62 Graf u izvornoj veličini

Slika 63 Uvećani prikaz grafa

7. Zaključak

U radu je iznesen pregled funkcionalnosti i međusobna usporedba četiri

različita rješenja MPI. Testirana rješenja su vrlo slična po mogućnostima prikaza

izvještaja, bitne razlike uočavaju se u podržanim gestama i mogućnosti pregleda

izvještaja bez aktivne konekcije prema serveru. QlikView i BIME Analytics spadaju

u kategoriju mobilnih web aplikacija i kao što je u poglavlju 3.3 rečeno prednost bih

dao Bime platformi naspram QlikView zbog intuitivnijeg grafičkog sučelja i vjernog

prikaza izvještaja. IBM Cognos Mobile i MicroStrategy Mobile spadaju u grupu

nativnih mobilnih aplikacija te obje aplikacije omogućuju izvan-mrežni rad što je

funkcionalna prednost nad QlikView i Bime Analytics koji ne podržavaju takav

način rada. U usporedbi IBM Cognos Mobile i MicroStrategy Mobile rješenja ni

jedno rješenje ne bih izdvojio kao bolje jer su se oba pokazala kao kvalitetna i za

takvu procjenu bilo bi potrebno provesti opsežnije testiranje.

Usporedbom MPI s klasičnim PI rješenjima utvrđeno je da ne postoje prepreke

za prikaz i pregledavanje cjelovitih kontrolnih ploča na manjim ekranima mobitela

ili većim ekranima tableta. Tableti zbog veće dijagonale mogu prikazati cjelovite

kontrolne ploče preko cijelog zaslona slično kao i tradicionalna desktop rješenja

PI. Na mobitelima se zbog manje dijagonale zaslona kontrolna ploča „razlama“ po

izvještajima te se izvještaj prikazuje preko cijelog ekrana a prelistavanje izvještaja

vrši se gestom drag u lijevo i desno. Iskustvo korištenja MPI rješenja

osebujnije(eng. Immersive) je naspram tradicionalnih rješenja PI jer je korisnik

„direktno“ uključen u interakciju s izvještajem obavljanjem ekranskih gesti po

zaslonu(izvještaju) za razliku od klizanja miša po podlozi ili klizanja prsta po

touchpad-u. Tableti i mobiteli manjih su dimenzija i lakši te su pogodniji za

prenošenje naspram prijenosnih računala koji opremljeni s internet modemom

također mogu pružiti doživljaj mobilnog izvještavanja. Bitno je spomenuti da je

dodir prstom na zaslonu mobilnog uređaja manje precizan način odabira

vrijednosti na izvještajima nego što je to akcija klikanja mišom(touchpad-om) po

zaslonu prijenosnika te može biti izvor frustracija u radu za korisnike koji nisu

navikli na takav način rada. U 2015. godini u širokoj primjeni pojavila se nova vrsta

mobilnih uređaja – pametni satovi. Ekrani pametnih satova malih su dijagonala te

nisu pogodni za prikazivanje izvještaja ali su pogodni za prikaz KPI(ključnih faktora

poslovanja) te je za očekivati da će se i oni pridružiti porodici MPI uređaja.

U okviru rada realiziran je prototip klijenta za općeniti pristup OLAP serverima

koji omogućuje interaktivno postavljanje upita pomoću grafičkog sučelja. Razvijeno

grafičko sučelje za izgradnju ad-hoc upita prilagođeno je prikazu na zaslonu

pametnih telefona te se pokazalo u radu jednako upotrebljivim kao slična desktop

rješenja. Ostvarene su osnovne OLAP funkcije, pregled više dimenzija na osima,

drill-up / drill-down i filtriranje. Podatke je moguće prikazati u grafičkom

obliku(linijski graf). Podržano je primanje push notifikacija i izvan-mrežni rad.

Nedostatak klijenta je izostanak stupčastog i tortnog grafičkog prikaza,

mogućnosti obavljanja drill operacije direktno na grafičkom prikazu i poredavanje

rezultata u pivot tablici. Također bilo bi korisno dodati podršku za kombinirane

interaktivne izvještaje gdje se vrijednosti grafičkog ili tabličnog prikaza osvježavaju

usporedno s odabirom vrijednosti na drugim grafovima ili tablicama izvještaja.

8. Sažetak

Pregled pristupa poslovnoj inteligenciji na mobilnim platformama

U radu su definirani osnovni pojmovi poslovne inteligencije i mobilne poslovne

inteligencije. Testirana su i opisana sljedeće mobilna rješenja pristupa poslovnoj

inteligenciji: QlikView, IBM Cognos Mobile, BIME Analytics, MicroStrategy Mobile i

Tableau Mobile. Prilikom testiranja posebna pozornost posvećena je izgledu,

upotrebljivosti i funkcionalnosti korisničkog sučelja. Opisana je arhitektura

Mondrian OLAP servera i dan je primjer uporabe. Opisano je olap4j aplikacijsko

sučelje i upravljački programi koji ga implementiraju. Napravljen je prototip mobilne

aplikacije poslovne inteligencije za Android platformu i odgovarajući web-servis s

poslužiteljske strane. Aplikacija omogućuje ad-hoc pregled i vizualizaciju

podataka, primanje dojava i rad u uvjetima kada nije dostupna veza na Internet.

Ključne riječi:

Poslovna inteligencija, Mobilna Poslovna inteligencija, OLAP, Mondrian,

olap4j, XML/A, Pivot tablica, Android, REST

Survey of approaches to business intelligence on mobile platforms

This project defines basic concepts of business intelligence and mobile

business intelligence. The following solutions have been described and tested:

QlikView, IBM Cognos Mobile, BIME Analytics, MicroStrategy Mobile and Tableau

Mobile. During the process of testing special attention was given to outlook,

usability and functionality of the user interface. Mondrian OLAP engine has been

described along with the use case. Olap4j application programming interface was

described, just as drivers implementing it. The prototype of the mobile business

intelligence application was created for Android platform along with the appropriate

web-service. Application enables ad-hoc view and data visualization, receiving

push notifications and functionalities when internet access is not available.

Keywords:

Business Intelligence, Mobile Business Intelligence, OLAP, Mondrian,

olap4j, XML/A, Pivot table, Android, REST

9. Literatura

[1] STANDARDIZIRANO MREŽNO SUČELJE ZA PRISTUP SKLADIŠTU PODATAKA Autor: I.Mekterović, Godina: 2004 [2] The Data Warehouse Institute

[3] http://mondrian.pentaho.com/documentation/architecture.php [4] http://en.wikipedia.org/wiki/OLAP_cube

[5] Verkooij, Kim; Spruit (2014), Journal of Computer Information Systems 54 [6] A Complete Primer To Mobile BI, Autor: Wayne Eckerson

http://www.oracle.com/us/solutions/business-intelligence/oracle-mobile-bi-ebook-ds-

501071.pdf

[7] From Insight to Action-The Impact of the Mobile Intelligence Revolution in Business,

Autor: Microstrategy tvrtka

http://www.microstrategy.com/download/files/whitepapers/Mobile-BI-Insight-to-Action.pdf

[8] Specifikacija iPad Pro http://www.apple.com/hr/ipad/compare/ [9] MackBook Air specifikacija http://www.apple.com/hr/macbook-air/specs.html [10] iPhone 6 plus specifikacija

http://www.apple.com/hr/iphone/compare/ [11] http://www.datazen.com/features/ [12] Apple Watch specifikacija

http://www.gsmarena.com/apple_watch_42mm-7696.php [13] Another Insight from our Mobile BI Market Study: User-perceived Drawbacks, Autor:

Howard Dresner, Godina:2010

http://businesssintelligence.blogspot.com/2010/08/another-insight-from-out-mobile-bi.html

[14] Successful Mobile Deployments Require Robust Security, Autor: Maribel D. Lopez, Godina:2009 http://us.blackberry.com/ataglance/get_the_facts/Successful_Mobile_Deployments.pdf

[15] http://us-b.demo.qlik.com/detail.aspx?appName=Movies%20Database.qvw [16] http://www.qlik.com/us/explore/products/free-download [17] http://community.qlik.com/welcome [18] http://community.qlik.com/community/education-services [19] https://play.google.com/store/apps/details?id=com.ibm.cogmob.artoo [20] http://fr.bimeanalytics.com/showcase.html [21] https://play.google.com/store/apps/details?id=com.microstrategy.android.webapp [22] https://itunes.apple.com/us/app/tableau-mobile/id434633927 [23] Magic Quadrant for Business Intelligence and Analytics Platforms

Autori: Rita L. Sallam, Bill Hostmann, Kurt Schlegel, Joao Tapadinhas, Josh Parenteau, Thomas W. Oestreich , Godina: 2015 https://www.gartner.com/doc/reprints?id=1-2ADAAYM&ct=150223&st=sb

[24] https://jcp.org/en/jsr/detail?id=69 [25] http://mondrian.pentaho.com/documentation/schema.php [26] http://community.pentaho.com/ [27] https://eclipse.org/jetty/ [28] http://www.olap4j.org/ [27] http://olap4j-

demo.googlecode.com/svn/trunk/doc/Olap4j_Introduction_An_end_user_perspective.pdf [28] http://www.olap4j.org/olap4j_fs.html