• Nebyly nalezeny žádné výsledky

Bc.PetrKoˇsvanec Anal´yzadatov´ychtok˚uvreportovac´ıchn´astroj´ıch Diplomov´apr´ace

N/A
N/A
Protected

Academic year: 2022

Podíl "Bc.PetrKoˇsvanec Anal´yzadatov´ychtok˚uvreportovac´ıchn´astroj´ıch Diplomov´apr´ace"

Copied!
87
0
0

Načítání.... (zobrazit plný text nyní)

Fulltext

(1)

Ing. Michal Valenta, Ph.D.

vedoucí katedry doc. RNDr. Ing. Marcel Jiřina, Ph.D.

děkan

ZADÁNÍ DIPLOMOVÉ PRÁCE

Název: Analýza datových toků v reportovacích nástrojích Student: Bc. Petr Košvanec

Vedoucí: Ing. Michal Valenta, Ph.D.

Studijní program: Informatika

Studijní obor: Webové a softwarové inženýrství Katedra: Katedra softwarového inženýrství Platnost zadání: Do konce zimního semestru 2019/20

Pokyny pro vypracování

1. Formou rešerše proveďte analýzu datového modelu a datových toků v těchto reportovacích nástrojích:

OBIEE od Oracle, Cognos od IBM, SSRS a Excel od Microsoft.

2. Na základě rešerše navrhněte sjednocený datový model pro analýzu datových toků v těchto nástrojích.

3. Implementujte prototyp modulu pro nástroj Manta, který analyzuje datové toky v nástroji Cognos a provede jejich transformaci do sjednoceného formátu navrženého v bodě 2. Prototyp řádně otestujte a zdokumentujte.

Seznam odborné literatury

Dodá vedoucí práce.

(2)
(3)

Diplomov´ a pr´ ace

Anal´ yza datov´ ych tok˚ u v reportovac´ıch astroj´ıch

Bc. Petr Koˇ svanec

Katedra softwarov´eho inˇzen´yrstv´ı

Vedouc´ı pr´ace: Ing. Michal Valenta, Ph.D.

6. kvˇetna 2019

(4)
(5)

Podˇ ekov´ an´ı

Chci podˇekovat Michalu Valentovi za dobr´e rady a veden´ı, spoleˇcnosti Manta a zejm´ena Luk´aˇsi Hermannovi za pˇr´ıleˇzitost vypracovat diplomovou pr´aci pod z´aˇstitou firmy a usmˇerˇnov´an´ı bˇehem cel´eho procesu. Dˇekuji ˇclen˚um repor- tingov´eho t´ymu za cenn´e informace t´ykaj´ıc´ı se ostatn´ıch n´astroj˚u. Obrovsk´e podˇekov´an´ı smˇeˇruji sv´e rodinˇe, kter´a mˇe po celou dobu studia podporovala vˇsemi moˇzn´ymi zp˚usoby. Na z´avˇer moc dˇekuji Danˇce, kter´a pˇri mnˇe st´ala za kaˇzd´e situace a je z velk´e ˇc´asti zodpovˇedn´a za to, ˇze jsem se vˇcas pˇrinutil k pr´aci a vˇse potˇrebn´e stihl.

(6)
(7)

Prohl´ sen´ı

Prohlaˇsuji, ˇze jsem pˇredloˇzenou pr´aci vypracoval(a) samostatnˇe a ˇze jsem uvedl(a) veˇsker´e pouˇzit´e informaˇcn´ı zdroje v souladu s Metodick´ym pokynem o etick´e pˇr´ıpravˇe vysokoˇskolsk´ych z´avˇereˇcn´ych prac´ı.

Beru na vˇedom´ı, ˇze se na moji pr´aci vztahuj´ı pr´ava a povinnosti vypl´yvaj´ıc´ı ze z´akona ˇc. 121/2000 Sb., o pr´avu autorsk´em, o pr´avech souvisej´ıc´ıch s pr´avem autorsk´ym a o zmˇenˇe nˇekter´ych z´akon˚u (autorsk´y z´akon), ve znˇen´ı pozdˇejˇs´ıch pˇredpis˚u (d´ale jen

”autorsk´y z´akon“), pˇredevˇs´ım§35 a§60 autorsk´eho z´akona upravuj´ıc´ı ˇskoln´ı d´ılo.

V pˇr´ıpadˇe poˇc´ıtaˇcov´ych program˚u, jeˇz jsou souˇc´ast´ı moj´ı pr´ace ˇci jej´ı pˇr´ılohou, a veˇsker´e souvisej´ıc´ı dokumentace k poˇc´ıtaˇcov´ym program˚um (d´ale jen”software“), udˇeluji v souladu s ust.§2373 z´akona 89/2012 Sb., obˇcansk´y z´akon´ık, ve znˇen´ı pozdˇejˇs´ıch pˇredpis˚u, nev´yhradn´ı a neodvolateln´e opr´avnˇen´ı (licenci) k uˇzit´ı software, a to vˇsem osob´am, kter´e si pˇrej´ı software uˇz´ıt. Tyto osoby jsou opr´avnˇeny software uˇz´ıt jak´ymkoli zp˚usobem a za jak´ymkoli ´uˇcelem v neomezen´em rozsahu (vˇcetnˇe uˇzit´ı k v´ydˇeleˇcn´ym ´uˇcel˚um), vˇc. moˇznosti soft- ware upravit ˇci mˇenit, spojit jej s jin´ym d´ılem a/nebo zaˇradit jej do d´ıla souborn´eho. Toto opr´avnˇen´ı je ˇcasovˇe, teritori´alnˇe i mnoˇzstevnˇe neomezen´e a udˇeluji jej bez´uplatnˇe.

V Praze dne 6. kvˇetna 2019 . . . .

(8)

c 2019 Petr Koˇsvanec. Vˇsechna pr´ava vyhrazena.

Tato pr´ace vznikla jako ˇskoln´ı d´ılo na ˇCesk´em vysok´em uˇcen´ı technick´em v Praze, Fakultˇe informaˇcn´ıch technologi´ı. Pr´ace je chr´anˇena pr´avn´ımi pˇredpisy a mezin´arodn´ımi ´umluvami o pr´avu autorsk´em a pr´avech souvisej´ıc´ıch s pr´avem autorsk´ym. K jej´ımu uˇzit´ı, s v´yjimkou bez´uplatn´ych z´akonn´ych licenc´ı a nad r´amec opr´avnˇen´ı uveden´ych v Prohl´aˇsen´ı na pˇredchoz´ı stranˇe, je nezbytn´y sou- hlas autora.

Odkaz na tuto pr´aci

Koˇsvanec, Petr.Anal´yza datov´ych tok˚u v reportovac´ıch n´astroj´ıch. Diplomov´a pr´ace. Praha: ˇCesk´e vysok´e uˇcen´ı technick´e v Praze, Fakulta informaˇcn´ıch technologi´ı, 2019.

(9)

Abstrakt

Podstatou t´eto pr´ace je proniknut´ı do datov´ych struktur v reportovac´ıch n´a- stroj´ıch, kter´e jsou kritickou souˇc´ast´ı strategick´eho rozhodov´an´ı jak´ekoliv vˇetˇs´ı firmy. Znalost datov´ych tok˚u pom´ah´a udrˇzovat kvalitu firemn´ıch dat, reduko- vat dopady zmˇen infrastruktury nebo napˇr´ıklad dodrˇzovat pr´avn´ı pˇredpisy.

Na z´akladˇe anal´yzy nˇekolika velk´ych hr´aˇc˚u na poli reportovac´ıho software je v r´amci d´ıla vytvoˇren model reprezentuj´ıc´ı objekty datov´ych tok˚u. Hlavn´ım c´ılem implementace bylo vytvoˇrit na z´akladˇe tohoto modelu prototyp mo- dulu pro software Manta Flow, kter´y se zab´yv´a vizualizac´ı datov´ych tok˚u v ˇsirok´em spektru technologi´ı. Tento modul, oznaˇcovan´y tak´e jako

”konek- tor“, byl ´uspˇeˇsnˇe vytvoˇren pro n´astroj IBM Cognos a kromˇe toho, ˇze produkt brzy ˇcek´a re´aln´e nasazen´ı, m˚uˇze tato pr´ace slouˇzit i jako inspirace pro dalˇs´ı podobn´e moduly pro jin´e reportovac´ı n´astroje.

Kl´ıˇcov´a slova business intelligence, data governance, data lineage, datov´e toky, report, reportovac´ı n´astroj, cognos, olap, manta, konektor, obiee, excel, ssrs

(10)

The essence of this thesis is to understand data structures in reporting tools, which are a critical part of any major firm’s strategic decision-making. Know- ledge of data flows helps maintain the quality of corporate data, reduce the im- pact of infrastructure changes, or comply with legislation, for example. Based on the analysis of several large players in the field of reporting software, a model representing data flow objects is created within the work. The main goal of implementation was to create a prototype module based on the model for Manta Flow software, which deals with visualization of data flows in a wide range of technologies. This module, also referred to as a connector, was successfully created for the IBM Cognos tool, and in addition to the fact that the product is about to be deployed and really used, this work may also serve as inspiration for other similar modules for reporting tools.

Keywords business intelligence, data governance, data lineage, data flow, report, reporting tool, cognos, olap, manta, connector, obiee, excel, ssrs

(11)

Obsah

Odkaz na tuto pr´aci . . . vi

Uvod´ 1 1 C´ıl pr´ace 3 2 Pˇribl´ıˇzen´ı problematiky 5 2.1 Reportingov´e n´astroje . . . 5

2.1.1 Reporting vs Dashboarding . . . 6

2.2 Analytick´e n´astroje . . . 7

2.2.1 Integrace do reportingov´ych n´astroj˚u . . . 8

2.3 Manta . . . 8

2.3.1 Datov´e toky, data lineage . . . 9

2.3.2 Graf datov´ych tok˚u . . . 9

2.3.3 Manta Flow . . . 10

3 Anal´yza 15 3.1 OLAP kostka . . . 15

3.1.1 Objekty v kostce . . . 17

3.2 SQL Server Reporting Services . . . 18

3.2.1 Datovˇe relevantn´ı objekty SSRS . . . 19

3.3 Oracle Business Intelligence Enterprise Edition . . . 20

3.3.1 Datovˇe relevantn´ı objekty OBIEE . . . 21

3.4 Microsoft Excel . . . 23

3.4.1 Datovˇe relevantn´ı objekty Excelu . . . 24

3.5 IBM Cognos . . . 26

3.5.1 Souvisej´ıc´ı n´astroje . . . 27

3.5.2 Datovˇe relevantn´ı objekty Cognos . . . 28

3.6 Shrnut´ı . . . 30 4 N´avrh spoleˇcn´e reprezentace reportingov´ych n´astroj˚u 33

(12)

5 N´avrh rozhran´ı modelu pro Cognos 39

5.1 Diagram rozhran´ı . . . 39

5.2 Interakce tˇr´ıd, orchestrace . . . 43

5.2.1 Pr˚ubˇeh extrakce . . . 44

5.2.2 Zpracov´an´ı extrahovan´eho reportu . . . 44

5.2.3 Pr˚ubˇeh generov´an´ı grafu datov´ych tok˚u . . . 44

6 Implementace 49 6.1 Pouˇzit´e technologie a knihovny . . . 49

6.2 Bal´ıˇcky . . . 50

6.3 Vybran´e ˇreˇsen´e probl´emy . . . 52

6.4 Funkce prototypu . . . 54

6.5 Pl´an rozˇs´ıˇren´ı . . . 55

6.6 Testov´an´ı . . . 58

6.6.1 Testy Extractoru . . . 58

6.6.2 Testy Konektoru . . . 59

6.6.3 Testy Resolveru . . . 59

6.6.4 Testy Dataflow generatoru . . . 60

Z´avˇer 61

Literatura 63

