PREGLED PRISTUPA POSLOVNOJ ... -...
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.
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.
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
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
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
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