A Seznam pouˇzit´ych zkratek 69

B Obsah pˇriloˇzen´eho CD 71

(13)

Seznam obr´ azk˚ u

2.1 Uk´azka reportu v Microsoft Excel [1] . . . 6

2.2 Uk´azka dashboardu v IBM Cognos [2] . . . 7

2.3 Uk´azka vizualizace datov´ych tok˚u v n´astroji Manta Flow [3] . . . . 11

2.4 Architektura Manta Flow [4] . . . 14

3.1 Pˇr´ıklad kostky [5] . . . 16

3.2 Ilustrace star schematu [6] . . . 17

3.3 Hierarchick´a struktura objekt˚u OBIEE [32] . . . 22

3.4 Diagram tˇr´ıd pro datovˇe zaj´ımav´e objekty Excel . . . 27

4.1 Model spoleˇcn´ych uzl˚u . . . 36

5.1 Diagram rozhran´ı prezentaˇcn´ı a logick´e vrstvy . . . 40

5.2 Diagram rozhran´ı analytick´e vrstvy . . . 41

5.3 Sekvenˇcn´ı diagram orchestrace gener´atoru datov´ych tok˚u . . . 45

5.4 Sekvenˇcn´ı diagram zpracov´an´ı extrahovan´eho reportu . . . 46

5.5 Sekvenˇcn´ı diagram orchestrace gener´atoru datov´ych tok˚u . . . 47

6.1 Diagram bal´ıˇck˚u . . . 52

6.2 Uk´azka vizualizace datov´ych tok˚u v IBM Cognos . . . 56

6.3 Znamen´ı, ˇze testy na Jenkinsu proch´az´ı. . . 58

(14)
(15)

Seznam tabulek

4.1 Mapov´an´ı objekt˚u Cognos na spoleˇcn´y model . . . 37

(16)
(17)

Uvod ´

V dneˇsn´ı dobˇe jsou data z´asadn´ı prerekvizitou pro dˇel´an´ı informovan´ych roz- hodnut´ı pˇri ˇr´ızen´ı velk´ych i menˇs´ıch firem a podnik˚u. Aby ale data k tomuto

´

uˇcelu mohla slouˇzit, mus´ı b´yt zodpovˇedn´e osobˇe pod´ana v pˇrehledn´e formˇe a pˇredevˇs´ım to mus´ı b´yt data se silnou vypov´ıdaj´ıc´ı hodnotou, kter´a ide´alnˇe uˇz na prvn´ı pohled dok´aˇz´ı

”odvypr´avˇet pˇr´ıbˇeh“.[7] Pˇredevˇs´ım k tomuto ´uˇcelu slouˇz´ı tzv. reportovac´ı n´astroje, kter´e ve formˇe specifick´ych dokument˚u – re- port˚u – vhodnˇe vizualizuj´ı data, aby jedin´ym ´ukolem bylo samotn´e business rozhodnut´ı a ne star´an´ı se o data v pozad´ı.

Samotn´e n´astroje ale nemohou zaruˇcit, ˇze zobrazen´a data budou skuteˇcnˇe kvalitn´ı, poch´azej´ıc´ı z d˚uvˇeryhodn´ych zdroj˚u. Stejnˇe tak nen´ı ´ukolem tˇechto n´astroj˚u ˇreˇsit napˇr. pr´avn´ı pˇredpisy, kter´e se na data dan´e firmy mohou vztahovat, nebo napˇr´ıklad dopady, kter´e zmˇeny v hardwarov´e infrastruktuˇre spoleˇcnosti mohou zp˚usobit.[8] Pˇri ˇreˇsen´ı vˇsech tˇechto probl´em˚u a mnoh´ych dalˇs´ıch m˚uˇze firmˇe znatelnˇe pomoci znalost datov´ych tok˚u, tedy schopnost mapovat

”pr˚utok“ dat skrze fyzick´e datab´azov´e stroje, ˇcistˇe logick´e vrstvy a datov´e modely tak, aby v kaˇzd´e chv´ıli byl dohledateln´y zdroj proud´ıc´ıch dat.

Data bˇehem sv´eho ˇzivotn´ıho cyklu typicky proud´ı skrze nˇekolik hetero- genn´ıch prostˇred´ı a jsou zpracov´av´ana mnoˇzstv´ım r˚uzn´ych technologi´ı. Nen´ı moˇzn´e vyvinout univerz´aln´ı analyz´ator datov´ych tok˚u, kter´y by automaticky zmapoval toky v libovoln´ych technologi´ıch. Naopak je tˇreba ke kaˇzd´e technolo- gii pˇristoupit jednotlivˇe, vyvinout specifick´y modul a aˇz ten pˇr´ıpadnˇe zaˇclenit do komplexn´ıho ˇreˇsen´ı. Pˇresnˇe tento pˇr´ıstup implementuje firma Manta, kde jednotliv´e konektory jsou t´ım, co dok´aˇze porozumˇet dat˚um ve specifick´ych technologi´ıch. Jeden takov´y konektor pro business intelligence n´astroj IBM Cognos je pˇredmˇetem t´eto pr´ace.

(18)
(19)

Kapitola 1

C´ıl pr´ ace

T´ema t´eto diplomov´e pr´ace je pomˇernˇe rozvit´e, proto chci ˇcten´aˇre nejprve uv´est do svˇeta reportovac´ıch n´astroj˚u, objasnit jejich ´uˇcel a hlavn´ı motivaci pro jejich korpor´atn´ı uˇzit´ı. Z´aroveˇn je tak´e tˇreba pˇredstavit komplexn´ı n´astroj Manta Flow, kter´y prov´ad´ı anal´yzu datov´ych tok˚u ve vybran´ych technologi´ıch a objasnit, jak´ym zp˚usobem se do jeho st´avaj´ıc´ı architektury implementuje nov´y konektor a co to v˚ubec konektor a datov´e toky jsou.

V dalˇs´ı ˇc´asti pr´ace mˇe ˇcek´a anal´yza nˇekolika vybran´ych reportovac´ıch n´astroj˚u. Jmenovitˇe to jsou IBM Cognos, Oracle Business Intelligence Enter- prise Edition, SQL Server Reporting Services a Microsoft Excel. Pˇredmˇetem reˇserˇze bude pˇredevˇs´ım datov´y model a objekty, se kter´ymi se v dan´ych n´astroj´ıch pracuje, architektura jednotliv´ych prostˇred´ı a hlavnˇe datov´e toky a zp˚usob, jak´ym obecnˇe tyto n´astroje data zpracov´avaj´ı nebo konzumuj´ı. Imple- mentace se bude t´ykat IBM Cognos, proto tento reportovac´ı software dostane nejv´ıce prostoru.

Na z´akladˇe anal´yzy se pak vyj´adˇr´ım k myˇslence sjednocen´eho modelu vi- zualizace datov´ych tok˚u, kter´y z´aroveˇn navrhnu a zd˚uvodn´ım sv´a rozhodnut´ı v kontextu objekt˚u, vyskytuj´ıc´ıch se v analyzovan´ych n´astroj´ıch.

Stˇeˇzejn´ım bodem cel´e diplomov´e pr´ace bude praktick´a ˇc´ast – implemen- tace modulu n´astroje Manta (konektoru) pro anal´yzu datov´ych tok˚u v repor- tovac´ım n´astroji IBM Cognos. Modul bude muset z´ıskat z n´astroje potˇrebn´e informace a metadata a transformovat je do navrˇzen´eho sjednocen´eho modelu datov´ych tok˚u tak, aby je n´astroj Manta mohl ´uˇcinnˇe vizualizovat. C´ılem nen´ı naprogramovat kompletn´ı ˇreˇsen´ı, protoˇze je oˇcek´av´ano, ˇze ekosyst´em Cognos bude znaˇcnˇe rozvinut´y. V´ystupem m´a b´yt prototyp, kter´y zpracuje a vizuali- zuje datov´e toky v r´amci vybran´e podmnoˇziny funkc´ı, kter´e software nab´ız´ı.

Samozˇrejmost´ı je ˇr´adn´a dokumentace a otestov´an´ı ˇreˇsen´ı, jak na ´urovni zpracov´an´ı uk´azkov´ych report˚u, tak na ´urovni funkˇcnosti zdrojov´eho k´odu.

(20)
(21)

Kapitola 2

ribl´ıˇ zen´ı problematiky

2.1 Reportingov´ e n´ astroje

V r´amci t´eto sekce pop´ıˇsu, jak´a je motivace pro pouˇz´ıv´an´ı reportingov´ych n´astroj˚u, co vˇsechno n´am obvykle software tohoto typu m˚uˇze pˇrin´est a jak´e podm´ınky je tˇreba splnit pro jeho efektivn´ı uˇz´ıv´an´ı.

K pochopen´ı ´uˇcelu reportingov´ych n´astroj˚u je nejprve tˇreba vysvˇetlit po- jem business intelligence (BI). Tento pojem se s´am o sobˇe stal fenom´enem a lze nal´ezt mnoho i v´yznamovˇe odliˇsn´ych definic. V t´eto pr´aci se pˇrikl´an´ım k definici serveru guru99.com:

”Business intelligence je soubor proces˚u, ar- chitektur a technologi´ı, kter´e pˇrev´adˇej´ı syrov´a data na smyslupln´e informace, kter´e poh´anˇej´ı obchodn´ı rozhodnut´ı za ´uˇcelem zisku. Jedn´a se o sadu soft- waru a sluˇzeb, kter´e pˇremˇeˇnuj´ı data na pouˇzitelnou inteligenci a znalosti. M´a pˇr´ım´y vliv na strategick´a, taktick´a a operativn´ı obchodn´ı rozhodnut´ı organi- zace, pˇriˇcemˇz podporuje rozhodov´an´ı zaloˇzen´e na faktech s vyuˇzit´ım histo- rick´ych dat sp´ıˇse neˇz pˇredpoklad˚u a pocit˚u.“[9]

Obecnˇe by se tak dalo ˇr´ıci, ˇze hlavn´ımi pˇr´ınosy zaveden´ı BI ve firmˇe jsou:

• informovan´a business rozhodnut´ı

• podpora definov´an´ı a plnˇen´ı strategick´ych c´ıl˚u

• prohlouben´ı znalost´ı o firemn´ıch z´akazn´ıc´ıch

• podpora produktivity

• pozitivn´ı pˇrispˇen´ı k udrˇzen´ı pˇresnosti a kvality dat

• potenci´aln´ı urychlen´ı n´avratnosti investic [10]

Reportingov´e n´astroje jsou jedn´ım ze z´akladn´ıch prostˇredk˚u business in- telligence. Jejich z´akladn´ım ´ukolem je vizualizace dat v r˚uzn´ych form´ach.

Nejˇcastˇeji se jedn´a o str´ankovan´e dokumenty, zvan´e reporty, kter´e data sesku- puj´ı do graf˚u, tabulek, v´yˇct˚u a mnoha jin´ych vizualizac´ı, z nichˇz kaˇzd´a m´a sv˚uj

(22)

Obr´azek 2.1: Uk´azka reportu v Microsoft Excel [1]

specifick´y pˇr´ıpad uˇzit´ı. Jak bylo jiˇz ´uvodem naznaˇceno, hlavn´ım c´ılem tˇechto n´astroj˚u je data vizualizovat v takov´e podobˇe, aby bylo moˇzn´e na z´akladˇe prezentovan´ych informac´ı uˇcinit kr´atkodob´a ˇci dlouhodob´a strategick´a roz- hodnut´ı. [11] Na obr´azku 2.1 je uk´az´an pˇr´ıklad reportu v popul´arn´ım n´astroji Microsoft Excel, kter´y se k reportingov´ym ´uˇcel˚um masivnˇe vyuˇz´ıv´a.

2.1.1 Reporting vs Dashboarding

D˚uleˇzit´ym trendem posledn´ı doby je zvyˇsov´an´ı m´ıry interaktivity, kterou v´ys- ledn´e reporty poskytuj´ı. Nˇekteˇr´ı z´astupci dotahuj´ı poskytovanou interakti- vitu fin´aln´ıch dokument˚u na takovou ´uroveˇn, ˇze produkt vlastnˇe ani nen´ı urˇcen´y k tisku. Takov´e reporty jsou naopak vhodn´e na volbu vlastn´ıch pohled˚u na data, filtrov´an´ı dle dat souvisej´ıc´ıch a v pˇr´ıpadˇe hierarchicky ˇclenˇen´ych dat i zanoˇrov´an´ı na detailnˇejˇs´ı ´urovnˇe.

S v´yˇse zm´ınˇen´ymi trendy roste i popularita tzv. dashboard˚u a reportingu

”na prvn´ı pohled“. ˇRada reportingov´ych n´astroj˚u proto rozliˇsuje mezi reporty a dashboardy, kde prvn´ı jmenovan´e jsou v´ıce datovˇe orientovan´e. Pˇrevaˇzuj´ı v nich textovˇe zaloˇzen´e, tabulkov´e ˇci jin´e jednoduch´e vizualizace s d˚urazem na data samotn´a. [11]

Je tˇreba vˇsak pamatovat na to, ˇze neexistuje ˇz´adn´y jednoznaˇcn´y konsensus ohlednˇe toho, co je jeˇstˇe report a co uˇz by se mˇelo povaˇzovat za dashboard.

Jeden takov´y dashboard vytvoˇren´y pomoc´ı IBM Cognos je na obr´azku 2.2.

N´astroj Cognos jeˇstˇe vedle report˚u a dashboard˚u nab´ız´ı tzv.

”interaktivn´ı

(23)

2.2. Analytick´e n´astroje

Obr´azek 2.2: Uk´azka dashboardu v IBM Cognos [2]

reporty“, kter´e si berou nˇeco z interaktivity dashboard˚u, ale zachov´avaj´ı si robustnost dat a pohled˚u, kter´e nab´ız´ı klasick´e reporty.

2.2 Analytick´ e n´ astroje

Rada reportingov´ˇ ych n´astroj˚u podporuje pˇr´ım´e propojen´ı s fyzickou datab´az´ı.

Mnohem ˇcastˇeji ale reporty vyuˇz´ıvaj´ı data, kter´a jsou jim poskytov´ana skrze r˚uznorod´e struktury, nezˇr´ıdka pojmenovan´e jako datov´e modely. V´yhodou je jednotn´y pˇr´ıstup k dat˚um d´ıky abstrahov´an´ı detail˚u. Bˇeˇzn´y uˇzivatel, tedy au- tor report˚u, tak pracuje s pˇripraven´ymi modely, kter´e nav´ıc velmi ˇcasto pouˇzije pro des´ıtky report˚u a je s nimi d´ıky tomu uˇz dobˇre obezn´amen. Nev´yhodou je, ˇ

ze tyto modely mus´ı typicky vytvoˇrit analytik dobˇre obezn´amen´y s organizac´ı datov´eho skladu spoleˇcnosti.

Uzce spojena s analytick´´ ymi n´astroji je technologie OLAP. OnLine Analy- tical Processing je souhrnn´e oznaˇcen´ı pro skupinu technologi´ı, kter´e vyuˇz´ıvaj´ı specifick´y pˇr´ıstup organizace dat v datov´em zdroji k ˇcasovˇe efektivn´ımu do- tazov´an´ı. Z´akladn´ı myˇslenkou je strukturovat data zp˚usobem, kter´y bude vhodnˇejˇs´ı z hlediska oˇcek´avan´ych nebo nejˇcastˇejˇs´ıch dotaz˚u. [12] Z´aroveˇn je ˇ

casto vyuˇz´ıv´ano dopˇredn´ych kalkulac´ı, kter´e pˇriprav´ı potˇrebn´a data pro poz-

(24)

dˇejˇs´ı vyuˇzit´ı. V´ysledky sloˇzit´ych dotaz˚u mohou b´yt ukl´ad´any. D´ıky tomu je ˇcasov´a odezva dotaz˚u nad daty pˇri vytv´aˇren´ı a spouˇstˇen´ı report˚u zaloˇzen´ych na datov´ych modelech mnohem niˇzˇs´ı a v ˇr´adu sekund lze zpracovat a vizuali- zovat z´asadn´ı informace.

Dalˇs´ı velkou v´yhodou je zp˚usob, jak´ym mohou b´yt data ˇclenˇena. [13] Ten totiˇz umoˇzˇnuje bez dalˇs´ı ˇcasov´e z´atˇeˇzi data urˇcit´ym zp˚usobem filtrovat, nebo se zanoˇrovat do definovan´e detailnˇejˇs´ı ´urovnˇe. Napˇr´ıklad z pohledu na roˇcn´ı v´ydej firmy se tak snadno lze dostat na pˇrehled v´ydej˚u bˇehem jednotliv´ych mˇes´ıc˚u. Staˇc´ı jen, aby byl datov´y sklad vhodnˇe ˇclenˇen a model nad n´ım adekv´atnˇe vytvoˇren.

2.2.1 Integrace do reportingov´ych n´astroj˚u

Datov´e struktury jsou typicky vytv´aˇreny v analytick´em n´astroji, kter´y m˚uˇze b´yt integrov´an pˇr´ımo v uˇzivatelsk´em rozhran´ı reportingov´eho n´astroje. ˇCastˇeji se ale jedn´a o samostatn´y podp˚urn´y n´astroj. Napˇr´ıklad Microsoft SQL Ser- ver Analysis Services (SSAS) je analytick´y software, kter´y je zcela nez´avisl´y na zvolen´em reportingov´em n´astroji, ve kter´em budou data v koneˇcn´em d˚u- sledku vizualizov´ana. V tomto pˇr´ıpadˇe je trend dokonce opaˇcn´y – r˚uzn´e repor- tingov´e n´astroje podporuj´ı import dat pr´avˇe z SSAS. IBM pro sv˚uj n´astroj Cognos vytvoˇrila dokonce nˇekolik modelovac´ıch n´astroj˚u, kdy kaˇzd´y slouˇz´ı k specifick´emu ´uˇcelu a jen nˇekter´e jsou pˇr´ımo integrov´any.

Tvorba kvalitn´ıho datov´eho modelu obvykle vyˇzaduje lepˇs´ı neˇz z´akladn´ı datab´azov´e znalosti, sluˇsn´y pˇrehled o architektuˇre datov´eho skladu organizace a pˇredevˇs´ım pomˇernˇe pˇresnou pˇredstavu o pˇr´ıpadech uˇzit´ı dat. Tv˚urci report˚u proto obvykle nejsou z´aroveˇn autory datov´ych model˚u, ale mezi tˇemito ro- lemi je vyˇzadov´ana jist´a m´ıra souˇcinnosti napˇr´ıklad pr´avˇe pro popis bˇeˇzn´ych pˇr´ıpad˚u uˇzit´ı.

2.3 Manta

Manta, cel´ym n´azvem Manta Tools s.r.o., je p˚uvodem ˇcesk´a startupov´a spoleˇc- nost, jej´ıˇz hlavn´ım produktem je n´astroj pro anal´yzu a n´aslednou vizualizaci datov´ych tok˚u. Manta p˚uvodnˇe byla projektem firmy Profinit s.r.o., kter´a od roku 2008 vyv´ıjela n´astroj Manta Flow ve spolupr´aci s ˇCVUT v Praze. [14]

Projekt sv´ym potenci´alem brzy pˇredˇcil oˇcek´av´an´ı a zapojil se do grantov´ych program˚u Technologick´e agentury ˇCesk´e republiky. V roce 2013 se rozhodlo, ˇze vznikne nov´a firma Manta Tools, kter´a projekt zastˇreˇs´ı. V roce 2014 startup ovl´adl soutˇeˇz

”Czech ICT Incubator @ Silicon Valley“, kter´a mu umoˇznila zaloˇzit prvn´ı z´amoˇrskou poboˇcku v San Francisku. V souˇcasn´e dobˇe spoleˇcnost kaˇzdoroˇcnˇe roste a jej´ı produkt vyuˇz´ıvaj´ı ty nejvˇetˇs´ı firmy, jmenovitˇe napˇr´ıklad PayPal, Vodafone, OBI, Comcast a dalˇs´ı. [15]

(25)

2.3. Manta 2.3.1 Datov´e toky, data lineage

Datov´y tok v kontextu t´eto diplomov´e pr´ace je

”pohyb dat skrze syst´emy tvoˇren´e softwarem, hardwarem nebo kombinac´ı oboj´ıho“, pˇriˇcemˇz nejde o mno- ˇ

zstv´ı proud´ıc´ıch dat, ale pouze o existenci toku samotn´eho. Schopnost popsat datov´e toky a znalost p˚uvodu dat v jak´emkoliv bodu jejich ˇzivotn´ıho cyklu se oznaˇcuje za data lineage. [16] [17]

2.3.2 Graf datov´ych tok˚u

V´ysledkem ´uspˇeˇsn´e anal´yzy datov´ych tok˚u m´a b´yt orientovan´y graf datov´ych tok˚u. Orientovan´y graf je dvojice vrchol˚u a hran, kde vrcholy jsou nepr´azdn´a mnoˇzina a hrany jsou uspoˇr´adan´e dvojice zm´ınˇen´ych vrchol˚u. [18]

V kontextu Manta Flow je situace s orientovan´ym grafem komplikovanˇejˇs´ı, protoˇze vrcholy i hrany jsou nav´ıc r˚uzn´ych typ˚u. Pozitivn´ım zjiˇstˇen´ım je fakt, ˇ

ze pro ´uˇcely implementace konektoru Cognos a se lze efektivnˇe omezit na 3 typy vrchol˚u a 5 typ˚u hran. Od zbytku typ˚u je konektor Cognos odst´ınˇen mnoˇzstv´ım pomocn´ych tˇr´ıd. Zaj´ımav´e typy vrchol˚u jsou:

Node– reprezentuje konkr´etn´ı objekt, kter´y se m˚uˇze potenci´alnˇe ´uˇcast- nit datov´eho toku. Trochu matouc´ı je zaprv´e fakt, ˇze tento typ vrcholu se jmenuje node (ˇcesky uzel), coˇz je pojem, kter´y se ˇcasto za vrchol zamˇeˇnuje. Za druh´e je nutn´e pochopit ˇzenode m´a s´am o sobˇe jeˇstˇe pa- rametrnodetype, kter´y ho odliˇsuje od uzl˚u stejn´e technologie (resource).

Jedn´ım z hlavn´ıch c´ıl˚u t´eto pr´ace je navrhnout model pr´avˇe tˇechto typ˚u vrcholu typu nodepro reportingov´e n´astroje.

Attribute– reprezentuje dodateˇcnou informaci, kterou lze pˇridat1k vr- cholu typu node. Uˇzivatele m˚uˇze napˇr´ıklad zaj´ımat um´ıstˇen´ı objektu v ´uloˇziˇsti nebo v´yraz, ze kter´eho byl p˚uvodnˇe objekt vytvoˇren.

Resource – reprezentuje technologii, kterou Manta Flow zn´a a dok´aˇze zpracov´avat. Napˇr´ıklad SSRS, Cognos, atp.

Mezi relevantn´ı hrany patˇr´ı:

DirectFlow – spojuje dva vrcholy typu node. Tato orientovan´a hrana pˇredstavuje tok dat ze zdrojov´eho do c´ılov´eho uzlu.

FilterFlow – spojuje dva vrcholy typu node. Pˇredstavuje nepˇr´ım´y tok dat ze zdrojov´eho do c´ılov´eho uzlu. Nepˇr´ım´y tok vznik´a napˇr´ıklad fil- trov´an´ım, podm´ınkami apod.

HasAttribute – spojuje vrchol typu node s vrcholem typu attribute.

Pˇridan´a informace je ve vizualizaci viditeln´a pro rozkliknut´ı dan´eho ob- jektu.

1

ridat“ v tomto v´yznamu znamen´a spojit hranou typu HasAttribute

(26)

HasParent – spojuje syna s rodiˇcem. Ve vizualizaci je tato vazba vy- j´adˇrena zanoˇren´ım objektu syna do objektu rodiˇce.

HasResource – spojuje vrchol typu node s vrcholem typu resource.

Urˇcuje tedy, k jak´e technologii datov´y objekt patˇr´ı.

D´ale je tˇreba poˇc´ıtat s faktem, ˇze vrchol typunodeje jednoznaˇcnˇe identifi- kovateln´y v grafu ˇctveˇric´ı technologie, jm´eno uzlu, typ uzlu2a rodiˇc uzlu. Toho vyuˇziji napˇr´ıklad ve chv´ıli, kdy budu cht´ıt, aby se uzel s tˇemito vlastnostmi nevytv´aˇrel v´ıcekr´at, ale naopak se mapoval na jiˇz vytvoˇren´y.

Typick´y postup v implementaci pak bude napˇr´ıklad vytvoˇren´ı vrchol˚u typu nodes urˇcit´ymi vlastnostmi (atributy). Pˇri vytv´aˇren´ı tˇechto vrchol˚u bude vy- hled´an jejich rodiˇc, nebo bude vytvoˇren v pˇr´ıpadˇe, ˇze jeˇstˇe v grafu neexistuje.

Typicky tyto uzly budeme cht´ıt spojit nˇejakou hranou reprezentuj´ıc´ı datov´y tok, tedy hranami pˇr´ım´ymi (DirectFlow) nebo nepˇr´ım´ymi (FilterFlow). [19]

2.3.3 Manta Flow

Jak bylo ˇreˇceno, vlajkovou lod´ı Manty je software Manta Flow. Tento n´astroj extrahuje metadata3, zanalyzuje je a porozum´ı jim d´ıky permanentnˇe se roz- r˚ustaj´ıc´ımu mnoˇzstv´ı konektor˚u (skener˚u). Typicky jsou tato metadata trans- formov´ana do modelu specifick´eho pro kaˇzdou z technologi´ı, kter´a se na tok˚u pod´ıl´ı. Zm´ınˇen´y model je jiˇz v plnˇe v reˇzii Manty. N´aslednˇe je zpracov´an do grafu datov´ych tok˚u. Manta Flow tento graf um´ı zobrazit a uˇzivateli d´av´a do- konce znaˇcnou svobodu ve filtrov´an´ı ˇci konfiguraci v´ysledn´e vizualizace. Jedna z moˇzn´ych podob v´ysledn´e vizualizace je zobrazena na obr´azku 2.3.

Vyuˇzit´ı znalosti data lineage je ˇsirok´e. Nav´ıc plat´ı, ˇze ˇc´ım je datov´a in- frastruktura z´akazn´ıka komplikovanˇejˇs´ı, t´ım jsou moˇzn´e pˇr´ınosy znatelnˇejˇs´ı.

Hlavn´ımi v´yhodami pouˇzit´ı software Manta Flow mohou b´yt napˇr´ıklad: [20]

Anal´yza dopadu– pom´ah´a identifikovat syst´emy ovlivnˇen´e nebo zasa- ˇzen´e zvaˇzovan´ymi zmˇenami. Zpravidla se tedy pouˇz´ıv´a ve f´azi pl´anov´an´ı zmˇen v infrastruktuˇre nebo pˇri nepˇredv´ıdateln´e ud´alosti, kter´a zmˇeny ve struktuˇre dat firmy vyˇzaduje. [21] Uˇcebnicov´ym pˇr´ıpadem uˇzit´ı je napˇr´ıklad situace, kdy potˇrebujeme zmˇenit jm´eno jednoho sloupce v da- tab´azi a zaj´ım´a n´as, do kter´ych objekt˚u se zmˇena

”prop´ıˇse“, nebo na- pˇr´ıklad trochu re´alnˇejˇs´ı situace, kdy hled´ame datab´azov´e tabulky, kter´e nejsou vyuˇz´ıv´any a chceme je v r´amci ˇsetˇren´ı m´ısta detekovat a odstra- nit. [22]

Anal´yza pˇr´ıˇciny probl´emu – pom´ah´a odhalovat m´ısta, kter´a zapˇr´ı- ˇcinila v´yskyt chyby nebo nekorektn´ıch dat. Na rozd´ıl od anal´yzy do- padu se inherentnˇe vyuˇz´ıv´a zpˇetnˇe aˇz po detekov´an´ı chyby. Data mohou

2Nezamˇnovat typ uzlu s typem vrcholu!

3Metadata jsou doplˇnkov´a

data o datech“.

(27)

2.3. Manta

Obr´azek 2.3: Uk´azka vizualizace datov´ych tok˚u v n´astroji Manta Flow [3]

proch´azet r˚uzn´ymi technologiemi a tedy mnoha vrstvami, ale zaj´ım´a n´as vˇzdy zdroj (nebo tak´e koˇren) chyby. Znalost pˇr´ıˇciny chyby umoˇzˇnuje opravit ji pˇr´ımo v m´ıstˇe vzniku na rozd´ıl od bˇeˇznˇe praktikovan´eho pˇr´ı- stupu z´aplatov´an´ı a redukov´an´ı symptom˚u. [23]

Pˇrehlednˇejˇs´ı migrace dat – pˇri pˇresunu dat do jin´ych syst´em˚u lze sn´aze dohledat z´avislosti mezi daty. To umoˇzˇnuje se pˇri migraci dat napˇr´ıklad omezit na urˇcitou jejich podmnoˇzinu, nebo migraci struk- turovat do nˇekolika nez´avisl´ych transakc´ı. Manta tak´e pom˚uˇze odha- lit nevyuˇz´ıvan´a data a tak sn´ıˇzit potˇrebnou kapacitu c´ılov´eho ´uloˇzn´eho prostoru. Kdyˇz je datov´y sklad organizace rozs´ahl´y, je t´emˇeˇr nemoˇzn´e manu´alnˇe z´avislosti mezi datov´ymi objekty hledat a je nutn´e pouˇz´ıt au- tomatizovan´e ˇreˇsen´ı. Manta Flow v tomto pˇr´ıpadˇe dok´aˇze zodpovˇedˇet d˚uleˇzit´e ot´azky jako napˇr´ıklad

”Co jeˇstˇe zb´yv´a zmigrovat?“, nebo

”Jsou zmigrov´any vˇsechny kritick´e ˇc´asti syst´emu?“. [24]

Plnˇen´ı regulatorn´ıch poˇzadavk˚u – pr´avn´ı pˇredpisy, postupy a po- ˇ

zadavky na organizaci. V pˇr´ıpadˇe neplnˇen´ı regulatorn´ıch pˇredpis˚u by firmˇe hrozily pokuty a jin´e pr´avn´ı postihy. Velk´e n´aroky jsou kladeny na bezpeˇcnost dat a zejm´ena pak na bezpeˇcnost dat uˇzivatel˚u.4 Jedn´ım z regulatorn´ıch poˇzadavk˚u m˚uˇze b´yt napˇr´ıklad vymaz´an´ı vˇsech dat o ur- ˇ

cit´e osobˇe na jej´ı poˇz´ad´an´ı. Hledat veˇsker´a data manu´alnˇe by opˇet nebylo za pouˇzit´ı rozumn´ych zdroj˚u moˇzn´e a tak pom˚uˇze znalost datov´e lineage, kterou Manta Flow nab´ız´ı automatizovanˇe.

4V tomto ohledu firmy celosvˇetovˇe ovlivnila evropsk´a smˇernice GDPR.

(28)

Podpora data governance – d´ıky velk´emu mnoˇzstv´ı integrac´ı m˚uˇze z´akazn´ık neziˇstnˇe zaˇclenit data lineage do jiˇz existuj´ıc´ıho ˇreˇsen´ı data governance a zv´yˇsit tak d˚uvˇeru v data a jejich kvalitu. Manta tak´e dok´aˇze mapovat data v nˇekter´ych prostˇred´ıch, kter´ym jin´e data gover- nance n´astroje nerozum´ı a zlepˇsit tak celkov´e pokryt´ı.

Zefektivnˇen´ı v´yvoje – za urˇcit´ych okolnost´ı m˚uˇze znalost datov´ych tok˚u pomoci i zefektivnit v´yvoj software. Napˇr´ıklad m˚uˇze j´ıt o agiln´ı v´yvoj komplexn´ıho syst´emu, kter´y spoˇc´ıv´a ve vyuˇzit´ı sandbox˚u5tak, aby nebyla ohroˇzena ostatn´ı funkˇcnost syst´emu. [25] Vytv´aˇren´ı tˇechto sand- box˚u vyˇzaduje obvykle manu´aln´ı zdlouhavou pr´aci pˇri hled´an´ı z´avisl´ych objekt˚u a procedur. Zaveden´ı Manta Flow do tohoto procesu pom˚uˇze proces hled´an´ı z´avislost´ı mnohon´asobnˇe urychlit.

Z v´yˇse uveden´eho v´yˇctu vypl´yv´a, ˇze nejsilnˇejˇs´ım artiklem Manty je pr´avˇe automatizace ˇcinnost´ı, kter´e dodnes lid´e ve ˇspiˇckov´ych organizac´ıch dˇelaj´ı manu´alnˇe. Z business pohledu je proto Manta Flow velmi l´akav´ym softwarem pˇredevˇs´ım pro stˇrednˇe velk´e a velk´e firmy, jejichˇz datov´a infrastruktura je pˇr´ıliˇs komplexn´ı na manu´aln´ı anal´yzu. Takov´ym subjekt˚um dok´aˇze tento produkt uˇsetˇrit velk´e mnoˇzstv´ı finanˇcn´ıch i lidsk´ych zdroj˚u.

Mezi technologie, kter´e Manta Flow dok´aˇze v souˇcasn´e dobˇe analyzovat, patˇr´ı napˇr´ıklad datab´azov´e syst´emy Oracle, IBM DB2, PostgreSQL, progra- movac´ı jazyky Java, PigLatin, SQL a mnoh´e dalˇs´ı datovˇe orientovan´e n´astroje.

Manta se pˇrizp˚usobuje popt´avce a proto aktivnˇe prob´ıh´a i v´yvoj konektor˚u pro reportovac´ı n´astroje jako jsou IBM Cognos, Microsoft Excel, Microsoft SSRS a jin´e.

2.3.3.1 Integrace datov´ych tok˚u do n´astroj˚u tˇret´ıch stran

Z´akazn´ıci pochopitelnˇe chtˇej´ı homogenn´ı vizu´aln´ı prostˇred´ı a pouˇz´ıv´an´ı co nejmenˇs´ıho mnoˇzstv´ı podp˚urn´ych n´astroj˚u. Proto je d˚uleˇzit´ym faktorem tak´e schopnost integrace z´ıskan´eho grafu datov´ych tok˚u do data governance n´a- stroj˚u tˇret´ıch stran, jako jsou napˇr´ıklad Informatica, Collibra DGC, IBM IGC.

Manta Flow Server tato data poskytuje v r´amci sv´eho API6ve form´atu JSON7. Poˇzadavky na integraci jsou jednou ze z´asadn´ı motivac´ı pro vytvoˇren´ı spoleˇcn´eho modelu pro datov´e toky v reportovac´ıch n´astroj´ıch, coˇz je jedn´ım z c´ıl˚u t´eto pr´ace. ˇC´ım v´ıce budou reportovac´ı n´astroje vyuˇz´ıvat spoleˇcn´ych typ˚u uzl˚u, t´ım m´enˇe mapov´an´ı, lidsk´ych a finanˇcn´ıch zdroj˚u si vyˇz´ad´a trans- formace grafu do libovoln´eho n´astroje tˇret´ı strany.

5Sandboxy jsou bezpeˇcnostn´ı prvky, kter´e br´an´ı vyv´ıjen´emu a netestovan´emu k´odu zp˚usobit trval´e neˇadouc´ı ´cinky na okoln´ı syst´emy.

6API (application programming interface) je sada funkc´ı, kter´e jsou urˇceny k vyuˇzit´ı zejm´ena extern´ımi programy.

7JSON (JavaScript object notation) je form´at dat urˇcen´y pro jejich pˇrenos.

(29)

2.3. Manta 2.3.3.2 Architektura Manta Flow

Obr´azek 2.4 zachycuje architekturu n´astroje, jeho komponenty a interakci s prvky tˇret´ıch stran. Software Manta Flow se skl´ad´a ze dvou hlavn´ıch a jedn´e podp˚urn´e komponenty. [4]

Manta Flow CLI – jedn´a se o Java aplikaci bˇeˇz´ıc´ı v pˇr´ıkazov´e ˇr´adce, kter´a extrahuje vˇsechna potˇrebn´a vstupn´ı data ze zdrojov´ych datab´az´ı, skript˚u a specifick´ych ´uloˇziˇst’, zanalyzuje je a exportuje z´ıskan´a metadata ve formˇe grafu do dedikovan´eho Manta Flow Serveru. Metadata m˚uˇze tak´e volitelnˇe poskytnout aplikac´ım tˇret´ıch stran.

Manta Flow Server – serverov´a aplikace tak´e psan´a v Javˇe. ´Uˇcelem serveru je ukl´adat (

”mergovat“) v optim´aln´ı formˇe vˇsechna z´ıskan´a me- tadata uvnitˇr tzv. metadata repository ve formˇe grafov´e datab´aze. Tato data pak exporter transformuje pro import do c´ılov´e aplikace tˇret´ı strany, nebo pˇriprav´ı pro zobrazen´ı ve webov´em uˇzivatelsk´em rozhran´ı.

Manta Flow Service Utility – podp˚urn´a aplikace, kter´a pom´ah´a pˇri konfiguraci a aktualizuje uˇzivatelsk´e rozhran´ı. Vyuˇz´ıv´a klientem po- skytnut´e konfiguraˇcn´ı soubory um´ıstˇen´e v CLI.

Z t´eto architektury a zadan´eho ´ukolu vypl´yv´a, ˇze poˇzadovan´y konektor pro n´astroj IBM Cognos bude sada modul˚u pro Manta CLI. Konkr´etnˇe bude tˇreba ˇreˇsit extrakci dat, transformaci na intern´ı model a vygenerov´an´ı grafu datov´ych tok˚u z tohoto modelu.

(30)

Obr´azek 2.4: Architektura Manta Flow [4]

(31)

Kapitola 3

Anal´ yza

V t´eto kapitole jsou rozebr´any ˇctyˇri r˚uzn´e reportingov´e n´astroje. Pro vˇsechny z nich je moment´alnˇe vyv´ıjen nebo jiˇz vyvinut konektor pro n´astroj Manta Flow. Anal´yza se zamˇeˇr´ı na datov´e objekty, kter´e jsou definov´any uvnitˇr spe- cifikac´ı report˚u a r˚uzn´ych analytick´ych a logick´ych model˚u. ´Ukolem je ro- zebrat v´yznam tˇechto objekt˚u pro datov´e toky v dan´em n´astroji, aby bylo moˇzno identifikovat napˇr´ıˇc n´astroji v´yznamovˇe podobn´e objekty. Nen´ı kl´ıˇcov´e identifikovat vˇsechny vazby mezi nimi.

Spoleˇcn´ym rysem anal´yzy ve vˇsech tˇechto n´astroj´ıch je potˇreba pˇr´ıstupu ke zm´ınˇen´ym specifikac´ım. Reportingov´e n´astroje m´ıvaj´ı typicky vlastn´ı ´ulo- ˇ

ziˇstˇe report˚u, ve kter´ych jsou reporty a dalˇs´ı z´asadn´ı objekty uloˇzen´e ve formˇe strukturovan´ych soubor˚u, nejˇcastˇeji form´atu XML8 nebo JSON.

Anal´yza SQL Server Reporting Services na rozd´ıl od ostatn´ıch obsahuje i detailnˇejˇs´ı pohled do struktury jednotliv´ych typ˚u vizualizac´ı pro ilustraci tˇechto objekt˚u. Ostatn´ı n´astroje uˇz m´ısto v´yˇctu tˇechto prvk˚u pouˇz´ıvaj´ı abs- traktnˇejˇs´ı oznaˇcen´ıReport itemzahrnuj´ıc´ı vˇsechny tyto prvky report˚u. Anal´yza pro IBM Cognos je z´amˇernˇe m´ırnˇe obs´ahlejˇs´ı, protoˇze tento n´astroj bude pˇredmˇetem implementace. Zbytek n´astroj˚u je potˇreba analyzovat jen do t´e m´ıry, aby mohla b´yt vytvoˇrena spoleˇcn´a reprezentace, tedy sada uzl˚u vych´a- zej´ıc´ı ze s´emanticky podobn´ych objekt˚u.

3.1 OLAP kostka

Spoleˇcn´ym rysem analyzovan´ych n´astroj˚u je podpora OLAP kostek jako da- tov´ych zdroj˚u. Ty jsou z´akladn´ım stavebn´ım kamenem pro OLAP anal´yzu.

Jedn´a se o N-dimenzion´aln´ı krychle, ˇcastˇeji oznaˇcovan´e jako kostky. Dimenze pˇredstavuji dodateˇcnou informaci bl´ıˇze popisuj´ıc´ı tzv. fakt. Fakt b´yv´a nejˇcas- tˇeji ˇc´ıseln´a hodnota, kter´a m˚uˇze vyjadˇrovat pˇr´ıjmy nebo v´ydaje, poˇcet pro-

8Extensible markup language je znaˇckov´y metajazyk, kter´y slouˇz´ı k vytv´ren´ı jin´ych znaˇckov´ych jazyk˚u.

(32)

Obr´azek 3.1: Pˇr´ıklad kostky [5]

dan´ych kus˚u a podobnˇe. Dimenze pak mohou pˇredstavovat napˇr´ıklad r˚uzn´e ˇcasov´e ´useky, prodejn´ı m´ısta, druh prod´avan´eho produktu. Jeden takov´y pˇr´ı- klad ilustruje obr´azek 3.1.

Kostky jsou vhodn´e pro prov´adˇen´ı nˇekolika operac´ı.[26] Uvedu anglick´a pojmenov´an´ı tˇech z´asadn´ıch z nich, protoˇze ˇcesk´e verze se pouˇz´ıvaj´ı minim´alnˇe.

Slicing (kr´ajen´ı)– omezen´ı se na podmnoˇzinu ˇclen˚u dimenze o jednom prvku. Napˇr´ıklad volba urˇcit´eho roku prodeje nebo v´yrobku.

Dicing (kostkov´an´ı)– omezen´ı se na podmnoˇzinu ˇclen˚u dimenze o v´ıce prvc´ıch. Napˇr´ıklad volba obdob´ı od urˇcit´eho roku nebo skupiny v´yrobk˚u.

Roll up – zmˇena detailu o ´uroveˇn v´yˇs. Napˇr. m´ısto prodan´ych kus˚u za mˇes´ıc chceme prodan´e kusy bˇehem cel´eho roku.

Drill down – zmˇena detailu o ´uroveˇn hloubˇeji. Napˇr. m´ısto prodan´ych kus˚u v r´amci jednotliv´ych rok˚u chceme prodan´e kusy bˇehem jednotliv´ych mˇes´ıc˚u.

Prerekvizitou pro vystavˇen´ı kostky je jedno ze specifick´ych sch´emat tabu- lek v datab´azi. V praxi se bˇeˇznˇe pouˇz´ıv´a bud’ star sch´ema (hvˇezdicov´e), nebo snowflake sch´ema (vloˇckov´e). Oba n´azvy vych´az´ı z vizu´aln´ı podoby diagramu popisuj´ıc´ıho tabulky v datab´azi. V pomysln´em stˇredu sch´ematu je faktov´a tabulka obsahuj´ıc´ı dan´y fakt (measure) a ciz´ı kl´ıˇce do vˇsech dimenz´ı specifi- kuj´ıc´ıch fakt. Snowflake sch´ema nav´ıc dovoluje ˇclenit dimenze tak, aby byly

(33)

3.1. OLAP kostka

Obr´azek 3.2: Ilustrace star schematu [6]

tabulky normalizovan´e.[27] To sice sn´ıˇz´ı redundanci dat a uˇsetˇr´ı diskov´y pro- stor, ale dotazov´an´ı je sloˇzitˇejˇs´ı a ´udrˇzba datab´aze tak´e. Pˇr´ıklad star schematu popisuj´ıc´ıho poˇcet prodan´ych produkt˚u v urˇcit´em ˇcasov´em rozmez´ı v r˚uzn´ych prodejn´ach je uk´az´an na obr´azku 3.2.

Kostky velmi ˇcasto b´yvaj´ı zdroji dat v reportingov´ych n´astroj´ıch kv˚uli sv´emu prim´arn´ımu ´uˇcelu rychle odpov´ıdat na komplexn´ı dotazy. V´ysledky tˇechto dotaz˚u jsou pak v reportech prezentov´any uˇzivateli vhodn´ymi vizuali- zacemi. Vˇsechny z analyzovan´ych n´astroj˚u kostky podporuj´ı.

3.1.1 Objekty v kostce

Pˇrestoˇze existuje mnoho r˚uzn´ych technologi´ı implementuj´ıc´ıch kostky, jejich struktura je vˇzdy velmi podobn´a, coˇz z objekt˚u uvnitˇr kostky automaticky dˇel´a kandid´aty na uzly spoleˇcn´eho modelu. Napˇr´ıˇc analytick´ymi n´astroji pro tvorbu kostek se opakuj´ı n´asleduj´ıc´ı objekty:

Dimension reprezentuje jednu dimenzion´aln´ı tabulku.

Attribute koresponduje s jedn´ım ze sloupc˚u tabulky dimenze.

Hierarchy ˇclen´ı atributy dimenze do jednotliv´ych level˚u. M˚uˇze existovat v´ıce hierarchi´ı, tedy zp˚usob˚u ˇclenˇen´ı, pro jednu dimenzi.

Level urˇcuje kolekci atribut˚u dimenze. Pouˇz´ıv´a se pro roll up/drill down operace.

(34)

Measure jsou odvozeny od sloupc˚u faktov´e tabulky. Tyto ˇc´ıseln´e ´udaje b´yvaj´ı vyhodnoceny v kontextu dimenz´ı.

Calculated memberjsou pˇredem pˇripraven´e v´ypoˇcty na z´akladˇe ostatn´ıch ˇclen˚u kostky, kter´e mohou b´yt pˇrepoˇcteny v dobˇe dotazu.

3.2 SQL Server Reporting Services

Hlavn´ım zdrojem informac´ı pro vypracov´an´ı t´eto kapitoly byla intern´ı do- kumentace firmy Manta vych´azej´ıc´ı ze znalost´ı z´ıskan´ych pˇri implementaci konektoru pro SSRS Jaroslavem Kotrˇcem.[28]

SQL Server Reporting Services (SSRS) je syst´em firmy Microsoft urˇcen´y na generov´an´ı a spr´avu report˚u a souvisej´ıc´ıch objekt˚u bˇehem jejich ˇzivotn´ıho cyklu. Samotn´a tvorba report˚u vˇsak prob´ıh´a ve specializovan´em n´astroji Re- port Builder. Aplikace SSRS, kterou uˇzivatel ovl´ad´a skrze webov´e uˇzivatelsk´e rozhran´ı, nem´a t´emˇeˇr ˇz´adn´e editovac´ı schopnosti report˚u a napˇr´ıklad tak umoˇzˇnuje mˇenit pouze jm´eno reportu, ale ne jeho podobu. Uˇzivatel˚um pom´ah´a spravovat r˚uzn´e druhy interaktivn´ıch report˚u, publikovat, distribuovat a pˇri- pravovat jejich datov´e zdroje. SSRS je jedna z ˇc´ast´ı sady Microsoft SQL Server services, mezi kter´e d´ale patˇr´ı Analysis services (SSAS) a Integration services (SSIS).

SSIS je platforma pro stavbu a spr´avu dat tak, aby data byla kvalitn´ı, poˇzadovan´eho form´atu a optimalizovan´a pro vysok´y v´ykon. Jedn´a se o ty- pick´eho pˇredstavitele extract-load-transform software. Produktem SSIS jsou bal´ıˇcky (Package), kter´e pohybuj´ı s daty a mˇen´ı jejich podobu dle poˇzadavk˚u.

N´astroj pracuje na fyzick´e vrstvˇe a jedn´ım z jeho ´ukol˚u je pˇripravit datov´e zdroje pro anal´yzu a reporting. [29]

SSAS je posledn´ım ze zm´ınˇen´e trojice software. Jeho ´uˇcelem je vytvoˇrit analytick´e pohledy na data v datov´ych skladech, ˇcasto upraven´a pomoc´ı SSIS.

[30] Tyto analytick´e pohledy n´astroj reprezentuje jako tabul´arn´ı modely nebo OLAP kostky. Tyto kostky maj´ı velmi podobnou strukturu, jak´a byla nast´ınˇena v sekci 3.1.1.

Definice report˚u a datov´ych zdroj˚u ˇslo z aplikace SSRS z´ıskat dˇr´ıve z in- tern´ı MSSQL datab´aze klasick´ym SQL dotazem nad tabulkou dbo.catalog.

Tento zp˚usob nar´aˇzel na omezen´ı u extrakce definic datov´ych zdroj˚u. Jak´ekoliv zmˇeny v jejich definic´ıch se ukl´adaly jin´ym zp˚usobem neˇz origin´al a nebylo moˇzn´e metadata v nich obsaˇzen´a z´ıskat. Informace pro pˇripojen´ı k datov´ym zdroj˚um se tak musely v urˇcit´ych pˇr´ıpadech zad´avat manu´alnˇe. Od verze SSRS 2017 je na extrakci vˇsech potˇrebn´ych informac´ı moˇzn´e vyuˇz´ıt REST9rozhran´ı, kter´e tˇemito probl´emy netrp´ı. Extrakci vˇsak komplikuje fakt, ˇze se reporty mo- hou vnoˇrovat a v takov´ych pˇr´ıpadech je pro anal´yzu koˇrenov´eho reportu z´ıskat

9REpresentational State Transfer je protokol popisuj´ıc´ı sadu pravidel pro tvorbu beze- stavov´ych webov´ych sluˇzeb.

(35)

3.2. SQL Server Reporting Services i definice report˚u do nˇej vnoˇren´ych. Oba zm´ınˇen´e zp˚usoby extrakce umoˇzˇnuj´ı z´ısk´an´ı konkr´etn´ı definice reportu za pouˇzit´ı ID reportu.

SSRS reporty pouˇz´ıvaj´ı pro v´ybˇer dat z SSAS kostek jazyk MDX10. Tento jazyk podobn´y SQL tak´e obsahuje ˇradu funkc´ı pro kalkulace a filtrace nad tˇemito daty. Pro zpracov´an´ı tohoto jazyka a zachycen´ı potˇrebn´e s´emantiky je v konektoru SSAS pouˇzit parser11 pouˇz´ıvaj´ıc´ı gramatiku tohoto jazyka, kter´a musela b´yt dle specifikac´ı jazyka vytvoˇrena. Samotn´y parser je postaven´y na knihovnˇe ANTLR. Obdobnˇe mohou obsahovat i DAX v´yrazy pro v´ybˇer dat z tabul´arn´ıch model˚u, pˇr´ıpadnˇe ˇcist´e SQL pro v´ybˇer pˇr´ımo z datab´az´ı.[31]

3.2.1 Datovˇe relevantn´ı objekty SSRS

V n´asleduj´ıc´ım v´yˇctu jsou uvedeny objekty nalezen´e ve specifikac´ıch report˚u a objekty souvisej´ıc´ı. Zde u n´astroje SSRS jeˇstˇe uv´ad´ım i pˇr´ıklady jednotliv´ych vizualizac´ı, kter´e jsou v reportech k nalezen´ı. D´ale v pr´aci budou vˇetˇsinou jednotliv´e vizualizace spadat do kategorieReport item.

Server pˇredstavuje jednu instanci SSRS. Je to koˇrenov´y objekt cel´e hierar- chie. Reporty jsou v nˇem uloˇzeny v r´amci adres´aˇrov´e struktury. Ve vi- zualizaci grafov´ych tok˚u budou tyto sloˇzky pravdˇepodobnˇe vynech´any.

Report je spoleˇcn´ym oznaˇcen´ım pro vˇsechny zm´ınˇen´e typy report˚u, kter´e SSRS spravuje. Zaj´ımav´e je, ˇze report m˚uˇze obsahovat jin´e reporty, kter´e jsou obaleny v kontejneru s oznaˇcen´ımsubreport. Pro ´uˇcely generov´an´ı datov´ych tok˚u tak subreporty nejsou nijak kritick´e. Kaˇzd´y z report˚u, kter´y se pod´ıl´ı na v´ysledn´e podobˇe dokumentu, m´a vlastn´ı specifikaci.

Data set reprezentuje data navr´acen´a jako v´ysledek dotazu v˚uˇci extern´emu datov´emu zdroji. Souˇc´ast´ı jeho definice je element Query s daty speci- fick´ymi pro dan´y dotaz, v´ysledn´e sloupce oznaˇcen´e jakoField, parametry a pˇr´ıpadnˇe pouˇzit´e filtry.

Field je prvek Data setu. Koresponduje se sloupcem v´ysledku pouˇzit´eho dotazu.

Chart je prvn´ım pˇr´ıkladem vizualizace v SSRS. Jedn´a se o grafy, kter´e se odkazuj´ı na data ve formˇe datov´ych ˇrad (Data series). Kaˇzd´a datov´a ˇrada obsahuje jeˇstˇe jednotliv´e hodnoty oznaˇcen´e jakoData point.

Gauge panel je oznaˇcen´ı pro sadu vizualizac´ı, kter´e funguj´ı na principu zn´azornˇen´ı urˇcit´eho postupu nebo stavu v˚uˇci kompletn´ımu celku. Jako

10MDX znamen´a MultiDimensional eXpressions, neboli multidimenzion´aln´ı v´yrazy.

11Parsery jsou n´astroje pro rozpad sloˇzit´ych ˇretˇezc˚u na jednotliv´e elementy odliˇsn´eho yznamu pro dalˇs´ı zpracov´an´ı.

(36)

gauge panel je tak definov´an napˇr´ıklad ProgressBar12, nebo vizualizace pˇripom´ınaj´ıc´ı tachometr auta. Gauge panel m´a pod sebou v XML speci- fikaci jeˇstˇe ˇradu element˚u, napˇr. Gauge pointer,State indicator,Gauge scale. Podstatn´e ale je, ˇze na nejniˇzˇs´ı ´urovni v listech pod tˇemito objekty se vyskytuj´ıTooltip aValue obsahuj´ıc´ı zobrazovan´a data.

Map je dalˇs´ı z druh˚u vizualizace pˇripom´ınaj´ıc´ı geografick´e mapy. Podobnˇe jakoGauge panelm´a pod sebou rozvˇetvenou strukturu potomk˚u a na nej- niˇzˇs´ı hladinˇe se znovu vyskytuj´ıTooltip a Value.

Textboxreprezentuje jednoduchou oblast s textem, kter´y m˚uˇze b´yt staticky vyplnˇen´y (a tedy pro datov´e toky nezaj´ımav´y), ale i poch´azet z datab´aze.

Pˇr´ımo pod t´ımto elementem lze nal´ezt uˇz zm´ınˇen´e Tooltip a Value. Ty- picky se vyskytuje v kontejneruTablix.

Value, Tooltip, Label, Data point jsou prvky, kter´e pˇr´ımo obsahuj´ı od- kazy na data um´ıstˇena vData setech. Pˇrestoˇze v SSRS je jejich v´yznam vz´ajemnˇe odliˇsen, pro ´uˇcely sjednocen´eho modelu by mohly vˇsechny b´yt reprezentovan´e jedn´ım typem uzlu, protoˇze se v z´asadˇe vˇzdy jedn´a o nˇejakou hodnotu.

Parameter je promˇenn´a pouˇzit´a pro parametrizaci reportu. Report d´ıky parametr˚um m˚uˇze napˇr´ıklad mˇenit jazyk zobrazen´ı, podmiˇnovat form´a- tov´an´ı prvk˚u reportu na z´akladˇe hodnoty (Value) promˇenn´e a filtrovat zobrazen´a data. Parametr d´ale obsahuje jeˇstˇe Label.

Objects reprezentuj´ı vestavˇen´e objekty ve specifikac´ıch report˚u, kter´e ob- sahuj´ı hodnoty jako autorovo jm´eno, jm´eno reportu, ˇcas vzniku reportu atp. V hierarchii XML element˚u jsou seskupeny do kolekc´ı, kter´eReport obsahuje. Tyto objekty b´yvaj´ı staticky vyplnˇen´e, proto do nich nevedou datov´e toky z datab´az´ı a jin´ych zdroj˚u, ale ˇcasto jsou na datech v nich obsaˇzen´ych z´avisl´e vizualizace, proto je dobr´e je tak´e analyzovat.

3.3 Oracle Business Intelligence Enterprise Edition

Anal´yza Oracle Business Intelligence Enterprise Edition (OBIEE) je inspi- rov´ana intern´ı dokumentac´ı, kterou pro konektor ve firmˇe Manta OBIEE se- pisuje Yauheniy Buldyk.[32]

Oracle Business Intelligence Enterprise Edition (OBIEE) je business in- telligence n´astroj od spoleˇcnost´ı Oracle. Z´akazn´ık˚um pom´ah´a v rychlejˇs´ıch a informovanˇejˇs´ıch obchodn´ıch rozhodnut´ıch poskytov´an´ım vizu´aln´ı anal´yzy dat. Jedn´a se o jednu ze standardn´ıch BI platforem, kter´a pˇrin´aˇs´ı celou ˇsk´alu

12ProgressBar je obvykle obd´eln´ıkov´y ukazatel aktu´aln´ıho stavu procesu. Typicky ukazuje procenta pokroku.

(37)

3.3. Oracle Business Intelligence Enterprise Edition moˇznost´ı pro interaktivn´ı dashboardy, mobiln´ı analytiku, ˇr´ızen´ı firemn´ıch stra- tegi´ı atd. Tvorba report˚u ve vˇetˇsinˇe ostatn´ıch BI n´astroj˚u je ˇcasovˇe n´aroˇcn´a.

Pokud je tˇreba platforma, kter´a dok´aˇze odstranit nadbyteˇcn´e kroky pˇri gene- rov´an´ı vytv´aˇren´ı anal´yz report˚u, z´akazn´ıci ˇcasto vol´ı OBIEE. [33]

Reporty, datov´e modely a dalˇs´ı objekty jsou uloˇzen´e v r´amci tzv. Presen- tation catalogu. Pro extrakci tˇechto objekt˚u z katalogu jsou k dispozici webov´e sluˇzby zaloˇzen´e na protokolu SOAP13. Tyto sluˇzby vyuˇz´ıvaj´ı session14. To zna- men´a, ˇze se nejdˇr´ıv mus´ı zavolat sluˇzba na autentikaci a v pˇr´ıpadˇe validn´ıho pˇrihl´aˇsen´ı je aˇz pak moˇzn´e volat sluˇzbu pro z´ısk´an´ı objekt˚u z katalogu.

V jin´ych reportovac´ıch n´astroj´ıch m˚uˇzeme nal´ezt r˚uzn´e typy report˚u. V OBIEE jsou reporty sjednocen´e, ale existuj´ı r˚uzn´e druhy layout˚u, kter´e maj´ı v pˇr´ıpadˇe tohoto n´astroje vˇetˇs´ı v´yznam neˇz u ostatn´ıch. Layouty totiˇz mohou b´yt definov´any sedmi r˚uzn´ymi zp˚usoby, mezi kter´e patˇr´ı napˇr´ıklad RTF15, XLS 3.4 a zejm´ena XPT, coˇz je souborov´y form´at, ve kter´em ukl´ad´a definice report˚u n´astroj BI Publisher Layout Editor. Je zaloˇzen´y na jazyku XML. Z´aroveˇn je tento druh layout˚u jedin´y, kter´y je moment´alnˇe ve firmˇe Manta zpracov´av´an, proto anal´yzu datovˇe relevantn´ıch objekt˚u omez´ım pr´avˇe na nˇej.

3.3.1 Datovˇe relevantn´ı objekty OBIEE

N´asleduje v´yˇcet objekt˚u relevantn´ıch pro datov´e toky v OBIEE. Jejich hierar- chickou strukturu demonstruje obr´azek 3.3.

Server podobnˇe jako u SSRS pˇredstavuje bˇeˇz´ıc´ı instanci OBIEE. V kon- textu datovˇe relevantn´ıch objekt˚u pˇredstavuje koˇren cel´e hierarchick´e struktury a ´uloˇziˇstˇe, kter´e obsahuje vˇsechny ostatn´ı objekty.

Report je dle oˇcek´av´an´ı hlavn´ım produktem. Zaj´ımav´ym faktem je, ˇze spe- cifikace reportu neobsahuje ˇz´adn´e vizu´aln´ı prvky. Obsahuje pouze Pro- perties, tj r˚uzn´e promˇenn´e reportu, a d´ale jen odkazy na Data model, Layouty a pˇr´ıpadn´e ˇsablony styl˚u a reportu. Tyto z´avislosti jsou ale uloˇzeny i extrahov´any samostatnˇe. V jist´em smyslu je tak extrakce po- dobn´a jako u SSRS a jeho vnoˇren´ych report˚u.

Layoutpˇredstavuje koˇrenov´y kontejner pro vˇsechny viditeln´e prvky reportu.

Je definov´an ve vlastn´ı specifikaci. Je podporov´ano mnoho typ˚u uloˇzen´ı specifikace, zde jsou potomkovsk´e objekty urˇcen´e specifikac´ı typu xpt.

Report m˚uˇze tvoˇrit v´ıce tˇechto Layout˚u a ani jejich typy nemus´ı b´yt shodn´e.

13Simple object access protocol je protokol pro zas´ıl´an´ı zpr´av XML form´atu.

14Session je doˇcasn´e s´ıt’ov´e spojen´ı pro v´ymˇenu zpr´av.

15Rich Text Format je platformnˇe nez´avisl´y form´at soubor˚u od Microsoft, kter´y umoˇnuje ukl´ad´an´ı textov´ych soubor˚u s ˇradou form´atovac´ıch pˇr´ıkaz˚u.

(38)

Obr´azek 3.3: Hierarchick´a struktura objekt˚u OBIEE [32]

Layout pageje str´anka uvnitˇr layoutu. V r´amci analyzovan´eho layouzu xpt form´atu je moˇzn´a jen jedin´a str´anka v layoutu. V´ıcestr´ankov´e reporty jsou tedy podporov´any jedinˇe ve formˇe vyuˇzit´ı v´ıce layout˚u.

Page part, Layout grid, Repeat sectionjsou vˇsechno kontejnery s hete- rogenn´ı vnitˇrn´ı strukturou, kter´e v sobˇe obsahuj´ı kolekce r˚uzn´ych report item˚u. Samotn´e datov´e toky neovlivˇnuj´ı, ale poskytuj´ı jmenn´y prostor pro obsaˇzen´e objekty.

Report itemje jako u ostatn´ıch reportovac´ıch n´astroj˚u abstraktn´ı oznaˇcen´ı pro r˚uzn´e druhy vizualizac´ı. I v OBIEE maj´ı r˚uznou vnitˇrn´ı strukturu a plat´ı, ˇze v listech t´eto stromov´e struktury se daj´ı detekovat datov´e toky.

N´ıˇze je uveden jen v´yˇcet druh˚u report item˚u pouˇzit´y v OBIEE, detailn´ı strukturu nen´ı tˇreba rozeb´ırat.

DataTable

DataList

PivotTable

Chart

Gauge

Image

(39)

3.4. Microsoft Excel

Textbox

Field16 se nach´az´ı v listech hierarchick´e struktury Layoutu uvnitˇr jednot- liv´ychReport item˚u. Pˇredstavuje referenci naElementy.

Data modelje struktura, kter´a obsahuje sadu instrukc´ı pro n´astroj BI Pub- lisher k z´ısk´an´ı dat pro reporty. V´ysledky tˇechto instrukc´ı jsou pops´any v r´amci pˇridruˇzen´e Data structure. Modely jsou samostatn´e objekty v r´amci serveru (v katalogu). Tento objekt m˚uˇze b´yt znaˇcnˇe komplexn´ı, sdruˇzovat data z nˇekolika datov´ych zdroj˚u a r˚uzn´ymi zp˚usoby je jeˇstˇe agregovat a vytv´aˇret nad nimi dodateˇcn´e v´ypoˇcty.

Data setje sada dat typicky z´ıskan´a jako v´ysledek nˇejak´eho dotazu (Query) nad datov´ym zdrojem. Svou formou tyto data pˇripom´ınaj´ı datab´azov´e tabulky, od kter´ych se tak´e ˇcasto skuteˇcnˇe odvozuj´ı. Data sety mohou sb´ırat data z r˚uzn´ych zdroj˚u, jak je pops´ano v pˇredchoz´ı sekci.

Queryobsahuje definici dotazu, kter´y je pouˇzit pro extrakci dat z datov´eho zdroje. Kaˇzd´y datov´y set m´a pˇriˇrazen pr´avˇe jeden Query objekt.

Group se vztahuje vˇzdy k jedin´emu Data setu, pˇriˇcemˇz uˇz konkr´etnˇe zob- razuje podobu z´ıskan´ych dat v r´amci vnoˇren´ych Element˚u. Pˇri zmˇenˇe Data setu nebo z´avisl´eho Query se v tomto objektu data automaticky aktualizuj´ı. Grupy se mohou tak´e vz´ajemnˇe vnoˇrovat, coˇz ovlivn´ı jm´ena element˚u vnoˇren´e grupy a t´ım i v´yraz pro odkazov´an´ı se na tyto ele- menty.

Elementje potomkem grupy a reprezentuje jeden konkr´etn´ı sloupec v´ysledku dotazu nad datov´ym zdrojem. Odkazuj´ı se na nˇe Fieldy uvnitˇr jednot- liv´ych prvk˚u reportu (Report item˚u).

3.4 Microsoft Excel

Pˇri vypracov´an´ı t´eto kapitoly jsem se inspiroval soubˇeˇznˇe vypracov´avanou diplomovou prac´ı kolegy Daniela M´ıˇcka. [34]

Microsoft Excel je souˇc´ast´ı kancel´aˇrsk´e sady Microsoft Office. Jedn´a se prim´arnˇe o tabulkov´y editor pro zaznamen´av´an´ı a anal´yzu pˇrev´aˇznˇe nume- rick´ych dat, kter´y je ˇsiroce vyuˇz´ıv´an i k reportingov´ym ´uˇcel˚um.[35] V´ysledn´y dokument obsahuje nˇekolik list˚u stejn´e struktury. Data v nich jsou ˇclenˇena do sloupc˚u a ˇr´adek, kter´e tvoˇr´ı buˇnky.

Do jednotliv´ych bunˇek lze kromˇe klasick´ych hodnot um´ıstit matematick´e vzorce, kter´e obvykle vyuˇz´ıvaj´ı vestavˇen´e nebo uˇzivatelem definovan´e funkce.

Ve vzorc´ıch jsou zpravidla um´ıstˇeny reference na jin´e buˇnky, kter´e v tomto

16Pozor na z´amˇenu s Fieldem u SSRS. Ten je definov´an na logick´e vrstvˇe, zde je Field zit vy v´yznamu buˇnky nebo pole.

(40)

kontextu slouˇz´ı jako zdrojov´a data pro v´ypoˇcet. Kaˇzdou buˇnku nebo roz- sah bunˇek lze jednoznaˇcnˇe identifikovat adresami sloupc˚u a ˇr´adk˚u. Je moˇzn´e ve vzorci odkazovat se na data um´ıstˇen´e v jin´em listu ˇci seˇsitu.

Pro uloˇzen´ı excelovsk´ych dokument˚u pouˇz´ıv´a sada Microsoft Office form´at Office Open XML (OOXML). Soubor uloˇzen´y na disku m´a nejˇcastˇeji pˇr´ıponu xlsx17 a jedn´a se o adres´aˇr komprimovan´y ve form´atu zip18. Obsahuje sou- bory spoleˇcn´e pro vˇsechny n´astroje sady a samozˇrejmˇe tak´e soubory typick´e pro Excel um´ıstˇen´e v podadres´aˇri xl. Tyto soubory jsou uloˇzeny ve form´atu XML19 a obsahuj´ı specifikace r˚uzn´ych objekt˚u, kter´e se pod´ıl´ı na v´ysledn´e podobˇe uspoˇr´ad´an´ı dat dokumentu.

Microsoft Excel neposkytuje ˇz´adn´e centralizovan´e ´uloˇziˇstˇe dokument˚u. N´a- stroj nech´av´a ´uloˇziˇstˇe plnˇe v rukou uˇzivatele. V ide´aln´ım pˇr´ıpadˇe m´a proto firma vlastn´ı dedikovan´e ´uloˇziˇstˇe s definovanou strukturou, kam autoˇri exce- lovsk´ych seˇsit˚u mohou soubory ukl´adat. Kv˚uli tomu konektor pro Excel nemus´ı ˇreˇsit extrakci tak, jako to ˇreˇs´ı ostatn´ı konektory. Vstupem pro konektor bu- dou sloˇzky, ve kter´ych m´a Excel dokumenty naj´ıt. Program tak mus´ı ˇreˇsit jen rozbalen´ı xlsx souboru a naˇcten´ı z´ıskan´ych XML specifikac´ı.

Tento reportingov´y n´astroj pochopitelnˇe podporuje extern´ı zdroje dat, tj.

dedikovan´e datab´aze i soubory vybran´ych sloupcov´ych form´at˚u. Informace o tˇechto datov´ych zdroj´ıch jsou um´ıstˇeny v souboru xl/connections.xml. Sa- motn´e dotazy pro z´ısk´an´ı dat z definovan´ych zdroj˚u Excel jsou uloˇzeny v jedn´e ze dvou variant.

1. Microsoft Query – vestaven´y n´astroj pro definici dotaz˚u. Pouˇz´ıv´a dotazovac´ı jazyk dle dan´eho extern´ıho zdroje. Ukl´ad´a cel´e dotazy a umoˇzˇnuje automatick´e aktualizace pˇri zmˇenˇe dat ve zdroji. V z´akladu podporuje ˇradu ovladaˇc˚u a umoˇzˇnuje i spojen´ı skrz ODBC20 ˇci dodan´e ovladaˇce.

2. Power Query M – v novˇejˇs´ıch verz´ıch nahrazuje Microsoft Query.

Tento samostatn´y n´astroj, kter´y je v rozˇs´ıˇren´ych verz´ıch bal´ıku Office dod´av´an, pouˇz´ıv´a vlastn´ı dotazovac´ı jazyk nazvan´yM. N´astroj um´ı kom- binovat dotazy nad r˚uzn´ymi zdroji dat a vytvoˇrit tzv. Data Mashup.

3.4.1 Datovˇe relevantn´ı objekty Excelu

V t´eto sekci budou rozebr´any jednotliv´e datovˇe zaj´ımav´e objekty, kter´e se

´

uˇcastn´ı datov´ych tok˚u v n´astroji Excel. Specifikace ˇrady z nich jsou uloˇzeny jako samostatn´e soubory v adres´aˇrixl.

17Pouˇz´ıvaj´ı se jeˇstˇe dalˇs´ı verze xls soubor˚u, ale pro ´cely t´eto postaˇc´ı anal´yza xlsx.

18Zip je form´at pro archivaci a kompresi dat.

19Typ uloˇzen´ych objekt˚u je d´ale upˇresnˇen souborem[ContentTypes].xml, kter´y je tak´e um´ıstˇen v xlsx souboru.

20Open Database Connectivity je rozhran´ı vyvinut´e Microsoftem pro pˇr´ıstup k dat˚um v datab´az´ıch za pouˇzit´ı SQL.[36]

(41)

3.4. Microsoft Excel Workbook (seˇsit)pˇredstavuje excelovsk´y dokument. Obsahuje odkazy na vˇsechny v nˇem um´ıstˇen´e listy. M˚uˇze tak´e obsahovat informace o objek- tech, kter´e jsou v r´amci list˚u sd´ılen´e, napˇr. cache kontingenˇcn´ı tabulky, referencovan´e extern´ı soubory, definovan´e n´azvy.

Worksheet (list) obsahuje informace o datech v nepr´azdn´ych buˇnk´ach.

Tyto informace jsou uloˇzeny po jednotliv´ych ˇr´adc´ıch.

Cell (buˇnka)m˚uˇze obsahovat r˚uzn´e typy, napˇr. ˇc´ıselnou hodnotu, ˇretˇezec, boolean21. Ukl´ad´a tak´e informaci o pˇr´ıpadn´em vzorci a posledn´ı vypoˇc- ten´e hodnotˇe.

Graphpouˇz´ıv´a data ve formˇe datov´ych ˇrad, tabulek nebo kontingenˇcn´ıch ta- bulek a vizualizuje je. Excel nab´ız´ı znaˇcn´e mnoˇzstv´ı r˚uzn´ych typ˚u grafu.

V´yhodou je, ˇze vˇsechny dodrˇzuj´ı velmi podobnou definovanou strukturu XML. Grafy se mohou vyskytovat na vlastn´ım typ˚u list˚u.

Data series (datov´a ˇrada)je kolekce souvisej´ıc´ıch hodnot, kter´e jsou ˇcasto um´ıstˇen´e v sousedn´ıch buˇnk´ach.[37] Jsou jedn´ım z nejbˇeˇznˇejˇs´ıch zdroj˚u dat pro grafy.

Native tablepatˇr´ı mezi definovan´e objekty. Vyuˇz´ıv´a data um´ıstˇena ve sloup- c´ıch. Vytvoˇrit ji lze ruˇcnˇe oznaˇcen´ım oblasti dat, nebo automaticky pˇri importu dat z extern´ıho zdroje. N´azvy nativn´ıch tabulek mus´ı b´yt unik´atn´ı v r´amci cel´eho seˇsitu, aby na nˇe ˇslo odkazovat strukturovanou referenc´ı.

Query table (dotazov´a tabulka)je dvourozmˇern´a tabulka reprezentuj´ıc´ı v´ysledek dotazu z extern´ıho zdroje. Tento druh tabulky nelze v n´astroji svobodnˇe vyuˇz´ıvat, vznik´a a je udrˇzov´an automaticky.

Static table pˇredstavuje obd´eln´ıkovou oblast dat, kter´a byla ruˇcnˇe zad´ana uˇzivatelem. Ve specifikac´ıch se tyto tabulky nevyskytuj´ı, je tˇreba je v lis- tech identifikovat a zav´est umˇele.

Pivot table22 je z´akladn´ım n´astrojem k porovn´an´ı dvou typ˚u dat.[38] Data jednoho typu jsou zobrazena ve sloupc´ıch a data druh´eho v ˇr´adc´ıch. Pivo- tov´e tabulky nelze vlastnoruˇcnˇe vyplˇnovat, protoˇze jsou zaloˇzen´e na da- tech jiˇz importovan´ych nebo vlastnoruˇcnˇe definovan´ych. Data pro ta- bulky se ukl´adaj´ı do pivot cache.

Pivot cachereprezentuje objekt, kter´y udrˇzuje repliku ˇc´asti datov´eho zdroje.

Nen´ı viditeln´a a je vˇzdy spojen´a s pivotovou tabulkou a dan´ym zdro- jem. [39] V pˇr´ıpadˇe zmˇen zdrojov´ych dat je potˇreba explicitnˇe aktuali- zovat kontingenˇcn´ı tabulku, ˇc´ımˇz dojde k aktualizaci jej´ı cache a t´ım i sum´arn´ıch hodnot v´ysledn´e kontingenˇcn´ı tabulky.

21Booleanovsk´e hodnoty jsou true a false, neboli pravda a nepravda.

22ekdy tak´e oznaˇcovan´a jako kontingenˇcn´ı tabulka.

(42)

Defined name (definovan´y n´azev)pˇredstavuje alias pro vzorec nebo jeho ˇc´ast. Pouˇz´ıv´a se pro zpˇrehlednˇen´ı komplikovan´ych vzorc˚u a explicitn´ı pojmenov´an´ı tabulek.

External connection (extern´ı datov´e spojen´ı)obsahuje informace o po- uˇzit´em datab´azov´em zdroji vˇcetnˇe connection stringu23 a command˚u, kter´e obsahuj´ı SQL dotazy.

External link (data extern´ıho seˇsitu)pˇredstavuje informace o pouˇzit´ych dat poch´azej´ıc´ıch z jin´eho seˇsitu. Informace o nich se uchov´avaj´ı v sou- borech um´ıstˇen´ych v adres´aˇri xl/externalLinks. Data z pouˇzit´ych list˚u jsou v nich fyzicky zkop´ırov´ana.

Slicer (Pr˚uˇrez) a slicer cachefiltruj´ı obsah tabulek. Slicer obsahuje defi- nici filtru a cache uchov´av´a potˇrebn´a metadata pro filtrov´an´ı.

Pro lepˇs´ı pochopen´ı z´avislost´ı mezi nˇekter´ymi z tˇechto objekt˚u uv´ad´ım dia- gram rozhran´ı (3.4) pro konektor Excel vytvoˇren´y v Mantˇe Danielem M´ıˇckem.

3.5 IBM Cognos

Cognos je webovˇe orientovan´a sada business intelligence softwarov´ych n´astroj˚u, vyv´ıjen´a firmou IBM, kter´a p˚uvodn´ı spoleˇcnost koupila v roce 2008. Tento

”ˇcistokrevn´y“ reportingov´y n´astroj byl navrˇzen s ohledem na netechnick´e pra- covn´ıky, aby jim umoˇznil z´ısk´avat data, analyzovat je, monitorovat r˚uzn´e me- triky a produkovat reporty pro pˇredpovˇed’ trend˚u trhu a podporu business rozhodnut´ı.[40]

Specifikace report˚u a model˚u, bal´ıˇcky importovan´ych dat, informace o uˇzi- t´ych datov´ych zdroj´ıch a dalˇs´ı z´asadn´ı soubory jsou ukl´ad´any v ´uloˇziˇsti zvan´em Content store. Jedn´a se o ´uloˇziˇstˇe zaloˇzen´e na relaˇcn´ı datab´azi. K pˇr´ıstupu do Content store se vyuˇz´ıv´aContent manager, coˇz je sluˇzba vyuˇz´ıvaj´ıc´ı JDBC24 API. [41] Pˇr´ıˇstup k t´eto sluˇzbˇe je umoˇznˇen v r´amci Cognos SDK25, kter´e m´a i sv˚uj Java bal´ık. Vyuˇzit´ı SDK bude z´asadn´ı pro extrakci specifikac´ı, protoˇze al- ternativn´ı zp˚usoby, mezi kter´e patˇr´ı napˇr´ıklad REST rozhran´ı bˇeˇz´ıc´ıho serveru Analytics26, jsou zastaral´e a nedostaˇcuj´ıc´ı.

Pro identifikaci objekt˚u uvnitˇr Content store se pouˇz´ıv´asearch path. Jedn´a se o jazyk pˇripom´ınaj´ıc´ı XPath27, kter´y vyuˇz´ıv´a vztah˚u rodiˇc-potomek napˇr´ıˇc adres´aˇri. Jak´ekoliv odkazy na extern´ı specifikace jsou uvedeny pr´avˇe formou search path. D˚uleˇzit´ym ´ukolem pro konektor bude umˇet tuto search path

23Connection string je ˇretˇezec obsahuj´ıc´ı informace pro pˇripojen´ı k datab´azi.

24JDBC je programov´e rozhran´ı pro pˇr´ıstup Java program˚u do bˇznˇe rozˇs´ıˇren´ych da- tab´az´ı.

25SDK (software development kit) je sada n´astroj˚u urˇcen´ych pro tvorbu a v´yvoj aplikac´ı.

26Tento zp˚usob se oznaˇcuje jako vyuˇzit´ı Mashup services.

27XPath se pouˇz´ıv´a pro navigaci v XML dokumentech.

Odkazy

Související dokumenty

” experimen- t´ aln´ıch“ pravidlech. Aplikaci si pak takov´ e syst´ emy najdou napˇ r´ıklad v pˇ redpovˇ edi poˇ cas´ı, skliznˇ e, pˇ ri ekonomick´ ych odhadech a tak´ e

C´ılem pˇ redloˇ zen´ e pr´ ace je n´ avrh a implementace vizualizaˇ cn´ı metody, kter´ a kombinuje obraz z barevn´ e a term´ aln´ı kamery.. Pˇ redpokl´ ad´ a se, ˇ

C´ılem bakal´aˇrsk´e pr´ace je n´avrh elektroniky rozhran´ı modulu iNemo M1, kter´e umoˇzn´ı pˇrenos zmˇeˇren´ ych dat do poˇc´ıtaˇce pomoc´ı vhodn´e

Bohuˇ zel, pr´ ace je pˇ r´ıliˇ s struˇ cn´ a, informace v n´ı jsou roztrouˇ seny, nen´ı celistv´ a, t.j.. chyb´ı v n´ı detaily, kter´ e jsou je pro

Vˇsechny obdrˇzen´e ´ukoly se daj´ı rozdˇelit do tˇr´ı z´akladn´ıch skupin, kter´e odpov´ıdaj´ı urˇcit ´ym v ´yvojov ´ym obdob´ım, kter ´ymi jsem v pr

Jedn´ım z posledn´ıch c´ıl ˚u diplomov´e pr´ace je odzkouˇsen´ı matematick´eho modelu i programu urˇcen´eho pro online nasazen´ı na re´aln ´ych datech, kter´e

V r´amci implementace t´eto diplomov´e pr´ace je implementov´ana metoda Bourdonova testu, jeˇz je souˇc´ast´ı skupiny v ´ykonov ´ych test ˚u, kter´e jsou dle diferenciace

Druh´ a ˇ c´ ast dat pouˇ zit´ ych v t´ eto pr´ aci tedy bude poch´ azet od spoleˇ cnosti Conseq, konkr´ etnˇ e z investiˇ cn´ı spoleˇ cnosti Amundi, kter´ a nab´ız´ı