Integrace BI open source nástroj. Bc. Ivo La²ek. ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta.

Rozměr: px
Začít zobrazení ze stránky:

Download "Integrace BI open source nástroj. Bc. Ivo La²ek. ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta."

Transkript

1 ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta Diplomová práce Integrace BI open source nástroj Bc. Ivo La²ek Vedoucí práce: Ing. Pavel Kordík, Ph.D. Studijní program: Elektrotechnika a informatika, strukturovaný, Navazující magisterský Obor: Výpo etní technika 10. ervna 2010

2 iv

3 v Pod kování Na tomto míst bych rád pod koval Ing. Pavlu Kordíkovi Ph.D. za cenné podn ty, rady a pomoc p i psaní této práce a svým blízkým za podporu v pr b hu mého studia.

4 vi

5 vii Prohlá²ení Prohla²uji, ºe jsem práci vypracoval samostatn a pouºil jsem pouze podklady uvedené v p iloºeném seznamu. Nemám závaºný d vod proti uºití tohoto ²kolního díla ve smyslu Ÿ60 Zákona. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o zm n n kterých zákon (autorský zákon). V Praze dne

6 viii

7 Abstract The aim of this work is to interconnect the application FAKE GAME with appropriate tools by Pentaho group. It acquaints readers with the possibilities of Pentaho tools exploitation in order to solve common business intelligence (BI) tasks. Based on a concrete example of the data mining application FAKE GAME it demonstrates the use of selected tools to extend a functionality of other software packages and shows the ways of extending the functionality of Pentaho platform itself. As a result of this work the application FAKE GAME is enhanced by the ability to retrieve data from a wide variety of sources with a help of Pentaho Data Integration. Moreover FAKE GAME application is integrated with Pentaho Data Integration and Pentaho BI platform. Abstrakt Tato práce si klade za cíl propojit aplikaci FAKE GAME s vhodnými nástroji z rodiny Pentaho. Seznamuje tená e s moºnostmi nástroj z této rodiny pro e²ení problém z oblasti business intelligence (BI). Na konkrétním p íklad data miningové aplikace FAKE GAME demonstruje vyuºití vybraných nástroj ve vlastních softwarových balících a ukazuje zp - soby roz²í ení funkcionality platformy Pentaho. Výsledkem práce je roz²í ení aplikace FAKE GAME o schopnost na ítat data ze ²iroké ²kály zdroj prost ednictvím Pentaho Data Integration a integrace aplikace FAKE GAME s nástroji Pentaho Data Integration a Pentaho BI platform. ix

8 x

9 Obsah 1 Úvod Motivace Cíl práce Struktura práce Business Intelligence (BI) Business Intelligence obecn Vymezení pojmu Typický BI proces Architektura BI systému Zdroje dat Sb r dat Ukládání dat Analýza dat Metadata Typy nástroj pro BI Tabulkové procesory ETL nástroje Nástroje pro vytvá ení report Online analytical processing (OLAP) Digitální nást nky (Dashboards) Dolování dat (Data mining) Dolování proces (Process mining) Informa ní systémy o území (Local Information System) Nástroje pro BI na trhu Open Source BI nástroje Pentaho Palo JasperSoft Eclipse BIRT Project RapidMiner Proprietární software xi

10 xii OBSAH 4 Analýza existujících nástroj Nástroje z rodiny Pentaho Pentaho Reporting Pentaho Analysis Pentaho Data Integration (PDI) Pentaho Data Mining Pentaho BI platform Webové rozhraní Pentaho Design Studio Pentaho Dashboards FAKE GAME Architektura systému a jeho roz²i itelnost Data Mining a jeho integrace v nástrojích Pentaho Moºnosti roz²í ení Pentaho Data Integration PDI API Pluginy pro PDI Moºnosti roz²í ení Pentaho BI platform Sekvence akcí Komponenty a pluginy Jednotlivé sou ásti pluginu Záv rem Vyuºití PDI API v rámci FAKE GAME Realizace Popis PDI API Závislosti a pouºité knihovny Roz²í ení FAKE GAME automatizovaného Data Mining Flow Testování FAKE GAME s vyuºitím PDI API Unit testy Na ítání dat z více zdroj Plugin pro PDI Realizace Nastavení vývojového prost edí Specický class loader Struktura FAKE GAME pluginu pro PDI Testování pluginu pro PDI Unit testy Vytvo ení testovacích transformací Porovnání s výsledky pluginu Weka scoring Plugin pro Pentaho BI platform Realizace Struktura projektu Nastavení vývojového prost edí FAKE GAME plugin pro PDI

11 OBSAH xiii Roz²í ení FAKE GAME automatizovaného Data Mining Flow Testování pluginu pro Pentaho BI platform Unit testy Vytvo ení testovacích sekvencí Záv r Zhodnocení dosaºených cíl Problémy integrace open-source nástroj Dal²í práce Literatura 69 A Seznam pouºitých zkratek 71 B Instala ní a uºivatelská p íru ka - PDI v rámci FAKE GAME 73 B.1 P edpoklady B.2 Instalace B.3 Pouºití C Instala ní a uºivatelská p íru ka - plugin pro PDI 75 C.1 P edpoklady C.2 Instalace C.3 Pouºití pluginu D Instala ní a uºivatelská p íru ka - plugin pro Pentaho BI 77 D.1 P edpoklady D.2 Instalace D.3 Pouºití E Ukázky nasazení FAKE GAME pluginu pro Pentaho BI 81 F Obsah p iloºeného CD 87

12 xiv OBSAH

13 Seznam obrázk 2.1 Architektura BI systému P íklad digitální nást nky v rámci Google Analytics Pracovní plocha Pentaho BI platform Operation Flow v aplikaci FAKE GAME. P íklad DMBatchProle [14] Realizace návrhového vzoru Strategy v rámci FAKE GAME Skládání report v rámci FAKE GAME Ukázka transformace vytvo ené pomocí PDI, kterou je FAKE GAME schopný zpracovat Ukázka tení dat z transformace za vyuºití návrhového vzoru Observer Vyuºití návrhového vzoru Template method pro tení dat z transformace Ukázka vy tení dat z csv souboru Transformace pro tení dat ze dvou r zných databází Transformace pro tení dat ze dvou r zných databází Ukázka rozhraní FAKE GAME pluginu pro PDI Aplikace návrhového vzoru Facade za ú elem odstín ní logiky FAKE GAME od zbytku PDI pluginu Transformace porovnávající výsledky klasikátor vytvo ených ve Wecce a výsledky klasikátor vytvo ených prost ednictvím FAKE GAME Zobrazení dosavadních výsledk transformace v PDI Transformace pro porovnání výsledk model vytvo ených pomocí FAKE GAME a Weky Výsledek transformace pro porovnání výsledk model vytvo ených pomocí FAKE GAME a Weky Ukázka zobrazeného FAKE GAME reportu v rámci Pentaho BI platform Dopln ní dal²ího zp sobu na ítání dat do jiº hotové architektury FAKE GAME Zm na zp sobu generování obrázk p i vykreslení FAKE GAME reportu Za len ní pluginu do sekvence akcí v prost edí Design Studio Výb r typu reportu Vizualizace datového souboru - ukázka histogram z FAKE GAME reportu v rámci Pentaho BI platform Propojení FAKE GAME s komponentou starající se o tení dat z rela ní databáze xv

14 xvi SEZNAM OBRÁZK C.1 Ukázka uºivatelského rozhraní FAKE GAME pluginu pro PDI D.1 Pracovní plocha v rámci Pentaho BI platform E.1 Denice jednoduchého workow v prost edí Action Sequence editoru - uºivatel je poºádán o výb r kongurace reportu, který si p eje vid t E.2 Vyhodnocení úsp ²nosti klasikátoru pomocí ROC k ivek. Datový soubor pro klasikaci kosatc, testovací strategie cross validation E.3 Jednoduchý formulá pro výb r strategie testování model porovnávaných v rámci FAKE GAME reportu. Formulá je kongurovaný pomocí Action Sequence editoru E.4 Vyhodnocení testování sestavených model - výb r toho nejlep²ího (v tabulce na obrázku je ozna ený tu n ). Datový soubor pro odhad spot eby vody mandarinkovníku, data rozd lena na trénovací a testovací mnoºinu E.5 Propojení pluginu s komponentou pro odesílání v prost edí Action Sequence editoru. Je tak moºné snadno sestavovat sekvence, kde je výsledný report na záv r odeslán mailem E.6 Andrewsovy k ivky pro datový soubor EEG novorozenc v rámci Pentaho BI platform E.7 Feature ranking pro vstupy z datového souboru Odhad prodejní ceny aut... 86

15 Seznam tabulek 4.1 Seznam nejd leºit j²ích servlet pro práci s Pentaho BI platform Seznam datových typ podporovaných v rámci Pentaho BI platform Seznam metod rozhraní org.pentaho.core.component.icomponent Seznam testovaných soubor dat Výsledky porovnání klasikátor vytvo ených pomocí Weky a FAKE GAME Adresá ová struktura projektu tvo ícího Pentaho BI plugin D.1 Seznam vstup FakeGame pluginu pro Pentaho BI platform xvii

16 xviii SEZNAM TABULEK

17 Kapitola 1 Úvod 1.1 Motivace Software tak, jak jsme jej donedávna znali, se m ní. Díky internetu dnes vytvá íme aplikace velmi snadno dostupné pro uºivatele kdekoliv na sv t. Denn p icházíme do styku s mnoºstvím informací, o kterém se nám d íve ani nesnilo. Práv mnoºství informací a jejich dostupnost je dnes hybnou silou moderní civilizace. Ov²em informace samy o sob nejsou zdaleka samospásné. Moºná je²t d leºit j²í neº jejich hromad ní je schopnost správn je vyhodnotit, tedy dokázat nashromáºd ná data ut ídit, stanovit jejich d leºitost a prezentovat zji²t né skute nosti v p ehledné form. S rostoucím výkonem moderních po íta a neustále se zvy²ující kapacitou záznamových médií jiº dnes není problém ukládat do nedávna tak ka nep edstavitelné mnoºství dat. Není v²ak v lidských silách v²echna takto nashromáºd ná data rozumov pojmout. Práv zde p ichází ke slovu Business Intelligence jako soubor postup a schopností podpo ených odpovídajícími informa ními technologiemi, které nám pomáhají dostupné informace správn vyhodnotit. šijeme v období digitalizace a s trochou nadsázky by se dalo íci, ºe papír denitivn prohrává bitvu o své místo na slunci. Díky tomu udrºování rozsáhlých databází dávno není doménou jen velkých bankovních dom a nadnárodních spole ností. Stále více pror stají informa ní technologie do státní správy. I malé rmy pouºívají specializovaný software pro vedení ú etnictví, udrºování informací o nabízeném zboºí. Zadávání a plánování práce probíhá p es softwarové nástroje pro ízení projekt. Monitorujeme pohyb nebo aktivitu osob, a uº jsou to zam stnanci i uºivatelé. V²echny tyto innosti mají jednoho spole ného jmenovatele. Tím je velké mnoºství r znorodých údaj, které máme ve nále k dispozici. Jejich správná analýza m ºe p inést obrovské úspory díky zefektivn ní pracovních proces, lep²ímu cílení reklamy, dokonalej²í kontrole apod. Open-source má na tomto poli hrát nemalou roli. Podle prognóz analytické spole nosti Gartner Research [15] a [16] se má podíl open-source nástroj pro Business Intelligence na trhu do roku 2012 zp tinásobit. Hlavním d vodem, pro se rmy k t mto nástroj m uchylují, je podle výzkumu úspora náklad. Open-source aplikace zatím v tomto oboru nedosahují funk ní úrovn svých velkých komer ních prot j²k, ov²em míra jejich nasazení rychle stoupá. 1

18 2 KAPITOLA 1. ÚVOD Podle Gartner Research se pr m rná cena za ro ní p edplatné pohybuje okolo dolar, ov²em objevují se i zakázky v hodnot aº dolar, coº uº odpovídá sazbám za komer ní produkty. Uºivateli komer ních e²ení jsou tradi n zejména rmy pohybující se ve nan ním sektoru a telekomunika ní spole nosti. Open-source nástroje naproti tomu vyuºívají spí²e st edn velké rmy a dále je moºné je nalézt i ve vládním a ve ejném sektoru nebo ve zdravotnictví. Velká ást úsp chu open-source v oblasti Business Intelligence tkví práv v jeho otev enosti. Mnoho nezávislých softwarových vývojá vyuºívá existující balíky, nebo jejich ásti a nasazuje je jako sou ást vlastních e²ení na míru. Jednodu²e tak vznikají nové BI platformy na základ jiº existujícího kódu. Podle Gartner Research je situace na trhu pro open-source momentáln p íznivá. Potenciální konkurence v podob poskytování Business Intelligence jako sluºby (software-as-aservice), coby cenov výhodn j²í varianta, je minimáln u ty hlavních komer ních hrá v této oblasti (IBM, Microsoft, Oracle a SAP) zatím v plenkách. Pro organizace snaºící se redukovat své náklady je open-source v sou asné dob nejsch dn j²í variantou. ƒinnost rmy Pentaho se v tomto kontextu jeví jako logické vyúst ní situace. Její obchodní model spo ívá v podpo e tým vyvíjejících n kolik open-source nástroj a nabízení t chto nástroj pod svou hlavi kou koncovým zákazník m. Vytvá í pomyslný most mezi vývojá i a uºivateli jejich d l. Zárove tato strategie (sdruºení r zných v tví vývoje pod jednu st echu) umoº uje t ºit ze vzájemných synergií. V neposlední ad Pentaho sponzoruje jednotlivé týmy a podporuje tak dal²í vývoj. P edplatné pro uºivatele znamená záruku stability, technické podpory a pravidelné distribuce aktualizací. Oblast dolování dat (data mining) je v tomto softwarovém balíku zastoupena velmi známým a hojn pouºívaným programem Weka. Ta v²ak zatím stále p sobí spí²e jako samostatný program a není p íli² integrována s ostatními nástroji z rodiny Pentaho. Otevírá se tak prostor k napojení FAKE GAME - aplikace vyvíjené na ƒvut, specializované na data mining a automatickou tvorbu report. FAKE GAME by tedy mohl slouºit jako zajímavá alternativa k Wecce. Krom toho m ºe hlub²í studium nástroj z rodiny Pentaho poskytnout cennou inspiraci pro roz²í ení funk nosti FAKE GAME a zacelení n kterých mezer jako nap íklad absence moºnosti na ítat data z databáze. 1.2 Cíl práce Cílem práce je zejména: Seznámení se stávající situací v oblasti Business Intelligence s d razem na open-source nástroje. Seznámení s technologickými moºnostmi nástroj z rodiny Pentaho. Analýza moºností vyuºití nástroj z rodiny Pentaho jako sou ásti vlastních e²ení. Roz²í ení aplikace FAKE GAME o moºnosti na ítání a integrace dat z r zných datových zdroj s vyuºitím technologických prost edk nástroj Pentaho.

19 1.3. STRUKTURA PRÁCE 3 Analýza roz²i itelnosti Pentaho BI platformy o dal²í funkcionalitu. Integrace FAKE GAME do Pentaho BI platformy, zp ístupn ní základní funkcionality aplikace v rámci platformy. 1.3 Struktura práce Práce je rozd lena do n kolika ástí: Teoretický úvod: Vymezení pojmu Business Intelligence a popis jednotlivých technik a typ nástroj spadajících do tohoto oboru. Tato ást zahrnuje i stru ný p ehled nejroz²í en j²ích aplikací s d razem na open-source e²ení. Kapitoly 2 a 3. Analytická ást: P edstavení stávající situace, seznámení s aplikacemi z rodiny Pentaho a FAKE GAME. Podrobný rozbor jednotlivých nástroj z rodiny Pentaho, popis lozoe celého projektu, p edstavení jeho architektury. Identikace moºností vyuºití stávajících funkcí ve vlastních aplikacích zejména s ohledem na FAKE GAME. Pr - zkum zp sob roz²i ování funkcionality platformy i aplikace FAKE GAME. Výb r vhodných nástroj a technik pro následnou realizaci. Kapitola 4. Realizace a testování: Vzhledem k tomu, ºe práce sestává v podstat ze t í projekt, odpovídají kapitoly 5, 6 a 7 t mto projekt m. Tyto kapitoly tedy obsahují popis konkrétní realizace jednotlivých projekt. Rozbor propojení FAKE GAME a Pentaho za ú elem na ítání dat z r zných zdroj (kapitola 5). Postup p i tvorb plugin pro n které nástroje z rodiny Pentaho (kapitoly 6 a 7). Výb r specických poznatk nasbíraných p i tvorb e²ení. Popis tvorby automatizovaných test pro pluginy Pentaho BI platformy. Vzorové nasazení implementovaných komponent. P edstavení výsledk testování s reálnými daty. Záv r: Zhodnocení dosaºených výsledk. Nastín ní dal²ích moºností integrace obou projekt.

20 4 KAPITOLA 1. ÚVOD

21 Kapitola 2 Business Intelligence (BI) 2.1 Business Intelligence obecn Vymezení pojmu Pod pojmem Business Intelligence se obecn rozumí soubor postup, nástroj, dovedností a znalostí vyuºívaných pro podporu rozhodování. N kdy bývá tento pojem zam ován s termínem Systém pro podporu rozhodování (Decision Support Systems DSS). Zde je t eba íci, ºe v p ípad BI se jedná o DSS zaloºený na datech. Dal²ími typy DSS mohou být nap. DSS zaloºené na modelech nebo znalostní DSS. Zárove [5] poukazuje na fakt, ºe pojem Business Intelligence má r zné významy v r zných kontextech. Z technického hlediska potom [5] denuje BI jako proces získávání, transformace, správy a analýzy obchodních dat za ú elem podpory rozhodování. Trochu precizn j²í denici uvádí [7]. Op t BI ozna uje mnoºinu nástroj a technik. Ty umoº ují spole nostem p em nit svá obchodní data na aktuální a p esné podklady pro rozhodování tak, aby byly dostupné správným osobám v co nejvhodn j²í form. Systémy pro Business Intelligence se tedy vyuºívají pro získání komplexního náhledu na stav spole nosti, rozpoznání faktor, které ovliv ují její innost, a zárove pomáhají vytvá et a rozvíjet nové obchodní strategie. Cílem je umoºnit rozhodování podloºené reálnými daty za ú elem získání konkuren ní výhody díky schopnosti rychleji identikovat zm ny a reagovat na n, zvy²ovat ziskovost a efektivitu a obecn vytvá et p idanou hodnotu pro spole nost Typický BI proces Typický proces v rámci BI sestává podle [11] z p ti stup : Sb r dat: BI systém je schopný na ítat data z r zných zdroj (nap. databází, soubor, webových sluºeb, z výstup ostatních aplikací a systém ). Sb r dat zahrnuje i jejich p edzpracování ( i²t ní, opravu neúplných záznam, integraci) a p ípravu pro následnou analýzu. Analýza dat: Dále jsou sesbíraná data p evedena na uºite né informace za pomoci nejr zn j²ích technik zahrnujících tvorbu report, modelování, vizualizaci dat a jejich 5

22 6 KAPITOLA 2. BUSINESS INTELLIGENCE (BI) vyt ºování (data mining). Cílem je poskytnout globální a p ehledný náhled na získaná data a umoºnit tak fundovaná rozhodnutí. Pochopení situace (Situation awareness): Pod tímto pojmem rozumíme fázi, kdy jsme jiº díky p edchozím stup m získali dobrý p ehled o stávající situaci a máme tak poloºeny základy pro rozumné rozhodování. Jde tedy zejména o nalezení logických souvislostí mezi informacemi a odltrování ned leºitých skute ností. Posouzení rizika: Celý BI proces je o tvorb rozhodnutí na základ odhadu budoucího vývoje. P i tomto odhadu vycházíme z dat, která máme k dispozici. P i tvorb rozhodnutí je tedy t eba porovnat rizika moºných variant, které se nám otevírají. Podpora rozhodování (Decission support:) Jak jsem jiº zmínil, hlavním cílem BI je umoºnit manaºer m rozhodovat se chyt e podle aktuálních dat Architektura BI systému Typický BI systém sestává podle [5] ze ty skupin komponent a z metadat, která umoº ují spolupráci t chto komponent. Základní architektura BI systému je nazna ena na obrázku 2.1. Obrázek 2.1: Architektura BI systému Zdroje dat Jako zdroje dat slouºí p eváºn Online Transaction Processing (OLTP) systémy pro podporu b ºných obchodních proces. Typickými zástupci jsou nan ní systémy, nebo nejr zn j²í nástroje pro personalistiku, ízení zdroj a ízení vztah se zákazníky. Data je ov²em asto

23 2.1. BUSINESS INTELLIGENCE OBECN 7 t eba na ítat i ze zastaralých legacy systém. Krom strukturovaných dat na tených nap. z rela ních databází se tak setkáváme i s textovými soubory a excelovskými tabulkami, asto vytvo enými ru n. Velká rozmanitost zdroj dat a jejich astá neúplnost klade velké nároky na jejich následný sb r Sb r dat Sb r dat zahrnuje zárove jejich p edzpracování a skládá se ze t í fází: Získání dat (Extracting): Zahrnuje na tení dat z r zných zdroj, kterými mohou být nejr zn j²í databáze, textové soubory, tabulky, výstupy webových sluºeb apod. Transformace dat (Transforming): Vzhledem k r znorodosti na tených dat je pot ebujeme p ed dal²ím zpracováním p íslu²n upravit. Jedná se o jejich vy i²t ní (odstran ní nesmyslných hodnot), sjednocení (p evod odpovídajících záznam na stejný formát) a agregaci (seskupení do logických celk ). Nahrávání dat (Loading): Nakonec jsou data nahrána do centrálního datového skladu. Z anglických výraz Extract, Transform and Load se pro ozna ení tohoto sb ru a p edzpracování dat uºívá zkratka ETL. ETL je základní sou ástí BI systému a determinuje kvalitu dat pro zpracování v²emi dal²ími komponentami. V e²tin se pro ETL n kdy pouºívá pojem datová pumpa. Jedním z ukazatel vysp losti takové datové pumpy je krom kvality produkovaných dat i rychlost jejich "pumpování"do datového skladu. Objemy dat, s nimiº se pracuje jsou totiº obvykle velmi velké Ukládání dat Data zpracovaná pomocí ETL jsou dále uchovávána v datovém skladu (anglicky data warehouse). Datové sklady jsou realizovány bu pomocí speciálních datových struktur, nebo s vyuºitím b ºných rela ních databází. Od rela ních databází se ov²em li²í. Podle denice Williama Inmona [2] je datový sklad: orientovaný na subjekt (ukládání dat ve snadno itelných strukturách za cenu zvý²ených nárok na pam ový prostor - na rozdíl od rela ních databází kladoucích d raz na co nejmen²í redundanci dat) zachovávající historii (zpravidla obsahuje i historické údaje a ne jen aktuální stav dat) neprom nlivý (data se nahrávají ve v t²ích dávkách - nap. jednou denn - a dále uº se zpravidla nem ní) integrovaný (data jsou seskupena podle logického významu bez ohledu na jejich zdroj) Data jsou ukládána s ohledem na rychlé provád ní sloºitých analytických dotaz bez nutnosti záznamy p íli² asto m nit. Za tímto ú elem obsahuje datový sklad faktové tabulky (obsahují vlastní analyzovaná data) a dimenze (tabulky obsahující záznamy slouºící k t íd ní dat ve faktových tabulkách). Podle hierarchického uspo ádání dimenzních tabulek rozeznáváme dv nejoblíben j²í schemata datových sklad :

24 8 KAPITOLA 2. BUSINESS INTELLIGENCE (BI) Hv zda: Dimenzní tabulky jsou p ímo navázány na faktové. Vlo ka: Dimenzní tabulky mohou být na faktové navázány nep ímo p es dal²í dimenzní tabulky Analýza dat Nad daty v datovém skladu jiº operují nejr zn j²í analytické nástroje. Cílem je poskytnout p ehledný náhled na data p ístupný i pro b ºné uºivatele bez hlub²ích technických znalostí - typicky manaºery rem, kte í tak dostávají snadno dostupné relevantní podklady pro své rozhodování. Do této skupiny adíme reportovací nástroje, OLAP (Online Analytical Processing) nástroje a technologie pro dolování dat (data mining). Dal²í e²ení pracující s daty z datového skladu mohou zahrnovat digitální nást nky, informa ní systémy, napojení systém pro ízení vztah se zákazníky (Customer Relationship Management - CRM) apod. Podrobn ji jsou zmín né typy nástroj rozebrány v následující kapitole Metadata Metadaty rozumíme informace o samotných datech proudících v systému. Jedná se nap. o údaje o zdrojích dat, typu úloºi²t v datovém skladu, p ístupových právech a zp sobu tení a transformace jednotlivých záznam. 2.2 Typy nástroj pro BI Zatím jsme se dívali na BI systém jako na celek a p edstavili jsme si jeho obecnou architekturu. Existuje nep eberné mnoºství nástroj, které je moºné za adit do kategorie Business Intelligence, av²ak jedná se jen o díl í sou ásti celého systému. Jednotlivé komponenty mohou docela dob e fungovat i samostatn a plnit svou funkci nezávisle. Dává smysl nap. nasadit reportovací nástroj nad stávající remní databází a nemusíme kv li tomu nutn vytvá et specializovaný datový sklad. Stejn tak m ºeme vyuºít ETL nástroje pro p esun a transformaci dat v rámci stávajících remních proces, aniº bychom p esunutá data cht li nutn analyzovat. Stejn tak dolování dat lze provozovat samostatn bez nutnosti budování datového skladu, mnohé data miningové nástroje zahrnují vlastní moºnosti p edzpracování dat a denice vlastních datových tok. Poj me si tedy p edstavit jednotlivé skupiny BI aplikací Tabulkové procesory Vzhledem k jejich obrovské popularit a vyuºití tém v kaºdé rm je do skupiny BI nástroj moºné za adit i tabulkové procesory. Nejznám j²ími zástupci jsou beze sporu Microsoft Excel a jeho open-source prot j²ek OpenOce Calc. Dal²ím zástupcem m ºe být nap. rovn º open-source KSpread. ƒasto za íná proces sb ru remních dat práv od jednotlivých soubor ve formátu n kterého tabulkového procesoru. Uspo ádání dat do formátu tabulek je pro BI pom rn typické, druhou velkou skupinu potenciálních zdroj dat tvo í rela ní databáze, kde jsou data rovn º organizována tabelárn.

25 2.2. TYPY NÁSTROJ PRO BI ETL nástroje Jedná se o nástroje realizující ETL proces popsaný v kapitole Zpravidla je k dispozici gracké uºivatelské rozhraní, jehoº prost ednictvím je moºné celý proces tení, transformace a nahrávání dat pohodln nakongurovat. Takto nadenovaný proces je následn uloºen a m ºe být zpracováván v p ípad pot eby dávkov. Nejznám j²ími open-source nástroji z této kategorie jsou pravd podobn Apatar, CloverETL nebo Pentaho Data Integration. Samoz ejm i komer ní hrá i mají své zástupce v této oblasti, jmenujme nap. BusinessObjects Data Integrator, Oracle Warehouse Builder nebo Informaticu Nástroje pro vytvá ení report Základním produktem BI systém jsou reporty. Reportovací nástroje v tomto kontextu slouºí pro návrh a generování t chto report. Typicky je k dispozici aplikace pro vytvá ení ²ablon. Zde je moºné nastavit v podstat libovolný vzhled odpovídající remním standard m. Nástroje disponují prost edky pro pln ní report daty z rozli ných zdroj po ínaje r znými druhy databází, p es textové soubory, soubory tabulkových procesor, XML a HTML soubory aº po webové sluºby a napojení na nejr zn j²í proprietární e²ení. Reporty je moºné generovat op t do mnoºství formát jako PDF dokumenty, HTML stránky, XML soubory, ve formátu soubor kancelá ských aplikací atd. Ú elem t chto nástroj je vytvá et p ehledné obchodní reporty poskytující manaºer m nap. údaje o prodeji, výkonnosti jednotlivých odd lení, stavu lidských zdroj ve rm, stavu nancí apod. Reporty jsou generovány prost ednictvím provád ní p eddenovaných dotaz nad uloºenými daty. Vzhledem k tomu, ºe sestavení t chto dotaz není úpln triviální a v t²inou vyºaduje zásah vývojá e nebo správce datového skladu, jsou tyto reporty p eváºn statické a moºnosti jejich ovlivn ní ze strany manaºera jsou velmi omezené. Reportovací nástroje asto poskytují vlastní rozhraní a je tak moºné jejich funkcionalitu vyuºít v dal²ích aplikacích, které n jakým zp sobem pot ebují prezentovat zpracovávaná data Online analytical processing (OLAP) ir²í moºnosti, co se interaktivity tý e, poskytují OLAP (Online Analytical Processing) nástroje. Ty umoº ují koncovým uºivatel m procházet data podle r zných dimenzí. Dimenzí se rozumí r zná kritéria t íd ní dat (nap. podle regionu, typu výrobku, data, prodejce). Oproti klasickým report m m ºe tak uºivatel exibiln a jednodu²e ovlivnit, jaká data chce zobrazit. Uspo ádání dat, tak aby je bylo moºné efektivn ltrovat podle t chto dimenzí, se íká datová kostka neboli data cube. OLAP tedy jinými slovy znamená analýzu velkého mnoºství dat v reálném ase. Na rozdíl od OLTP systém, kde typickými operacemi jsou tení a zm na relativn malého po tu záznam, OLAP pracuje s velkými objemy dat a operace jsou zpravidla pouze tecí. Sl vko Online v názvu znamená, ºe p es obrovské mnoºství zkoumaných dat (typicky mnoho milion záznam, zabírajících ádov gigabyty), musí systém reagovat dostate n rychle, aby bylo moºné data zkoumat interaktivn.

26 10 KAPITOLA 2. BUSINESS INTELLIGENCE (BI) OLAP nástroje generují asto velmi komplikované databázové dotazy a je tudíº nutné data p edem uspo ádat, jak jiº bylo popsáno v kapitole o ukládání dat, aby systém dokázal reagovat rozumn rychle. Podle toho, v jaké form OLAP servery ukládají data, rozli²ujeme tyto typy: MOLAP (multidimensional OLAP) - data jsou na disku ukládána ve strukturách optimalizovaných pro vícerozm rný p ístup. ROLAP (relational OLAP) - data jsou uloºena v rela ní databázi. HOLAP (hybrid OLAP) - ukládá nejpodrobn j²í záznamy v rela ní databázi, ale agregované hodnoty udrºuje ve vícerozm rných strukturách Digitální nást nky (Dashboards) Digitální nást nky jsou informa ní systémy, jejichº jádrem je uºivatelské rozhraní zobrazující informace sesbírané z r zných ástí systému pohromad a jednotným zp sobem. M ºe se jednat nap íklad o nejd leºit j²í informace shromáºd né z r zných report apod. Krom digitálních nást nek jako desktopových aplikací se s nimi setkáváme u webových aplikací, jak nazna uje obrázek 2.2, nebo jako malých roz²í ení opera ního systému, i webového prohlíºe e (widgets). Obrázek 2.2: P íklad digitální nást nky v rámci Google Analytics Dolování dat (Data mining) V p ípad dolování dat (data mining) je cílem odhalit skryté a potenciáln zajímavé informace. Na po átku tedy na rozdíl od p edchozích metod nemusíme p esn znát pravidla

27 2.2. TYPY NÁSTROJ PRO BI 11 a souvislosti mezi daty, která se chystáme zkoumat. Základy dolování dat jsou zaloºeny na statistických metodách jako je regresní analýza, postupem asu se p idaly dal²í metody jako je vyuºití neuronových sítí, genetických algoritm, rozhodovacích strom a algoritmy podp rných vektor. N které data miningové nástroje umoº ují vytvo ené modely exportovat do formátu PMML (Predictive Markup Model Language), coº je formát zaloºený na XML, který umoº- uje vým nu model mezi jednotlivými aplikacemi. Ze znám j²ích open-source nástroj podporují tento formát nap. R Project, Weka a KNIME Dolování proces (Process mining) O n co speci t j²í je disciplína dolování proces. Jde o analýzu záznam událostí produkovaných informa ními systémy. Na základ t chto záznam jsou hledány modely pracovních proces, p ípadn jsou záznamy porovnávány s jiº existujícími modely. Pro analýzu záznam se vyuºívá tak zvaný α-algoritmus [8] Informa ní systémy o území (Local Information System) Jak uº název napovídá, jedná se o informa ní systémy poskytující statistická data vztaºená k n jakému místu. M ºe se jednat nap. o demogracké údaje.

28 12 KAPITOLA 2. BUSINESS INTELLIGENCE (BI)

29 Kapitola 3 Nástroje pro BI na trhu V p edchozí kapitole jsme si p edstavili obecnou architekturu BI systému a popsali jednotlivé sou ásti. V praxi ne v²echny nástroje disponují v²emi popsanými funkcemi. V této kapitole se podíváme na nejvýrazn j²í zástupce z oblasti open-source software a stru n si p edstavíme jejich moºnosti. V záv ru kapitoly se krátce zmíníme i o n kterých proprietárních e²eních. 3.1 Open Source BI nástroje Pentaho Pentaho sdruºuje pod svou hlavi kou n kolik p vodn samostatných open-source projekt : Kettle pro ETL, momentáln pod názvem Pentaho Data Integration JFreeReport pro reportování, momentáln pod názvem Pentaho Reporting Mondrian a JPivot pro OLAP, momentáln pod názvem Pentaho Analysis Weka pro dolování dat, momentáln pod názvem Pentaho Data Mining Vývoj v²ech t chto produkt Pentaho aktivn podporuje a zárove p idává vlastní nástroj Pentaho BI Platform, coº je v podstat webová platforma sdruºující v²echny nástroje dohromady a umoº ující jejich propojení navzájem. V rámci BI Platform je moºné provozovat dal²í nástroj, jímº jsou digitální nást nky - Pentaho Dashboards. Jedná se tedy opravdu o ucelený balík poskytující kompletní Business Intelligence e²ení. K dispozici jsou dv verze: open-source Community Edition a placená Enterprise Edition Palo Dal²ím zástupcem distribuujícím vlastní produkt zdarma je n mecká rma Jedox se svým balíkem Palo. Palo se skládá z následujících základních komponent: Palo OLAP Server: Data jsou organizována vícerozm rn a uloºena v pam ti, coº umoº uje rychlé zpracování dotaz. Palo OLAP Server umoº uje vyuºít API pro Visual Basic, PHP, C++, Javu a.net. Je tak moºné jej relativn jednodu²e roz²í it o dal²í funkce. 13

30 14 KAPITOLA 3. NÁSTROJE PRO BI NA TRHU Palo Web: Podobn jako Pentaho i Palo nabízí pro p ístup ke v²em svým základním komponentám prost ednictvím webového rozhraní. Je tak moºné produkovat webové reporty, organizovat OLAP databáze a monitorovat ETL procesy v systému. Palo for Excel: K dispozici je roz²í ení pro Excel (a OpenOce Calc), které slouºí v podstat jako uºivatelské rozhraní pro práci s OLAP databází. Palo ETL Server: Webový nástroj pro sb r dat z r zných zdroj zahrnujících rela ní databáze, webové sluºby, ale disponující t eba i p ímým napojením na SAP. Obchodní model je podobný jako u Pentaho. Balík je nabízen ve dvou verzích jako opensource a jako placená "premium version" JasperSoft Spole nost JasperSoft je známá p edev²ím díky velmi populárnímu reportovacímu nástroji JasperReports. JasperReports je moºné vyuºít jako knihovnu (je napsaný v Jav ), pokud pot ebujeme ve vlastních aplikacích produkovat sostikované reporty. Reporty jsou denovány pomocí soubor v XML formátu, které mohou být vytvo eny ru n, generovány automaticky n jakou vlastní aplikací, nebo sestaveny pomocí grackého nástroje (nap. ireport). Postupem asu se v rámci projektu vyvinuly i dal²í BI aplikace a nyní JasperSoft podobn jako p edchozí dva zástupci nabízí celý balík nástroj : JasperETL, JasperAnalysis (op t zaloºený na kombinaci Mondrian a JPivot) a JasperServer (sdruºující jednotlivé komponenty v rámci webové platformy) Eclipse BIRT Project Na rozdíl od ostatních se v p ípad projektu BIRT (Business Intelligence Reporting Tools) jedná pouze o reportovací nástroj postavený nad vývojovým prost edím Eclipse. Umoº uje vytvá et sostikované, interaktivní webové reporty. Sestává z n kolika variant nástroj pro návrh report a a dále z nástroj pro následnou práci s nimi (prohlíºení, interaktivní funkce apod.). Denice report se op t ukládá v XML formátu a data je moºné erpat ze ²iroké ²kály zdroj od SQL databází, p es XML soubory a webové sluºby aº po staré dobré javovské objekty (POJO) a Java Data Objects (JDO). Dal²ím zajímavým aspektem projektu jsou ²iroké moºnosti nasazení vytvo ených report. Krom jiº zmín ných prohlíºe je k dispozici Java API, umoº ující vyuºívání reportovacích funkcí ve vlastních aplikacích. Krom toho nabízí BIRT i n kolik variant webových e²ení pro sdílení a práci s reporty od odleh eného repozitá e aº po pln funk ní reportovací server. Nov je na stránkách projektu nabízena i moºnost vyuºití hostovaného e²ení - Birt ondemand RapidMiner RapidMiner je zam ený zejména na dolování dat. Nicmén disponuje i základními ETL funkcemi pro na ítání dat a je moºné doinstalovat roz²í ení pro produkci report - zejména v PDF a HTML formátu. Aplikace umoº uje pomocí grackého rozhraní denovat proces zpracování dat a poskytuje r zné druhy náhled na n. K dispozici je ²iroká ²kála graf. Dal²í

31 3.2. PROPRIETÁRNÍ SOFTWARE 15 aplikace z této rodiny v t²inou roz²i ují funkce RapidMineru nebo na nich dále staví. Rapid- Analytics je webový server slouºící jako repozitá, umoº ující plánování report, vzdálený p ístup a správu p ístupových práv. Na RapidMineru jsou potom zaloºené nap. aplikace RapidSentilizer pro sb r novinek na internetu, jejich t íd ní a vyhodnocování publikovaných názor s pomocí technik pro dolování dat a dolování informací z text (je tak moºné nap. vyhodnocovat úsp ²nost PR kampaní) a RapidDoc pro automatickou kategorizaci elektronických dokument. 3.2 Proprietární software Pro úplnost jmenujme krátce nejv t²í poskytovatele proprietárních BI e²ení, a koliv jejich hlub²í rozbor je nad rámec této práce. K nejvýrazn j²ím pat í gigant Oracle s Oracle Business Intelligence Enterprise Edition Plus, n mecká softwarová a konzultantská rma SAP a jejich BusinessObjects (získaným koupí francouzské rmy Business Object v roce 2007), IBM a jejich BI e²ení Cognos nebo Microstrategy a jejich stejnojmenná rodina nástroj Microstrategy. Jedná se o zavedené rmy s velmi silnou pozicí na trhu, ov²em výhodou open-source aplikací m ºe být jejich v t²í exibilita a schopnost rychleji reagovat na nové trendy, jakými je nap. decentralizace BI proces a v sou asné dob moderní cloud computing. V této souvislosti bych rád zmínil je²t t etí sm r, který se snaºí skloubit výhody obou p ístup - spolehlivost proprietárního e²ení a nízké po izovací náklady typické pro open-source. Tímto p ístupem je poskytování BI jako sluºby a ne jako balíkového produktu. Jedním ze zástupc v této oblasti je i rma s áste n eským obsazením - GoodData. GoodData nabízí BI nástroje ist prost ednictvím webového rozhraní. Data jsou nahrávána na server GoodData a dále je moºné s nimi pracovat prost ednictvím webového prohlíºe e. Tento p ístup mimo jiné p iná²í uº ze své podstaty snaz²í teamovou spolupráci a sdílení jednotlivých projekt. Oba dynamické p ístupy jak open-source, tak BI jako sluºba mohou ale dle mého názoru narazit na jistou konzervativnost velkých institucí, které jsou momentáln uºivateli komer ních produkt. Tito klienti mohou pom rn t ºce nést riziko nestability a poskytování vlastních dat t etím stranám související s bezpe nostními hrozbami. Jakkoliv jsou tyto d vody v mnoha p ípadech spí²e psychologické.

32 16 KAPITOLA 3. NÁSTROJE PRO BI NA TRHU

33 Kapitola 4 Analýza existujících nástroj Jak jiº bylo nazna eno v kapitole 1.2 aplikace FAKE GAME zatím nedisponuje ºádným so- stikovan j²ím nástrojem pro na ítání dat z r zných zdroj. Jako datový zdroj v sou asnosti slouºí výhradn textové soubory. Pentaho poskytuje mimo jiné i nástroje slouºící výhradn tomuto ú elu. Jeví se tedy jako ú elné prozkoumat je a zjistit, zda není moºné vyuºít jejich potenciál v rámci FAKE GAME. Vzhledem k tomu, ºe Pentaho a FAKE GAME jsou si tématicky velmi blízké jako opensource Business Intelligence nástroje, má smysl rovn º zjistit, zda je moºné FAKE GAME n jakým zp sobem s Pentaho integrovat a vyuºít tak potenciál ²iroce pouºívané a uznávané platformy, kterou Pentaho bezesporu je. Zárove pro Pentaho m ºe FAKE GAME znamenat dopln ní portfolia data miningových funkcí. V dal²ích n kolika kapitolách tedy podrobn ji prozkoumáme oba softwarové balíky, zejména pak jejich moºnosti propojení s jinými systémy. 4.1 Nástroje z rodiny Pentaho Jak jiº bylo e eno jedná se o celý balík nástroj pro Business Intelligence. Je to produkt stejnojmenné rmy zaloºené v roce 2004 n kolika veterány v oblasti Business Intelligence. Tento balík tvo í n kolik p vodn nezávisle vyvíjených nástroj, které jsou postupn integrovány navzájem práv pod hlavi kou Pentaho. Následuje tedy vý et jednotlivých komponent Pentaho Reporting Jádrem Pentaho Reporting je Pentaho Report Designer (vyvinul se z p vodn samostatného nástroje JFreeReport). Jde o klasickou grackou aplikaci ur enou pro návrh vzhledu report a denici zdroj dat, kterými se má report naplnit. V²echny takto navrºené reporty je moºné rovnou exportovat do souboru poºadovaného formátu (na výb r je PDF, HTML, textové soubory, CSV soubory, soubory pro Excel a Rich text format soubory). Druhou moºností je publikovat vytvo ené soubory p ímo v rámci Pentaho BI Platform. Reporty jsou tak dostupné uºivatel m p es webové rozhraní. Díky tomu je moºné jim nastavit r zná p ístupová práva, nebo nap. nastavit jejich pravidelné generování a rozesílání zainteresovaným osobám em. Tuto moºnost - tedy distribuovat výsledné produkty p es BI 17

34 18 KAPITOLA 4. ANALÝZA EXISTUJÍCÍCH NÁSTROJ Platform - nabízí, jak pozd ji uvidíme v podstat v²echny nástroje z rodiny Pentaho. Tento p ístup umoº uje jejich vzájemné propojení a tím tvorbu komplexn j²ích e²ení. Pentaho Report Designer disponuje t emi typy datových zdroj : Data source - Je vyuºíván pro p ístup k rela ním, OLAP, Pentaho metadata a XML datovým zdroj m. Jedná se tedy o nejobvyklej²í zdroje dat. Custom data source - Umoº uje vyuºívat datové zdroje, které nejsou p ístupné pomocí JDBC nebo XQuery. Tato moºnost vyºaduje naprogramování n kolika t íd v Jav, které umoºní p ístup k poºadovanému datovému zdroji. Data properties - Pomocí Data properties datového zdroje je moºné p edat jednoduché hodnoty jako nap. název rmy nebo aktuální datum. Vyuºívá se pro p edání t chto hodnot jako vstup v p ípad, ºe je report spou²t n v n jaké sekvenci akcí v rámci Pentaho BI Platform (více informací o sekvencích akcí je uvedeno v kapitole 4.5.1). Pro p ístup k rela ním databázím je vyuºíváno JDBC (Java Database Connectivity), p ípadn JNDI (Java Naming and Directory Index) pro ur ení datového zdroje v rámci webového serveru. Data se získávají b ºnými SQL dotazy. Pentaho je standardn dodáváno s drivery pro tyto databáze: Hypersonic MySQL Postgres Derby DB2 H2 Oracle Není v²ak problém dodat v p ípad pot eby drivery vlastní. P ístup k OLAP datovým zdroj m (v rámci Mondrian) je op t realizován p es JDBC, ov²em musíme nahrát i soubor s popisem schematu p íslu²ného zdroje (.mondrian.xml). Data získáváme pomocí MDX (Multidimensional Expressions), tedy standardního dotazovacího jazyka pro OLAP databáze). Pentaho Metadata zdroje jsou p ístupné rovn º p es JDBC v kombinaci s validním metadata modelem (reprezentovaným.xmi souborem). Informace teme díky Pentaho MQL (Metadata Query Language). MQL je syntax, který uplat uje Pentaho Metadata pro generování SQL dotaz nad metadaty. Pentaho Metadata je projekt vyuºívaný v rámci Pentaho BI Platform a Pentaho Reporting. Jeho cílem je usnadnit koncovým uºivatel m p ístup k datovým zdroj m. Umoº uje administrátor m denovat ur itou abstraktní vrstvu nad samotnou databází, která dokáºe

35 4.1. NÁSTROJE Z RODINY PENTAHO 19 prezentovat uloºené informace koncovým uºivatel m ve stravitelné form. Zárove lze nastavit individuální zabezpe ení a p ípadn omezit p ístup k n kterým dat m nebo upravit formát dat a lokalizovat uloºené záznamy. XML datové zdroje jsou p ístupné standardn p es XQuery. Je t eba, aby ve²kerá data byla uloºena v jednom souboru. V neposlední ad je moºné získávat data i z dal²ího nástroje z rodiny Pentaho a tím je Pentaho Data Integration (popsáno podrobn v kapitole 4.1.3). Díky tomu získáváme zprost edkovan p ístup k dal²í obrovské ²kále datových zdroj, které nemusí p ímo podporovat Pentaho Report Designer. Nasazení je jednoduché - musíme pouze vybrat soubor s p íslu²nou transformací navrºenou pomocí Pentah Data Integration a krok transformace, z n hoº si p ejeme data íst Pentaho Analysis Pod krycím názvem Pentaho Analysis se, jak je v p ípad Pentaho obvyklé, skrývá p vodn samostatný nástroj Mondrian. Ve dvou v tách: Mondrian je OLAP stroj naprogramovaný v Jav. Provádí dotazy napsané v MDX (Multi-Dimensional expressions) jazyce, te data z rela ní databáze a prezentuje je ve vícerozm rné form prost ednictvím Java API. Princip OLAP byl obecn popsán jiº v kapitole Zde se tedy podíváme na konkrétní realizaci v rámci Mondrian. Systém se skládá ze ty vrstev: Prezenta ní vrstva - Ozna uje jednodu²e uºivatelské rozhraní pro koncové uºivatele. Umoº uje klást dotazy a pracovat se získanými daty. Je mnoho zp sob, jak zobrazovat vícerozm rné soubory dat. Mezi n pat í pivotové tabulky (pivot tables), nejr zn j²í druhy graf, ale i pokro ilé vizualiza ní nástroje jako interaktivní mapy apod. V p ípad Mondrian m ºou jako takovéto klientské rozhraní slouºit komponenty napsané ve Swingu nebo JSP, grafy vykreslené jako obrázky, nebo mohou být data poslána pomocí XML jiné aplikaci. V²echna klientská e²ení mají spole nou gramatiku, ve které odesílají (MDX) dotazy OLAP serveru a v níº dostávají odpov di. Dimenzionální vrstva - Parsuje, validuje a provádí MDX dotazy. Tedy odesílá po- ºadavky na tení jednotlivých hodnot sb rné vrstv. Sb rná vrstva - Je zodpov dná p edev²ím za udrºování cache agregovaných záznam. Agregovanými záznamy rozumíme p edpo ítaný soubor m itelných hodnot (bun k) seskupených podle ur ité mnoºiny dimenzí. Dimenzionální vrstva tedy vy²le poºadavek na mnoºinu bun k. Pokud je tato mnoºina v cache, nebo je moºné ji odvodit zobecn ním uloºených záznam, je vrácena. V opa ném p ípad vy²le správce sb rné vrstvy poºadavek na ukládací vrstvu. Ukládací vrstva - Je zodpov dná za uchovávání dat. V p ípad Mondrian se jedná o rela ní databázi. Základní ideou je p enechat databázi co nejvíce operací. Agregované hodnoty jsou získávány provád ním GROUP BY dotaz. Vedlej²ím efektem tohoto p ístupu (kdy Mondrian nevyºaduje ºádné vlastní úloºi²t ) je velmi snadná integrovatelnost celého systému jako prostého JAR archivu.

36 20 KAPITOLA 4. ANALÝZA EXISTUJÍCÍCH NÁSTROJ Pro klientské aplikace je k dispozici proprietární API, které se ov²em neli²í od JDBC. Hlavní rozdíl je v dotazovacím jazyce, kdy se místo SQL vyuºívá jiº zmi ované MDX. Jednoduchý výpis p evzatý z dokumentace [17] demonstruje p ipojení k Mondrian serveru, odeslání MDX dotazu a získání odpov di: import mondrian.olap.*; import java.io.printwriter; Connection connection = DriverManager.getConnection( "Provider=mondrian;" + "Jdbc=jdbc:odbc:MondrianFoodMart;" + "Catalog=/WEB-INF/FoodMart.xml;", null, false); Query query = connection.parsequery( "SELECT {[Measures].[Unit Sales], [Measures].[Store Sales]} on columns," + " {[Product].children} on rows " + "FROM [Sales] " + "WHERE ([Time].[1997].[Q1], [Store].[CA].[San Francisco])"); Result result = connection.execute(query); result.print(new PrintWriter(System.out)); Je tedy z ejmé, ºe pro práci s Mondrian pot ebujeme n jakou klientskou aplikaci. V p ípad Pentaho máme takovou aplikaci k dispozici jako webové rozhraní v rámci Pentaho BI Platform. Ta obsahuje komponentu p ímo pro p ístup k Mondrian. Tato komponenta vyuºívá ke své innosti JPivot, coº je knihovna JSP tag speciáln ur ených pro vykreslování OLAP tabulek a graf. JPivot je dal²í samostatný open-source projekt, ale velmi asto je vyuºíván práv ve spojení s Mondrian. Jak tedy nad rela ní databází vybudujeme vícerozm rnou? V p ípad Mondrian má toto na starosti kongura ní soubor ve formátu XML, kde denujeme kompletní datové schema a namapujeme jej na tabulky v rela ní databázi. V sou asné dob je t eba tyto XML soubory vytvá et ru n pomocí textového editoru Pentaho Data Integration (PDI) Uº nás asi nep ekvapí, ºe p vodní název Pentaho Data Integration byl Kettle. Op t samostatný projekt, nutno podotknout, ºe z uºivatelského hlediska opravdu povedený. Jedná se o klasický ETL nástroj. V rámci PDI rozeznáváme dva typy úkon : Transformation - Rozum jme transformaci n jakých dat. Typicky se jedná o proces, který si p edstavíme pod zkratkou ETL. Tedy vy tení dat z n jakého zdroje, jejich následná úprava a op tovné uloºení. Job - Pod pojmem job rozumíme n jaký úkol, zpravidla opakovan spou²t ný, nesouvisí nutn primárn se p esunem dat. M ºe se klidn jednat i o spu²t ní transformace nap. kaºdý první den v m síci. ƒasto se jedná o údrºbu, jako pravidelné mazání nebo p esun soubor, rozesílání mail, spou²t ní externích skript atd.

37 4.1. NÁSTROJE Z RODINY PENTAHO 21 PDI zahrnuje t i základní aplikace: Spoon - Nejzásadn j²í nástroj z celé skupiny. Je to gracké uºivatelské rozhraní umoº- ující velmi jednodu²e "naklikat"poºadovanou sekvenci akcí, která se má vykonat. Zárove jsou k dispozici ladící nástroje pro debugging a prolování. V kaºdém kroku je - jak je u podobných aplikací obvyklé - moºné zobrazit náhled na aktuální stav dat. Pan - Jednoduchý program, který dokáºe spou²t t transformace vytvo ené pomocí Spoon z p íkazové ádky. Hodí se tedy pro dávkové vyvolávání transformací. Kitchen - Obdobný jako Pan, ov²em v tomto p ípad se stará o spou²t ní Jobs. Nabídka operací na výb r je opravdu ²iroká. Od základních jako r zné operace se soubory v p ípad Jobs, nebo zám ny v et zcích, aritmetické operace apod. v p ípad transformací aº po opravdu mocné akce, umoº ující zadat v jednom kroku kód v JavaScriptu, Jav nebo SQL, coº dává vývojá i prakticky neomezené moºnosti. K tomu p i t me moºnost tvorby zano ených transformací a slu²nou ádku vstupních a výstupních formát. Data lze získat mimo samoz ejmé vstupy jako jsou databáze a soubory i z OLAP server (ne jenom Mondrian), RSS, S3, Salesforca, SAP a dal²ích. V p ípad transformací prochází celým systémem data v podob jednotlivých ádek pomyslné tabulky. Je to forma, na kterou se dají namapovat v podstat v²echny podporované typy vstup. P i pokro ilej²í práci s PDI je dobré mít na pam ti, ºe data v aplikaci z pochopitelných d vod putují ve streamu jako sekvence t chto ádek. Ke kaºdé ádce se tedy kaºdý krok dostane pouze jednou a nem ºe se jiº vracet. To ovliv uje nap íklad operace typu JOIN, kde musí práv z t chto d vod p icházet na vstupy data jiº se azená. N které kroky toto obcházejí tak, ºe vyºadují vyhrazení odkládacího souboru. To ale m ºe asto znamenat úzké hrdlo z hlediska výkonu. Streamový p ístup totiº umoº uje paralelní zpracování, kdy zpracování ve v²ech krocích b ºí sou asn (nad r znými ádkami). Co se nasazení v jiných systémech tý e, máme na výb r. Krom zmi ovaných aplikací Pan a Kitchen umoº ujících dávkové spou²t ní disponuje PDI i vlastním API, které je moºné vyuºít v dal²ích Java aplikacích. Podrobn ji je tato problematika rozebrána v kapitole Z druhé strany mají vývojá i moºnost roz²i ovat PDI díky jeho pluginové architektu e. Tento p ístup je popsán v kapitole Pentaho Data Mining Pentaho Data Mining alias Weka (Waikato Environment for Knowledge Analysis). Projekt vyvinutý na univerzit Waikato, v sou asné dob distribuovaný pod hlavi kou Pentaho. Data miningový nástroj kompletn napsaný v Jav, díky tomu velmi snadno p enositelný. Weka podporuje standardní data miningové úkoly jako je p edzpracování dat, klastrování, klasi- kace, regrese, feature selection. K dispozici je n kolik vizualiza ních nástroj pro r zné náhledy na data. Lze pouºít p ímo jako knihovna p íslu²ných algoritm ve vlastních programech. Zárove v²ak disponuje grackým rozhraním pro pohodln j²í práci. Gracké rozhraní je rozd leno do t í ástí:

38 22 KAPITOLA 4. ANALÝZA EXISTUJÍCÍCH NÁSTROJ Explorer je hlavním ovládacím prost edím. Poskytuje p ístup k hlavním komponentám programu, s pomocí nabídek v jednotlivých panelech je moºné nastavit kompletní data miningový proces nad datovým zdrojem, zárove poskytuje gracký náhled na na tená data. Knowledge Flow zp ístup uje podobné funkce jako Explorer, ov²em data miningový proces sestavujeme podobn jako u PDI vkládáním jednotlivých komponent a jejich propojováním. Experimenter slouºí, jak uº název napovídá, k opakovanému spou²t ní a vyhodnocování proces v r zných konguracích, p ípadn s r znými daty. Krom grackého rozhraní je moºné ke stejným funkcím p istupovat i z p íkazové ádky. Weka umí na ítat data pouze z textových soubor nebo z rela ních databází (p es JDBC). Tyto omezené moºnosti je ale moºné roz²í it jejím propojením s PDI. Na druhou stranu opravdu sostikované moºnosti propojení jsou dostupné pouze v komer ní verzi Pentaho Pentaho BI platform Nástroje, které jsme zatím vid li, fungují do zna né míry samostatn. Je sice moºné nap. data pro Pentaho Data Integration erpat z Mondrian serveru a zárove dále napojit na Pentaho Report Designer, ale stále nám chybí jednotné rozhraní, kde by bylo moºné toto provád t. Chybí nám Pentaho BI platform Webové rozhraní Pro koncové uºivatele je nejzásadn j²í webové rozhraní platformy. Na tomto míst bych rád vyjasnil n kolik pojm. V dal²ím textu rozumím pod pojmem Pentaho BI platform vºdy toto webové rozhraní. V propaga ních materiálech Pentaho a v jejich dokumentaci se tento pojem pouºívá st ídav pro webové rozhraní systému a zárove pro celý balík jiº probraných nástroj. Toto vná²í do text neskute ný zmatek a dokáºe za áte níkovi ádn zamotat hlavu. ƒili Pentaho BI platform je webová aplikace napsaná v Jav, provozovaná implicitn na aplika ním serveru Tomcat. Testována byla i na serveru JBoss. Aby zmatk nebylo málo, dodám, ºe se jedná vlastn o dv webové aplikace. Jakousi pracovní plochu na jedná stran a administra ní konzoli na stran druhé. Stáhneme-li Pentaho BI platform v implicitní konguraci, dostáváme zabalený samotný aplika ní server (tedy Tomcat), na n mº je jiº aplikace nainstalovaná, zárove je v balíku dodávána databáze Hypersonic uº napln ná pot ebnými daty. Nicmén migrace na jiné databáze jako MySQL, Oracle nebo PostgreSQL není v tomto p ípad p íli² sloºitá a je celkem dob e popsaná v dokumentaci [20]. Administra ní konzole je v open-source verzi pom rn okle²t ná a není na ní nic sloºitého. Slouºí zejména ke správ uºivatel a jejich oprávn ní, dále je moºné spravovat datové zdroje (místo ru ního nastavování JNDI v kongura ních souborech serveru) a zprost edkovává informace o na asování pravideln spou²t ných úkol. Komer ní verze pak p idává monitorovací nástroje pro sledování b hu jednotlivých komponent jako PDI, Mondrian atd.

39 4.1. NÁSTROJE Z RODINY PENTAHO 23 Obrázek 4.1: Pracovní plocha Pentaho BI platform Kone n se dostáváme k jádru v ci. Po p ihlá²ení se nám zobrazí pracovní plocha, která nevypadá zpo átku nijak mocn (viz obrázek 4.1). Na první pohled nás zaujme moºnost vytvo it ad-hoc jednoduchý report, nebo si prohlédnout data p ístupná p es Mondrian. Pravá síla se ale skrývá na obrázku v levé ásti obrazovky. Pracovní plocha je vlastn hodn propracovanou digitální nást nkou, která nám dává p ístup k e²ením (v anglické terminologii solution) uloºeným v repozitá i platformy. Na vysv tlenou: e²ením je v tomto kontextu adresá, v n mº jsou uloºeny ve²keré zdroje pot ebné k dosaºení n jakého cíle. Základem jsou zpravidla dva typy soubor : index.xml - Velmi jednoduchý xml kongura ní soubor. Popisuje, jak se e²ení zobrazí v rámci platformy (pod jakým názvem, s jakou ikonou apod.). Jeden nebo více.action soubor - Op t xml soubor, tentokrát popisující úkol, který se má vykonat, v podob jednoduchého workow - sekvence akcí. P i spu²t ní jsou pak postupn na základ tohoto souboru volány r zné komponenty systému s parametry uvedenými práv zde. Výstupy jednotlivých komponent (akcí) je moºné napojovat na vstupy dal²ích a jednoduchý syntax souboru umoº uje i denici základních cykl a podmínek. Tyto soubory jsou podrobn rozebrány v kapitole Repozitá pak není nic jiného neº vyhrazený adresá v rámci aplikace: PENTAHO_HOME/pentaho-solutions Sem nahráváme na²e e²ení. Obsah repozitá e je pak zobrazen v rámci pracovní plochy podle toho, k jakým e²ením máme oprávn ní p istupovat. BI platform totiº disponuje mechanismem pro ud lování oprávn ní p ístupu k jednotlivým e²ením pro r zné uºivatele.

40 24 KAPITOLA 4. ANALÝZA EXISTUJÍCÍCH NÁSTROJ Adresa servletu Funkce servletu Pracovní plocha. P ihla²ovací dialog. Administra ní rozhraní - lze provád t b ºnou údrºbu, obnovovat nastavení serveru (nap. vynutit nové na tení a inicializaci plugin ), spravovat naplánované úlohy atd. Pr zkumník repozitá e. P ehled naplánovaných úloh. Servlet pro p ístup k obrázk m ulo- ºeným v do asném adresá i platformy. Pouºívá se nap. pro zobrazení graf a jiných obrázk v rámci reportu. Tabulka 4.1: Seznam nejd leºit j²ích servlet pro práci s Pentaho BI platform Zmínil jsem se o komponentách. Pentaho BI platform zp ístup uje základní funkcionalitu v²ech zatím zmín ných nástroj z této rodiny práv prost ednictvím komponent. Je k dispozici nap. komponenta pro rozb hnutí PDI transformace a vy tení dat z ní, komponenta pro tení dat z Mondrian serveru, zobrazení reportu, ale i dal²í samostatné komponenty - nap. pro odesílání , nebo zpracování JavaScriptu. Komponenty jsou podrobn rozebrány v kapitole Takto vytvo ená e²ení mohou být pak p ístupná p es pracovní plochu p ímo, nebo prost ednictvím webové sluºby (pokud to dává smysl - tedy pokud sekvence produkuje smysluplný strukturovaný výstup). Krom toho m ºeme pomocí platformy naplánovat nap. pravidelné spou²t ní vybraných e²ení. M ºeme tak vytvo it nap. e²ení, které vy te z databáze údaje o prodejích za poslední m síc, vytvo í z n j report a ten ode²le na n kolik . Takovéto e²ení pak naplánujeme na spu²t ní kaºdý první den v m síci. Na záv r doplním seznam nejd leºit j²ích servlet pro práci s platformou (adresy p edpokládají implicitní konguraci, kdy Tomcat naslouchá na portu 8080) - p ehled je uveden v tabulce Pentaho Design Studio Velkolep zn jící jméno je ve skute nosti krycí název pro pom rn jednoduchý plugin pro Eclipse. Na stránkách projektu [13] zd vod ují auto i bombastické pojmenování aplikace zejména výhledem do budoucna, kdy by Design Studio m lo tvo it jakési jednotné prost edí pro vývoj v rámci Pentaho. V sou asné dob se do této skupiny vejdou dva nástroje. Prvním je Report Design Wizard (pozor nezam ovat s Pentaho Report Designer popsaným v kapitole 4.1.1). Tento projekt je v²ak na SourceForge prezentaci projektu ozna en jako Legacy. Moºná z d vod ur ité redundance práv se zmín ným Pentaho Report Designer. Zajímav j²í je v tomto ohledu Action Sequence Editor. S jeho pomocí je moºné pom rn pohodln spravovat.action soubory bez nutnosti editovat ru n xml. Nejpouºívan j²í kom-

41 4.2. FAKE GAME 25 ponenty mají v rámci tohoto editoru své vlastní dialogy pro intuitivn j²í nastavení jejich kongurace. Pro komponenty mén pouºívané nebo nov doprogramované je pak k dispozici generické prost edí pro nastavení vstup, výstup, parametr a zdroj dat Pentaho Dashboards Pentaho Dashboard je vlastn framework pro denici digitálních nást nek, které se následn zobrazují op t v rámci Pentaho BI Platform. V sou asné dob je k dispozici nová verze tohoto frameworku, která v mnohém zjednodu²ila tvorbu nást nek. V p vodní verzi bylo nutné denovat nást nky pom rn zmate ným zp sobem v n kolika souborech obsahujících JavaScript, HTML a denici styl zobrazení nást nky. V sou asné dob se obejdeme pouze se dv ma soubory: index.xml - Jako u v²ech e²ení v rámci Pentaho BI Platform repozitá e obsahuje název nást nky a její popis. template.html - Obsahuje denici samotného obsahu nást nky - jak statického obsahu, tak dynamicky generovaných ástí. Dynamicky generované ásti jsou vlastn javascriptové objekty, které zpravidla erpají obsah z výstup p edem denovaných sekvencí akcí. M ºeme tedy nap. denovat sekvenci akcí starající se o vy tení dat z databáze, která na výstupu generuje graf jako obrázek a následn tento obrázek zobrazit pomocí javascriptového objektu typu xaction. Denice by pak mohla vypadat nap. takto: regionvariancebarchart = { name: "mydatachart", type: "xaction", solution: "dashboards", path: "sample_dashboard_components", action: "mydatachart.xaction", listeners:\["group"\], parameters: \[\["GROUP","group"\]\], htmlobject: "object_2", executeatstart: false, } K dispozici jsou komponenty pro zobrazení jednoduchého textu, formulá, tabulek aº po ty komplexní vyuºívající nap. JPivot, nebo Google Maps API. 4.2 FAKE GAME V p ípad FAKE GAME se jedná o data miningový software vyvíjený na ƒvut. Hlavním cílem projektu je poskytnout nástroj pro automatizovanou tvorbu report bez nutnosti zásahu uºivatele. Toto je pom rn revolu ní my²lenka, vzhledem k tomu, ºe tvorba report pomocí konkuren ních e²ení vyºaduje asto pokro ilou znalost dané problematiky.

42 26 KAPITOLA 4. ANALÝZA EXISTUJÍCÍCH NÁSTROJ Hlavní devizou FAKE GAME je automatické vytvá ení model aniº by bylo nutné je ru n nastavovat. Jednotlivé modely jsou r zn kongurovány a dále ²lecht ny nap. vyuºitím genetických algoritm. FAKE GAME pro dosaºení lep²ích výsledk pouºívá ensemble metody, tedy p ístup, kdy jsou r zné modely vzájemn kombinovány Architektura systému a jeho roz²i itelnost Koncept umoº ující automatické zpracování je podle dostupné dokumentace [14] tak zvaný Operation Flow (sled jednotlivých operací). Jednotlivé operace (po ínaje na tením dat, jejich p edzpracováním aº po vizualizaci dat, tvorbu a vyhodnocení model ) jsou z et zeny v jednoduché sekvenci, jak je patrné z obrázku 4.2. Obrázek 4.2: Operation Flow v aplikaci FAKE GAME. P íklad DMBatchProle [14] Kaºdá díl í operace m ºe vyprodukovat svou ást výsledného reportu. Zárove mohou díl í operace p edp ipravovat data pro operace následující. Ve²kerá data putující v systému mezi jednotlivými operacemi jsou ukládána na Blackboard. Jedná se o hierarchickou stromovou strukturu podobnou souborovému systému. Sekvence operací m ºe být r zná. Jejich uspo ádání ur uje v rámci FAKE GAME Prole. Na obrázku 4.2 je zobrazený p íklad DMBatchProle. Ten je ur ený pro dávkové zpracování a automatickou produkci reportu. Je schopný sám ur it, o jakou úlohu se jedná (moºnosti jsou: samoorganiza ní problém, regresní problém nebo klasika ní problém). Jednotlivé proly je dále moºné kongurovat pomocí XML soubor. Jak je z obrázku patrné, typický prol sestává z inicializa ní fáze následované na tením dat (v tomto p ípad z textového souboru), pokra uje p edzpracováním dat, jejich p ípadnou redukcí. Dále se provádí r zné vizualizace, sestavení model na základ p edané kongurace a jejich testování a vyhodnocení výsledk. Výsledky operací jsou shrnuty v reportu.

43 4.3. DATA MINING A JEHO INTEGRACE V NÁSTROJÍCH PENTAHO 27 Je tedy z ejmé, ºe pro dopln ní funkcionality do FAKE GAME je t eba upravit stávající DMBatchProle, nebo vytvo it prol nový. Sestavování prol funguje ve FAKE GAME na základ návrhového vzoru Strategy [6]. Jeho konkrétní realizace je znázorn na na obrázku 4.3. Obrázek 4.3: Realizace návrhového vzoru Strategy v rámci FAKE GAME Pro realizaci prvního úkolu tedy bude nejjednodu²²í nahradit v kontextové t íd OperationFlow operaci ImportFile operací, která provede PDI transformaci a na te z ní pot ebná data. Obdobn m ºeme postupovat p i pot eb dodání jakékoliv dal²í operace. Jediné, co je v i FAKE GAME t eba splnit je implementace p íslu²ného interface IOperation. Dal²ím zajímavým aspektem je tvorba výsledného reportu. Jak jiº bylo e eno, kaºdá operace m ºe vyprodukovat ást výsledného reportu reprezentovanou rozhraním ISubreport. Konkrétní t ídy implementující toto rozhraní zpravidla obsahují instanci t ídy SubreportContainer, coº je skute ná reprezentace "subreportu". Kaºdá ást reportu se totiº skládá z r zných objekt (obrázky, texty tabulky apod.). Tyto objekty se p idávají práv do instance t ídy SubreportContainer. Tato skute nost je zachycena zjednodu²eným class diagramem na obrázku 4.4. Kaºdý SRObject umí vyvolat instanci t ídy, která jej dokáºe vykreslit. Zp sob vykreslení závisí na konkrétní implementaci abstraktní t ídy SRRenderer. Takovou konkrétní implementací je nap. SRHTMLRenderer, který vytvá í report ve formátu HTML. 4.3 Data Mining a jeho integrace v nástrojích Pentaho Pokud uvaºujeme nad moºnostmi propojení FAKE GAME a Pentaho je nasnad prozkoumat, jak je data mining jiº implementován v rámci platformy. P i hlub²ím pátrání objevíme n kolik jednodu²²ích plugin pro PDI. Jmenovit jde o Univariate Statistics plugin, který ned lá nic sv toborného. Pouze je na výstupu schopný vyprodukovat n které statistické hodnoty jako je minimum, maximum, po et poloºek na vstupu, aritmetický pr m r atd. Dal²ím je ARFF Output Plugin, pro ukládání dat ve formátu ARFF (Attribute-Relation File Format) a Reservoir Sampling Plugin, který umoº uje vybrat pevný po et ádek ze

44 28 KAPITOLA 4. ANALÝZA EXISTUJÍCÍCH NÁSTROJ Obrázek 4.4: Skládání report v rámci FAKE GAME vstupu (aniº bychom p edem znali jejich celkový po et), p i emº kaºdá ádka má stejnou pravd podobnost být vybrána. Nicmén vlajkovou lodí Pentaho v oblasti data mining je Weka, takºe nás asi nep ekvapí, ºe nejzajímav j²í implementace vyuºívají práv ji. Jedná se o komponentu pro provád ní wekovských knowledge ows v rámci Pentaho BI platform a o dva pluginy pro PDI. Ov²em pouze první plugin - Weka Scoring Plugin - je dostupný jako Open Source. V podstat v²echny modely sestavené pomocí Weky je moºné exportovat jako serializované Java objekty. Weka Scoring Plugin umoº uje takto serializované modely na íst a aplikovat na vstupní data. Výsledkem je pro kaºdou vstupní instanci bu její klasikace, nebo íselný odhad výstupní hodnoty. V p ípad klasikace máme dv moºnosti reprezentace výsledku: p ímo jako výstupní t ídu, nebo nep ímo jako vý et pravd podobností p íslu²nosti ke v²em t ídám (output probabilities). V rámci placené verze PDI Pentaho dodává navíc Knowledge Flow Plugin, který umoº- uje na ítat a provád t knowledge ows vytvo ené pomocí Weky. Dokonce je moºná jejich úprava p ímo v prost edí PDI. Jeho zprovozn ní vyºaduje navíc p idání pluginu i do samotné Weky. Tento plugin umoºní Wecce p ijímat v rámci knowledge ow data z PDI transformací. Dal²í funkcí zp ístupn nou jen platícím uºivatel m je speciální komponenta pro BI platform, která umí zrealizovat v podstat to samé jako Knowledge Flow Plugin, tedy na íst a provést knowledge ow vyexportované z Weky. Tentokrát ale p ímo ve webovém prost edí BI platform. Funk n se tak poslední dv zmín né implementace dost kopírují, nicmén mají pravd podobn své opodstatn ní vzhledem k pom rn vysoké po izovací cen BI Platform se jist najde hodn uºivatel, kte í vyuºívají v komer ní verzi nap. jen PDI v kombinaci s Wekou.

45 4.4. MOšNOSTI ROZ Í ENÍ PENTAHO DATA INTEGRATION 29 Z hlediska FAKE GAME vidím na základ t chto poznatk dv zajímavé moºnosti. První je obdoba Weka Scoring Plugin. FAKE GAME disponuje modely, které Weka nemá. Pro uºivatele Petaho m ºe tedy být zajímavé tyto r zné implementace porovnat. Zárove je v tomto sm ru práce obou program dosti podobná a plugin pro FAKE GAME by mohl fungovat velmi podobn jako jiº známé a zaºité e²ení. FAKE GAME totiº také disponuje moºností exportovat modely v serializované podob. Dal²í uºite nou implementací by z mého pohledu byla integrace FAKE GAME p ímo do BI platform. Zde dob e zapadá do celkového konceptu platformy, kdy nad daty, která získáme nap. pomocí PDI nebo vy teme z Mondrian serveru dokáºe provést b ºné data miningové operace (v tomto p ípad se velmi hodí celková lozoe tvorby report bez nutnosti zásahu uºivatel ) a vyprodukovat komplexní zprávu zobrazitelnou p ímo v prost edí pracovní plochy platformy. Za tímto ú elem by tedy bylo t eba vytvo it komponentu pro BI platform, která umoºní za adit FAKE GAME mezi akce pouºitelné prost ednictvím kongurace.action soubor. 4.4 Moºnosti roz²í ení Pentaho Data Integration Dosavadní pr zkum ukázal relativn velký potenciální p ínos, který skýtá vyuºití PDI a to hned dv ma zp soby. Jednak jako knihovnu, kdy FAKE GAME bude vyuºívat PDI API pro interpretaci a spou²t ní transformací vytvo ených pomocí PDI. FAKE GAME tak získá nejen opravdu ²irokou paletu zdroj, z nichº bude schopný na ítat data, ale i mnoºství uºite ných nástroj pro p ípravu t chto dat, jejich i²t ní apod. Opa ným sm rem jde nasazení FAKE GAME jako pluginu pro PDI. V této kapitole si popí²eme technické nároky obou t chto implementací PDI API Základem PDI API je t ída Trans reprezentující kompletní transformaci. Obsah transformace je uchováván v instanci t ídy TransMeta. Transformaci spustíme metodou execute, s volitelnými parametry. Celé zpracování probíhá ve vláknech, proto je t eba po kat na dokon ení jejich práce metodou waituntilfinished. Uvádím krátký p íklad provedení takové transformace na tené ze souboru: public static void runtransformation(string filename) { try { StepLoader.init(); EnvUtil.environmentInit(); TransMeta transmeta = new TransMeta(filename); Trans trans = new Trans(transMeta); trans.execute(null); trans.waituntilfinished(); if ( trans.geterrors() > 0 ) { throw new RuntimeException( "Errors during transformation execution." );

46 30 KAPITOLA 4. ANALÝZA EXISTUJÍCÍCH NÁSTROJ } } catch ( KettleException e ) { System.out.println(e); } } Pomocí PDI API lze transformaci i r zn upravovat. Na tomto míst bych ale cht l podotknout, ºe se ve skute nosti nejedná o API v pravém slova smyslu, tedy o ve ejn deklarované rozhraní pro ostatní aplikace, které garantuje alespo elementární zp tnou kompatibilitu. V p ípad sloºit j²ích operací s transformací je vývojá nucen pono it se pom rn hluboko do vnit ní implementace PDI a vystavuje se tak hrozb nekontrolovatelných zm n v dal²ích verzích programu. I uvedený p íklad je platný pro PDI do verze 3. Ve verzi 4 do²lo k pom rn rozsáhlým zm nám a dokonce v rámci takto jednoduchého p íkladu je t eba volání StepLoader.init(); EnvUtil.environmentInit(); nahradit KettleEnvironment.init(); P vodní volání bohuºel není zp tn kompatibilní Pluginy pro PDI P íslu²ná dokumentace[1] je pom rn strohá. Lep²ím zdrojem informací je zkoumání zdrojových kód existujících plugin. Kaºdý plugin pro PDI musí obsahovat minimáln ty i t ídy implementující následující rozhraní: StepMetaInterface - Uchovává informace o nastavení pluginu, umoº uje jeho ukládání a na ítání, denuje mnoºinu vstupních a výstupních hodnot, s nimiº plugin pracuje. StepInterface - Samotné výkonné jádro pluginu. Mimo jiné implementuje metodu processrow, která zpracovává jednotlivé ádky dat proudící systémem. StepDataInterface - T ída implementující toto rozhraní je ur ena pro udrºování provozních informací jako nap. otev ené soubory, r zné kurzory a streamy. Význam t íd implementujících toto rozhraní není úpln jednozna n z ejmý. N které existující pluginy je trochu zmate n vyuºívají i jako odkladi²t uºite ných funkcí. StepDialogInterface - Denuje uºivatelský dialog pro úpravu nastavení pluginu. Vzhledem k pom rn komplikované struktu e rozhraní StepMetaInterface a StepInterface, která ob p edepisují p ibliºn 50 metod k implementaci se doporu uje zd dit v t²inu metod od t íd BaseStepMeta a BaseStep a p epsat jen metody, které se mají

47 4.5. MOšNOSTI ROZ Í ENÍ PENTAHO BI PLATFORM 31 chováním li²it od implicitního. Toto není úpln ² astný p ístup z hlediska kvality návrhu. Kaºdopádn vnit ní struktura PDI je trochu zmate ná, coº spolu s absencí kvalitní dokumentace v této oblasti vývojá e k takovému p ístupu v podstat nutí a v t²ina plugin t etích stran této obezli ky vyuºívá. Na názvech konkrétních t íd záleºí. PDI o ekává, ºe jméno t ídy implementující StepMetaInterface bude kon it na Meta a jméno t ídy implementující StepDialogInterface bude kon it na Dialog. Prex musí mít ob t ídy stejný. Tedy nap. MujPluginMeta a MujPluginDialog. Samotná instalace pluginu je velmi jednoduchá. Plugin tvo í.jar soubor se zkompilovaným zdrojovým kódem pluginu, dále ikona reprezentující plugin v grackém rozhraní, volitelné dal²í knihovny pot ebné pro chod pluginu a soubor plugin.xml v tomto formátu: <?xml version="1.0" encoding="utf-8"?> <plugin id="unikatnioznacenipluginu" iconfile="ikona.png" description="popis pluginu" tooltip="kratky popisek cinnosti - tooltip" category="skupina, kam se ma plugin v menu zaradit (Transform, Input, Output apod.)" classname="cz.plne.jmeno.meta.tridy.mujpluginmeta"> <libraries> <library name="cesta/k/archivu_obshaujicimu_plugin.jar"/> <library name="volitelne_dalsi_knihovny.jar"/> </libraries> </plugin> V²echny tyto soubory je nutné nakopírovat do adresá e PDI_HOME/plugins/steps. 4.5 Moºnosti roz²í ení Pentaho BI platform Sekvence akcí Jak jsme vid li v kapitole základním zp sobem roz²í ení funk nosti Pentaho BI platform je denice vlastního e²ení. Tedy sestavení.action souboru. Poj me se nyní podívat podrobn ji na jeho strukturu: <?xml version="1.0" encoding="utf-8"?> <action-sequence> <title>nazev reseni</title> <version>1</version> <logging-level>error</logging-level> <documentation> <author>ivo Lasek</author> <description>popis reseni</description> <help>navod k pouziti</help>

48 32 KAPITOLA 4. ANALÝZA EXISTUJÍCÍCH NÁSTROJ <result-type/> <icon/> </documentation> <inputs/> <outputs /> <resources /> <actions> <action-definition /> </actions> </action-sequence> Vidíme tedy, ºe kaºdá sekvence akcí obsahuje na po átku popisnou ást denující vesm s zp sob jejího zobrazení v rámci pracovní plochy a úrove logování. Dále je moºné denovat vstupy, výstupy a zdroje. Jako vstupy mohou slouºit parametry p edané v url p i vyvolání sekvence, nebo data p ijatá p i volání webové sluºby. Výstupy vytvá í jednotlivé komponenty v pr b hu zpracování sekvence. V poli outputs tedy m ºeme deklarovat, které z nich sekvence opravdu vrací. Pole resources obsahuje seznam soubor, které pot ebují pouºité komponenty ke své innosti - m ºe se jednat nap. o uloºenou PDI transformaci. Následuje vlastní seznam akcí. Volání komponent je popsáno v ásti action-definition. Pro ilustraci uvádím p íklad volání komponenty provád jící PDI transformaci: <action-definition> <component-name>kettlecomponent</component-name> <action-type>pentaho Data Integration</action-type> <action-resources> <transformation-file type="resource"/> </action-resources> <action-outputs> <kettle-execution-log type="string" mapping="execlog"/> <kettle-execution-status type="string" mapping="execstatus"/> <transformation-output-rows type="result-set" mapping="outrows"/> <transformation-output-rows-count type="integer" mapping="outrowscount"/> </action-outputs> <component-definition> <monitor-step><![cdata[output Step]]></monitor-step> <kettle-logging-level><![cdata[rowlevel]]></kettle-logging-level> </component-definition> </action-definition> Denujeme tedy název komponenty, kterou chceme volat. Dále máme podobn jako u celé sekvence moºnost denovat vstupy, výstupy a zdroje pot ebné pro innost komponenty. V uvedeném p íklad denujeme jako zdroj soubor s transformací, jehoº název o ekáváme jako vstup celé sekvence p edaný parametrem transformation-file. Komponenta je

49 4.5. MOšNOSTI ROZ Í ENÍ PENTAHO BI PLATFORM 33 Název datového typu content bigdecimal inputstream integer list long object property-map property-map-list result-set string string-list Podporované hodnoty Stream dat vyprodukovaný komponentou. Odpovídá typu BigDecimal v Jav. Odpovídá typu InputStream v Jav. Odpovídá typu Integer v Jav. Odpovídá typu java.util.list v Jav. Odpovídá typu Long v Jav. Odpovídá typu Object v Jav. Mapa et zc. Seznam map et zc - v podstat p ipomíná tabulku. Seznam polí objekt. Umoº uje reprezentovat data ve form tabulky. Na rozdíl od typu property-map-list je s jeho pomocí moºné p edávat r zné datové typy, nejenom et zce. Reprezentován rozhraním IPentahoResultSet. Odpovídá typu String v Jav. Seznam et zc. Tabulka 4.2: Seznam datových typ podporovaných v rámci Pentaho BI platform schopna vrátit prom nné execstatus, outrows apod. Ty namapujeme na výstupy s názvem kettle-execution-log a transformation-output-rows atd. V ásti component-definition uvádíme konstantní nastavení komponenty, které nepot ebujeme ovliv ovat vstupními parametry. Tyto denice akcí je moºné et zit a napojovat výstupy akcí na vstupy jejich následník. Velmi primitivním zp sobem tak m ºeme sestavovat jednoduché skripty. Jednotný formát dat pro p enos mezi komponentami je e²en konverzí na n kolik jednoduchých datových typ, které jsou platformou podporovány. Jejich vý et je uveden v tabulce Komponenty a pluginy Uº mnohokrát jsem se zmi oval o komponentách jako hlavních funk ních jednotkách v rámci platformy. Je tedy na ase podívat se podrobn ji, jak taková komponenta funguje. Pokud vyvolám v rámci platformy n jakou sekvenci akcí, a uº jako webovou sluºbu, p es aplikaci t etí strany nebo prost ednictvím uºivatelského rozhraní, dochází k následujícímu cyklu zpracování: 1. Volající si vyºádá spu²t ní sekvence. 2. Daná sekvence je vyhledána a na tena z repozitá e. 3. Dochází k její validaci, tedy k validaci.action souboru. 4. V²echny obsaºené komponenty jsou na teny a inicializovány.

50 34 KAPITOLA 4. ANALÝZA EXISTUJÍCÍCH NÁSTROJ Metoda done executeaction getlogger init validateaction validatesystemsettings ƒinnost metody Volána po ukon ení innosti komponenty. Vhodná pro úklid, jako nap. uzav ení pouºívaných zdroj. Samotné provedení stanoveného úkolu. Vrací logovací objekt pro komponentu. Volána po na tení komponenty. Obsahuje inicializa ní rutiny. Zde by si komponenta m la ov it, zda má v²echny pot ebné vstupy a zdroje. Pokud metoda vrátí false, sekvence se p eru²í a úkol komponenty se nevykoná. Chová se podobn jako p edchozí metoda s tím rozdílem, ºe by m la ov it správnost systémových nastavení, jako je nap. p ipojení k databázi, nastavení p ipojení k mailovému serveru apod. Tabulka 4.3: Seznam metod rozhraní org.pentaho.core.component.icomponent 5. Následuje fáze validace jednotlivých komponent, kdy si kaºdá komponenta nap. ov í, zda dostává správné vstupy, p ípadn zda jsou správn o²et eny výstupy. 6. Spustí se provád ní celé sekvence, které spo ívá v postupném spou²t ní komponent podle.action souboru. 7. Sekvence je ukon ena, p ípadné výstupy jsou vráceny volajícímu. Aby na²e vlastní komponenty mohly fungovat v rámci BI platform, musí jako vºdy implementovat p íslu²né rozhraní. V tomto p ípad se jedná o IComponent. Jeho metody jsou shrnuty v tabulce 4.3. Doposud vypadá toto e²ení pom rn sch dn. Bohuºel samotná implementace rozhraní nesta í. Komponenta se n jakým zp sobem musí dostat ke svým vstup m, prezentovat výstupy, íst systémová nastavení a pro tyto informace je t eba sáhnout pom rn hluboko do útrob celého systému. Vývojá i tedy shrnuly nejb ºn j²í úkony v jakémsi API [9], které p edstavuje t ída ComponentBase. Podobn jako u plugin pro PDI je tedy vývojá nucen d dit od této t ídy, coº m ºe být v mnoha p ípadech svazující. Nemluv o nep ehlednosti rozsáhlého kódu zd d ného od rodi ovské t ídy. Na kaºdý pád se díky tomuto p ístupu stávají komponenty pom rn úzce závislé na vnit ní implementaci celého systému a tak náchylné ke zkáze zp sobené potenciálními zm nami struktury projektu v jeho dal²ích verzích. Na²t stí zde na rozdíl od PDI existuje zda ilá alternativa v podob lépe zvládnuté pluginové architektury, která se v platform objevila teprve nedávno (s verzí 3.0 a byla dále rozpracována ve verzi tedy v posledním stabilním vydání). Pluginy a zejména v jejich rámci zp ístupn né Akce p edstavují odleh enou variantu komponent bez návaznosti na vnit ní strukturu celého projektu. Podrobn ji je tato problematika rozebrána v následující kapitole.

51 4.5. MOšNOSTI ROZ Í ENÍ PENTAHO BI PLATFORM Jednotlivé sou ásti pluginu Pluginy v rámci Pentaho BI platform poskytují hned n kolik zp sob, jak upravit chování platformy. K dispozici jsou následující moºnosti: Úprava menu pracovní plochy. Spo ívá v prosté denici p íslu²né poloºky v kon- gura ním souboru pluginu plugin.xml, o n mº bude e vzáp tí. P ekrývání existujícího obsahu. V sou asné dob je moºné p izp sobit pouze spou²t cí obrazovku a menu v rámci pracovní plochy. Vyuºívá se XUL (XML User interface Language), coº je standard pro denici uºivatelských rozhraní vyvinutý v rámci projektu Mozilla. V p ípade BI platform umis ujeme jeho denici op t do souboru plugin.xml. Denice statického obsahu. Nový statický obsah implementujeme v rámci platformy velmi jednodu²e. Denujeme cestu k p íslu²nému souboru a url, pod níº bude dostupný v plugin.xml. Denice nových typ obsahu. BI platform standardn umí zpracovat n které typy soubor. e byla o.xaction souborech, podobn je tom nap. u denic report (.prpt soubory). V rámci pluginu máme moºnost denovat dal²í obsah, který zatím platforma nepodporuje a ur it t ídu, která umí p íslu²ný obsah zpracovat (tak zvaný ContentMetaProvider). Generátor obsahu. Jde o javovskou t ídu implementující rozhraní IContentGenerator. Základem t ídy je metoda createcontent, která - jak uº název napovídá - dokáºe vyprodukovat n jaký obsah a p edat jej do výstupního streamu. Ten je pak platforma schopna zobrazit uºivateli. Lifecycle listener. Pentaho nám dává moºnost provést n které p ípravné rutiny v r zných fázích ºivota pluginu. M ºeme reagovat na t i typy událostí: inicializace pluginu (init), jeho na tení (loaded) a jeho deaktivace (unloaded). Za tímto ú elem je t eba vytvo it t ídu implementující rozhraní IPluginLifecycleListener a platformu upozornit na jeho existenci op t prost ednictvím souboru plugin.xml. Nové komponenty. Asi nejzajímav j²í moºností je p edstavení nových funk ních celk - velmi podobných komponentám popsaným v p edchozí kapitole. V rámci plugin je budeme nazývat Akcemi. Na rozdíl od komponent není t eba d dit od ºádné t ídy. Musíme pouze implementovat p íslu²ný interface. Velmi p íjemná je práce se vstupy a výstupy. Akce by se m la chovat jako klasická javovská beana. Ve²keré nastavování vstup a výstup se d je na základ reexe pomocí klasických setter a getter. Vývojá se tak nemusí starat o to, kde a jak jsou data v rámci platformy uloºena. Webové sluºby. A koliv v podstat v²echny Akce je schopna platforma vystavit jako webové sluºby na základ jejich rozhraní, máme k dispozici moºnost denovat i webové sluºby jako takové v p ípad, ºe vzhledem k jejich funkcionalit nedává p íli² smysl prezentovat je b ºným uºivatel m v rámci pracovní plochy.

52 36 KAPITOLA 4. ANALÝZA EXISTUJÍCÍCH NÁSTROJ GWT RPC sluºby. Od poslední vydané verze podporuje Pentaho i vytvá ení slu- ºeb vyuºívajících GWT RPC (Google Web Toolkit Remote Procedure Call). V rámci platformy je k dispozici GWT RPC proxy servlet. Ten dokáºe nasm rovat p íchozí po- ºadavky p íslu²ným objekt m, které je umí obslouºit. V²echny poºadavky z klientské ásti aplikace musí tedy sm ovat práv na tento servlet. Vyuºití známého frameworku GWT vná²í do jinak pom rn statických plugin notnou dávku interaktivity a do budoucna vypadá jako velmi slibný trend. Vzhledem k tomu, ºe je ale tento mechanismus pom rn mladý, je dostupná jen základní dokumentace a ºádná nativní komponenta jeho moºnosti v sou asné dob nevyuºívá, ozna il bych jeho nasazení zatím spí²e za experimentální. Typický plugin tvo í soubor plugin.xml a adresá lib, který obsahuje pot ebné JAR soubory. Strukturu souboru plugin.xml nazna uje následující výpis: <?xml version="1.0" encoding="utf-8"?> <plugin title="m j Plugin"> <lifecycle-listener> <lifecycle-listener class="my.plugin.mylifecyclelister"/> </lifecycle-listener> <static-paths> <!-- Definice cest k soubor m se statickým obsahem --> </static-paths> <menu-items> <!-- Vý et poloºek menu, které chceme p idat --> <menu-item/> </menu-items> <overlays> <!-- Definice p ekryvného obsahu --> <overlay/> </overlays> <content-types> <!-- Vý et nových typ obsahu --> <content-type/> </content-types> <!-- Identifikace t ídy generující vlastní obsah --> <content-generator/> <!-- Identifikace t ídy reprezentující novou akci --> <bean/> </plugin>

53 4.6. ZÁV REM 37 Jak vidíme soubor plugin.xml tvo í jakýsi rozcestník, podle kterého jsou inicializovány a zaregistrovány v²echny sou ásti pluginu p i jeho na tení platformou. P edstavený p ístup umoº uje pluginy do platformy exibiln p idávat a zase je z ní odebírat, aniº bychom se jakkoliv museli dotknout struktury samotné aplikace. 4.6 Záv rem Na základ prezentovaných informací jsem se rozhodl za ú elem napln ní cíl stanovených v úvodu (v kapitole 1.2) vytvo it t i projekty. V prvním p ípad jde spí²e o dopln ní funkcí do stávajícího projektu, tedy o roz²í ení FAKE GAME o volání PDI API a zpracování takto získaných informací. V dal²ích dvou p ípadech jde o vytvo ení plugin za ú elem zp ístupn ní základní funkcionality FAKE GAME v rámci Pentaho. Prvním je plugin pro PDI, velmi podobný jiº existujícímu Weka Scoring pluginu. Díky n mu je moºné velmi snadno porovnávat v prost edí PDI modely vytvo ené pomocí FAKE GAME a modely vytvo ené prost ednictvím Weky. T etím a posledním e²ením je plugin p ímo pro BI platform, který tvo í jakýsi most mezi FAKE GAME a zbylými nástroji z rodiny Pentaho. Dal²í len ní práce do kapitol tedy odpovídá jednotlivým projekt m.

54 38 KAPITOLA 4. ANALÝZA EXISTUJÍCÍCH NÁSTROJ

55 Kapitola 5 Vyuºití PDI API v rámci FAKE GAME Obrázek 5.1: Ukázka transformace vytvo ené pomocí PDI, kterou je FAKE GAME schopný zpracovat. 5.1 Realizace Popis PDI API Samotný zp sob nasazení PDI API je pom rn p ímo arý a popsal jsem jej jiº v kapitole Zde se podíváme na n která úskalí, na n º jsem b hem práce narazil a která bohuºel nejsou v materiálech Pentaho moc dob e zdokumentovaná. Zdrojový kód uvedený v kapitole sice ukazuje, jak transformaci spustit, ale uº není p íli² z ejmé, jak z ní dostat n jaká data. V tomto ohledu máme dv moºnosti. 39

56 40 KAPITOLA 5. VYUšITÍ PDI API V RÁMCI FAKE GAME První e²ení spo ívá v provedení celé transformace a vy tení výsledku metodou getresult(). Následující fragment kódu ukazuje, jak m ºe takový postup vypadat. trans.execute(null); // Transformace se vykonává paraleln, // proto je pot eba vy kat na ukon ení v²ech vláken. trans.waituntilfinished(); // Nakonec na teme výsledek, z n hoº je moºné získat seznam ádek. List<RowMetaAndData> rows = trans.getresult().getrows(); Záhy ale zjistíme, ºe je takto získaný výsledek krom n kterých statistických údaj (jako doba provád ní, po et zpracovaných záznam apod.) prázdný. Samotná data musíme do výsledku zkopírovat zvlá²tním korkem transformace s názvem Copy rows to result z kategorie Job. Tento krok musí za adit bu p ímo uºivatel p i vytvá ení transformace, nebo je t eba vyuºít ²ir²ích moºností PDI API a p idat jej automaticky. Postup je popsaný v dokumentaci [18]. Je z ejmé, ºe takovéto e²ení skýtá mnohá úskalí. Krom problém s identikací správného místa pro automatické vloºení kroku Copy rows to result u sloºit j²ích transformací vidím hlavní problém ve zp sobu práce s daty. Celá transformace se provede a následn jsou ve²kerá výsledná data zkopírována do jednoho úloºi²t v pam ti. Vzhledem k jejich potenciáln velkému rozsahu bychom tak vytvo ili zbyte n úzké hrdlo v podob omezené kapacity pam ti. Druhý p ístup, který jsem nakonec zvolil, spo ívá ve vytvo ení instance vlastní t ídy naslouchající na vybraném kroku a zpracovávající jednotlivé ádky dat po jedné. Tedy ve zkratce vyuºití návrhového vzoru Observer [6]. Základní princip je znázorn n na obrázku 5.2. T ída OutputRowListener tedy implementuje zejména metodu rowwrittentevent p ijímající data z výstupu sledovaného kroku a p eposílá takto získaná data dále do útrob FAKE GAME. Obrázek 5.2: Ukázka tení dat z transformace za vyuºití návrhového vzoru Observer

57 5.1. REALIZACE 41 Op t je t eba dávat pozor na n které záludnosti. Oproti kódu z kapitoly musíme transformaci p ed spu²t ním p ipravit - tedy nalézt vybraný krok (podle jeho názvu) a p edat mu ná² OutputRowListener. trans.prepareexecution(null); BaseStep step = trans.findrunthread(outputstepname); step.addrowlistener(new OutputRowListener()); Samotnou transformaci pak nelze spou²t t metodou execute, která by p epsala námi vloºené nastavení, nýbrº metodou startthreads, tedy: trans.startthreads(); trans.waituntilfinished(); Závislosti a pouºité knihovny FAKE GAME vyuºívá pro správu projektu nástroj z dílny Apache - Maven. PDI krom Subversion pro správu verzí nevyuºívá ºádný specializovaný nástroj. Ve²keré závislosti si vývojá stáhne z repozitá e projektu umíst né v adresá i libext/. Pentaho BI platform vyuºívá pro správu závislostí rovn º nástroj z dílny Apache, ov²em tentokrát je jím odleh ené Ivy. Nicmén p íslu²né repozitá e jsou alespo v p ípad Pentaho kompatibilní s Mavenem. Vzhledem k tomu, ºe Pentaho BI platform obsahuje i komponentu pro provád ní PDI transformací do²el jsem k záv ru, ºe je moºné tyto závislosti p ece jen z repozitá Pentaho vydolovat. Tento nápad jsem i zrealizoval a vyprodukoval seznam závislostí jak ve formátu pro Maven, tak ve formátu Ivy. Bohuºel v pr b hu práce do²lo ke zm n verze PDI z verze 3 na verzi 4. Rozhodl jsem se vlastní kódy p izp sobit verzi 4, coby aktuáln j²ímu vydání. K t mto kód m v²ak v repozitá ích je²t nejsou k dispozici odpovídající knihovny. Bylo tedy nakonec p eci jen nutné nahrát p íslu²né knihovny do repozitá projektu FAKE GAME Roz²í ení FAKE GAME automatizovaného Data Mining Flow Zbývá tedy upravit stávající DMBatchProfile znázorn ný na obrázku 4.2. V n m jsem roz²í il krok ImportFile tak, ºe pokud je p i spu²t ní p edána cesta k souboru s transformací a název kroku, z n hoº chceme íst data, pouºije se místo implicitního na ítání dat ze souboru m j krok, který spustí PDI transformaci a p edá na tená data do FAKE GAME. Zjednodu²ený diagram konkrétní realizace je na obrázku 5.3. Denoval jsem novou operaci ImportPDI ekvivalentní ke stávající operaci ImportFile. Její kongurace, tedy zejména cesta k souboru s transformací a název kroku z n hoº teme data p ená²í instance t ídy ImportPDIConfig. Ta je na po átku b hu programu uloºena na Blackboard, odkud je moºné ji kdykoliv získat, jak je v rámci FAKE GAME zvykem. Abych dosáhl co moºná nejvy²²í znovupouºitelnosti kódu, navrhl jsem mechanismus na ítání dat podle návrhového vzoru Template method [6] realizovaného t ídou AbstractImport, která obstarává logiku na stran FAKE GAME - zejména úpravy po na tení dat (jako nap.

58 42 KAPITOLA 5. VYUšITÍ PDI API V RÁMCI FAKE GAME Obrázek 5.3: Vyuºití návrhového vzoru Template method pro tení dat z transformace zji²t ní, o jaký data miningový problém se jedná apod.). Samotná logika na tení dat je soust ed na v rámci konkrétních potomk abstraktní t ídy AbstractBaseLoader. V tomto p ípad tedy LoadPDIPreprocessor zaji² uje kompletní logiku volání PDI API popsanou d íve. 5.2 Testování FAKE GAME s vyuºitím PDI API Pro otestování funk nosti v²ech t í projekt jsem zvolil dva p ístupy. Jak automatizované testování v podob unit test, tak i testování s reálnými daty. Jako data pro testování jsem vybral n kolik soubor, které byly jiº d íve vyuºívány bu pro testování projektu FAKE GAME, nebo p ímo k e²ení reálných problém. Krom - v data miningové oblasti obligátního - souboru pro klasikaci kosatc jsem testoval s údaji o prodejních cenách aut, EEG novorozenc a spot eb vody mandarinkovníku. Podrobnosti o jednotlivých souborech dat jsou uvedeny v tabulce 5.1. Datové soubory jsem vybíral tak, aby pokrývaly jak regresní, tak klasika ní problémy, je zde zastoupen p ípad neúplného datového soubor (Cars) a datový soubor obsahující v t²í mnoºství záznam pro výkonnostní testování (EEG) Unit testy B hem testovací fáze jsem doplnil unit testy pro nov doprogramované t ídy v rámci projektu FAKE GAME. Poda ilo se mi dosáhnout 92% pokrytí t chto nov p idaných t íd (m eno nástrojem EclEmma). Nepokryté ásti kódu zahrnují p edev²ím o²et ení vnit ních chyb PDI, které není dost dob e moºné explicitn vyvolat.

59 5.2. TESTOVÁNÍ FAKE GAME S VYUšITÍM PDI API 43 Ozna ení Instancí Vstupních atribut Výstupních atribut Typ problému Iris klasika ní Cars regresní Mandarin regresní EEG klasika ní Tabulka 5.1: Seznam testovaných soubor dat Na ítání dat z více zdroj P i testování integrace dvou r zných softwarových balík je klí ové vyty it hranici, kdy je²t testujeme nov dodanou funk nost a kdy uº testujeme p vodní balíky, které by m ly být otestované samostatn. Vzhledem k tomu, ºe hlavní zodpov dnost mnou dodaného e²ení je p etransformovat data vy tená pomocí PDI API a p edat je do aplikace FAKE GAME k dal²ímu zpracování, leºí hlavní úskalí práv v r zných typech dat. V první fázi testování jsem tedy vytvo il n kolik jednoduchých transformací, které v podstat jen vy tou data z datových soubor. P íklad takové opravdu jednoduché transformace je na obrázku 5.4. Následn jsem opakovan spou²t l FAKE GAME v reºimu DMBatchReport s r znými vstupními parametry (zejména typy testování) a nastavoval postupn tyto transformace jako zdroje dat. Sledoval jsem, zda produkované reporty odpovídají report m vyprodukovaným p vodním p ístupem - tedy tením dat p ímo ze souboru. N které soubory nebylo moºné p vodním p ístupem zpracovat, protoºe vyºadovaly ur ité p edzpracování (které umoº uje práv vyuºití PDI), ale nebylo sloºité vyhodnotit správnost mnou produkovaných report i bez porovnání. Obrázek 5.4: Ukázka vy tení dat z csv souboru Testování prokázalo, ºe FAKE GAME s vyuºitím PDI API je schopný v²echny tyto soubory zpracovat. Transformace na obrázku 5.4 je sice velmi jednoduchá, na druhou stranu v p ípad na ítání dat pouze z jednoho zdroje není asto t eba ºádných komplikovaných struktur. V druhé fázi testování jsem p ikro il k na ítání dat z r zných datových zdroj. Vytvo il jsem op t n kolik testovacích transformací, které by m ly co nejkomplexn ji pokrývat p edpokládané vyuºití PDI. Cílem je zjistit, zda je FAKE GAME schopný tyto transformace vykonat, vy íst z nich data a zpracovat je. Testované zdroje dat zahrnují p edev²ím databázové tabulky, textové soubory, CSV soubory, excelovské tabulky a XML soubory. Data jsou následn upravována a agregována s vyuºitím transforma ních krok. Tyto testovací transformace jsou k dispozici na p iloºeném CD v adresá i etc/tests/pdi_trans.

60 44 KAPITOLA 5. VYUšITÍ PDI API V RÁMCI FAKE GAME P íklad takové transformace je uveden na obrázku 5.1. Zde dochází k na ítání dat pro klasikaci kosatc. Pro pot eby tohoto experimentu jsem na etl p íslu²ná data do databáze a ást uloºil do csv souboru. Dal²í ást dat jsem rozd lil mezi excelovskou tabulku a textový soubor tak, ºe data v textovém souboru obsahují pouze seznam rozm r kosatc a excelovská tabulka obsahuje t ídy odpovídajících záznam. Záznamy v obou t chto souborech jsou ozna eny identika ními ísly, aby bylo moºné je navzájem spárovat. Záznamy jsou tedy na po átku se azeny, následn spojeny operací JOIN, po mapování názv sloupc tak, aby korespondovaly se záznamy z ostatních zdroj, jsou data sjednocena. Pro testovací ú ely p idávám i na ítání ásti dat z XML souboru. Mapování do odpovídajícího výstupního formátu je dosaºeno s pomocí kroku umoº ujícího vykonání krátkého programu v JavaScriptu. Obrázek 5.5: Transformace pro tení dat ze dvou r zných databází V transformaci uvedené na obrázku 5.5 jsou data na tena ze dvou r zných databází a následn propojena. Propojení op t probíhá na základ identika ního ísla p i azeného záznam m v obou tabulkách. Pro zajímavost jsem doplnil do vstupních dat je²t dva sloupce s náhodnými hodnotami, jednou se jedná o náhodn vygenerované íslo, v druhém p ípad je toto íslo vºdy umocn no na druhou. Je pom rn zajímavé sledovat, jak dopadl feature ranking, kdy se náhodné vstupní parametry umístily p ekvapiv vysoko. Výsledek vyst iºený z výsledného reportu vyprodukovaného pomocí FAKE GAME uvádím na obrázku 5.6 (na obrázku jsou náhodn generované vstupy znázorn ny ºlutou a alovou barvou). Tento výsledek m ºe být zp soben men²ím po tem instancí a relativn ²irokou ²kálou vstupních parametr, kdy ºádná díl í hodnota jednotlivých vstup opravdu pravd podobn neovliv uje kone ný výsledek p íli² výrazn.

61 5.2. TESTOVÁNÍ FAKE GAME S VYUšITÍM PDI API 45 Obrázek 5.6: Transformace pro tení dat ze dvou r zných databází

62 46 KAPITOLA 5. VYUšITÍ PDI API V RÁMCI FAKE GAME

63 Kapitola 6 Plugin pro PDI Obrázek 6.1: Ukázka rozhraní FAKE GAME pluginu pro PDI 6.1 Realizace Zatímco roz²í ení funkcí FAKE GAME jsem implementoval p ímo v rámci projektu, pro PDI plugin jsem vytvo il samostatný projekt, který hostuji v rámci Google Project Hosting [3]. Zde je dostupný i Subversion repozitá, odkud je moºné získat lokální kopii projektu. Plugin funguje velmi podobn jako jiº zmín ný Weka Scoring plugin. Je schopný na íst serializovaný objekt reprezentující model nebo klasikátor vyprodukovaný pomocí FAKE GAME. Klasi- kátory a modely jsou jiº kompletn nastavené a nau ené. Samotná innost pluginu spo ívá v tom, ºe nad p ivedenými daty provede výpo et odpovídající nahranému modelu a výsledkem je íselné ohodnocení kaºdé instance reprezentující bu odhadnutou hodnotu nebo (v p ípad klasikátoru) t ídu, do které instance pat í. U klasikátor je moºné p epnout na zobrazení pravd podobností p íslu²nosti k jednotlivým t ídám (output probabilities). 47

64 48 KAPITOLA 6. PLUGIN PRO PDI Nastavení vývojového prost edí Samostatnou kapitolou p i vývoji plugin pro Pentaho nástroje je nastavení vývojového prost edí. Není úpln triviální, proto se zde o této problematice krátce zmíním. Pentaho pro tvorbu v podstat v²ech projekt vyuºívá vývojovou platformu Eclipse. V ele doporu uji ji v p ípad práce na nich vyuºívat rovn º. Z repozitá e je pak asto moºné stáhnout kompletní projekt i s nastavením (toto se týká zejména Pentaho BI platform). Pluginy pro PDI jsou na ítány dynamicky p i spu²t ní aplikace z adresá e PDI_HOME/plugins/steps. P i p ímo arém p ístupu by tak vývoj pluginu znamenal neustále opakování t chto inností: 1. Uloºení zm n. 2. Kompilace zdrojových kód a vytvo ení JAR archivu. 3. Nakopírování JAR archiv a kongura ního souboru plugin.xml do adresá e s pluginy. 4. Spu²t ní PDI. A takto stále dokola p i kaºdé zm n kódu. Abychom mohli výsledný plugin rozumn ladit je t eba provést malý trik. Krom projektu s pluginem vytvo íme je²t jeden projekt, kam stáhneme z repozitá e lokální kopii PDI. V projektu, kde je umíst no PDI vytvo íme v adresá i plugins/steps sloºku pro ná² nový plugin a nakopírujeme sem p íslu²ný soubor plugin.xml, kde jsou uvedeny cesty ke knihovnám, na nichº je ná² nový plugin závislý. M ºeme sem nakopírovat i tyto knihovny, ale nekopírujeme archiv se samotným pluginem! V projektu s na²ím pluginem nastavíme závislost na projektu s PDI. Zbývá nastavit parametry spou²t ní v projektu s na²ím pluginem. Jednak je t eba zm nit pracovní adresá na ko enový adresá projektu s PDI a jako hlavní (Main) spustitelnou t ídu nastavíme org.pentaho.di.ui.spoon.spoon. Díky této úprav m ºeme spou²t t PDI v rámci prost edí Eclipse i s pln nakongurovaným vlastním pluginem Specický class loader P edchozí postup nám umoºní pohodln vyuºívat v²ech ladících moºností vývojového prost edí. Jeden typ chyb takto ale neodhalíme. Pokud b ºí PDI samostatn vyuºívá pro pluginy zvlá²tní class loader. P i aplikaci vý²e uvedeného postupu nám na tení v²ech pot ebných t íd zajistí vývojové prost edí. V p ípad FAKE GAME se tak projevily problémy aº p i ostrém nasazení. N které t ídy FAKE GAME vyuºívají pro dynamické nahrávání t íd (nap. na základ informací zapsaných v kongura ních souborech) systémový class loader, tedy volání: Class c = ClassLoader.getSystemClassLoader().loadClass(className); Závislosti pluginu tak nebyly dostupné (musí se k nim p istupovat p es class loader vyhrazený pro pluginy). Tato informace byla ve zdrojových kódech napevno zapsaná a nebylo moºné class loader zm nit nap. voláním p íslu²ného setteru, jak je tomu zvykem v p ípad n kterých jiných

65 6.1. REALIZACE 49 projekt. Musel jsem tedy p istoupit k p epsání takto implementovaných t íd. Abych zachoval jejich p vodní funkcionalitu zvolil jsem e²ení, kdy pro dynamické na ítání t íd pouºívám class loader, jenº nahrál volající t ídu. Tedy: Class c = getclass().getclassloader().loadclass(classname); Takto je zachována v podstat p vodní funkcionalita, kdy se za b ºných okolností pouºívá implicitn systémový class loader a zárove je FAKE GAME schopný fungovat i jako plugin. V takovém p ípad vyuºívá class loader, který jej na etl Struktura FAKE GAME pluginu pro PDI Struktura pluginu odpovídá p edepsané struktu e popsané v kapitole Jednotlivé názvy základních t íd respektují p edepsané jmenné konvence: FakeGamePlugin Obsahuje samotnou výkonnou ást programu, tedy volání logiky týkající se vyhodnocení jednotlivých instancí za pouºití p íslu²ného modelu. FakeGamePluginData V tomto p ípad není t eba ukládat n jaké mezivýsledky, takºe neobsahuje ºádnou zvlá²tní logiku, pouze metody, které implementuje v podstat kaºdý plugin pro PDI. FakeGamePluginMeta Stará se o práci s kompletní kongurací pluginu, o její ukládání a na ítání, volá logiku deserializace model a klasikátor. FakeGamePluginDialog Zobrazuje a obsluhuje uºivatelské rozhraní v podob kongura ního dialogu. V této souvislosti bych ale rád zmínil je²t jeden aspekt návrhu architektury pluginu. FAKE GAME rozli²uje dva typy model : ConnectableModel pro regresní problémy a ConnectableClassifier pro klasika ní problémy. Od t chto t íd d dí v²echny klasikátory a modely. Samotné tyto dv t ídy v²ak nemají spole ného p edka ani spole né rozhraní a není k nim tedy moºné p istupovat jednotn. Vzhledem k tomu, ºe by bylo pon kud ne²ikovné a nep ehledné p i jakékoliv práci s nimi neustále rozli²ovat, o který typ se jedná, doplnil jsem jisté zjednodu²ení s vyuºitím návrhového vzoru Facade [6]. PDI plugin totiº od obou typ vyºaduje v podstat stejné operace: Na íst objekt na základ jeho serializované podoby. Vyhodnotit instanci reprezentovanou p edanou ádkou dat a vrátit výsledek v podob jednoho nebo více sloupc p idaných do této ádky. Dal²í drobné operace, jako vrácení po tu a názv vstup apod.

66 50 KAPITOLA 6. PLUGIN PRO PDI Výsledek je znázorn n na zjednodu²eném diagramu na obrázku 6.2. Je z n j patrné, ºe plugin, reprezentovaný zde t ídou FakeGamePluginMeta je kompletn odstín n od vnit ní logiky FAKE GAME prost ednictvím t ídy ModelsFacade a nadále komunikuje pouze s ní. ModelsFacade pak deleguje úkoly na p íslu²né t ídy FAKE GAME (v diagramu ozna ené mod e). Nejenºe ModelsFacade skrývá rozdíly mezi klasikátory a modely, ale zárove p sobí jako obálka na jejich libovolný po et. V souboru m ºe být uloºeno i více serializovaných model. V takovém p ípad zobrazí plugin výsledek vyhodnocení kaºdého z nich. I tuto logiku zapouzd uje ModelsFacade. Obrázek 6.2: Aplikace návrhového vzoru Facade za ú elem odstín ní logiky FAKE GAME od zbytku PDI pluginu. 6.2 Testování pluginu pro PDI Unit testy Vytvá ení unit test pro PDI plugin bylo o n co sloºit j²í, neº v p ípad testování vyuºití PDI API. P ed vyvoláním konkrétních test bylo asto t eba simulovat z velké ásti nakon- gurované prost edí PDI. To si samoz ejm vyºádalo rozsáhlej²í práci s vnit ní strukturou PDI, od které je jinak vývojá b hem vytvá ení plugin do zna né míry odstín n. I z t chto d vod se poda ilo dosáhnout pouze 75% pokrytí kódu pluginu, kdy zbytek se ukázalo jako efektivn j²í otestovat jinou cestou. Do automatizovaných test v této ásti nezahrnuji t ídy starající se výhradn o zobrazení grackého uºivatelského rozhraní, jejichº automatické testování je zpravidla komplikované a b ºen bývá efektivn j²í testovat je jinými zp soby Vytvo ení testovacích transformací V p ípad testování pluginu pro PDI není t eba experimentovat s r znými typy transformací, protoºe data do pluginu p ichází ve stále stejné podob dané vnit ním rozhraním PDI nezávisle na tom, odkud byla na tena. Co m ºe p sobit problémy jsou r zná data. Op t jsem tedy vyuºil soubory dat vyuºívané jiº d íve pro FAKE GAME, popsané v kapitole 5.2. Sestavil jsem n kolik transformací, které jsou schopné vy íst data z datových soubor, vyhodnotit je pomocí mého pluginu a uloºit výsledky do souboru. Pomocí uºivatelského rozhraní FAKE GAME jsem vygeneroval n kolik model a uloºil je v serializované podob.

67 6.2. TESTOVÁNÍ PLUGINU PRO PDI 51 Tyto modely jsem následn nahrál prost ednictvím pluginu, spou²t l sestavené transformace a sledoval, zda výsledky odpovídají výsledk m získaným s pomocí FAKE GAME. Je t eba podotknout, ºe v sou asné dob je FAKE GAME schopný vhodným zp sobem exportovat pouze jednoduché modely jako polynomiální, lineární, exponenciální apod. Do budoucna je v²ak po ítáno s moºností exportovat kompletní ²kálu pouºitelných model, kterými program disponuje, do formátu zpracovávaného pluginem pro PDI. Krom testování s daty jsem ov oval manuáln i funk nost pluginu, kterou nebylo moºné dob e pokrýt unit testy. Tedy zejména funkce uºivatelského rozhraní a správné ukládání a na ítání nastavení pluginu jak do soubor s denicemi transformací, tak do repozitá PDI. Testované transformace jsou op t uloºené v adresá i etc/tests/pdi_plug na p iloºeném CD. Krom testovacích ú el mohou slouºit i jako výborný zdroj p íklad pouºití pluginu, protoºe pokrývají v podstat v²echna jeho moºná nasazení Porovnání s výsledky pluginu Weka scoring Ve nále jako jakýsi "Proof of concept"jsem sestavil rovn º p íklad jiº avizovaného nasazení ve spolupráci s pluginem Weka Scoring. Ve Wecce jsem vytvo il neuronovou sí typu Multilayer Perceptron a nau il ji klasikovat na vzorovém souboru dat o kosatcích z UCI databáze [23]. S pomocí FAKE GAME jsem vytvo il klasikátor sloºený z polynomiálních model, dále klasikátor na bázi sít GAME a kone n t i polynomiální modely, které na výstupu modelují vºdy jednu z klasikovaných t íd. Jako trénovací mnoºinu pro nau ení model jsem ve v²ech p ípadech pouºil polovinu záznam z datového souboru. Záznamy jsem vybral náhodn tak, aby byly zastoupeny v²echny t ídy rovnom rn. V prost edí PDI jsem vytvo il p íslu²nou transformaci s vyuºitím plugin Weka Scoring a FAKE GAME (viz. obrázek 6.3). Transformace na te testovací data a p id lí jim identika ní ísla, aby bylo moºné jednotlivé instance klasikované r znými klasikátory lépe slu ovat. Data jsou rozdistribuována p íslu²ným plugin m. FAKE GAME plugin je schopný v rámci jednoho kroku klasikovat pomocí více klasikátor, pro názornost jsem v²ak pro kaºdý klasikátor vytvo il krok vlastní. Kaºdý plugin tedy p id lí na základ vstupních dat kaºdé instanci odhadnutou výstupní t ídu. Výsledky jsou slou eny, sjednoceny a uloºeny do souboru. Vytvo ení této transformace bylo pon kud svízelné. Jak jsem se jiº zmi oval v pr b hu mé práce do²lo k vydání nové verze PDI, která pom rn zásadním zp sobem m ní rozhraní plugin. Díky t mto zm nám nefungují v poslední verzi PDI v podstat ºádné dosavadní pluginy a tedy ani Weka Scoring plugin. Abych mohl transformaci ve tvrté verzi PDI spou²t t, musel jsem mírn p epracovat i Weka Scoring plugin, coº bylo na²t stí moºné vzhledem k dostupnosti jeho zdrojových kód. Jedná se v²ak pouze o provizorní úpravy pro pot eby této práce. Kompletní upgrade pluginu nechávám rad ji jeho autorovi. V kaºdém bod transformace je moºné zobrazit výsledky dosavadních krok. Úsp ²nost klasikace tak m ºeme sledovat p ímo v prost edí PDI, nebo jej uloºit do libovolného výstupního formátu pro p ípadné dal²í zpracování. Na obrázku 6.4 je ukázka zobrazení výsledk v prost edí PDI. V prvním sloupci vidíme referen ní hodnoty klasikovaných t íd. Následují výsledky klasikace pomocí wekovské neuronové sít a dále výsledky klasikátor FAKE GAME (polynomiální a GAME). Poslední t i sloupce ukazují výsledky model modelujících vºdy jednu z výstupních t íd.

68 52 KAPITOLA 6. PLUGIN PRO PDI Obrázek 6.3: Transformace porovnávající výsledky klasikátor vytvo ených ve Wecce a výsledky klasikátor vytvo ených prost ednictvím FAKE GAME Klasikátor Pouºitý software Po et chyb Po et chyb v % Multilayer Perceptron Weka % Polynomiální klasikátor FAKE GAME % Sí GAME FAKE GAME % Tabulka 6.1: Výsledky porovnání klasikátor vytvo ených pomocí Weky a FAKE GAME Výsledky porovnání klasikátor uvádím v tabulce 6.1. Zde je uveden pro kaºdý pouºitý klasikátor po et chybn klasikovaných instancí. Vidíme, ºe nejh e dopadla v tomto p ípad sí GAME, stejnou úsp ²nost pak m la vícevrstvá neuronová sí a klasikátor sloºený z polynomiálních model. Inkriminovaná transformace je uloºena v adresá i etc/tests/pdi_plug/iris na p ilo- ºeném CD. V dal²ím experimentu jsem provedl podobnou proceduru, tentokráte pro regresní problém - ur ování spot eby vody mandarinkovníku. Op t jsem datový soubor rozd lil náhodn na dv ásti instancí jsem pouºil jako trénovací data, 1141 instancí potom jako data testovací. Sestavil jsem o n co komplexn j²í transformaci (na obrázku 6.5), která op t na te trénovací data, rozdistribuuje je, následn sjednotí výsledky a v tomto p ípad rovnou i spo ítá celkovou chybu jednotlivých model metrikou RMS (Root Mean Square). Jako modely vytvo ené pomocí FAKE GAME jsem pouºil lineární regresní model a polynomiální model. V rámci Weky jsem vytvo il lineární regresní model. Výsledek práce transformace je zobrazen na obrázku 6.6. Vidíme tedy, ºe výsledky lineárních model vytvo ených pomocí Weky a FAKE GAME se p íli² neli²í. Nejlep²ích výsledk v²ak v tomto p ípad do-

69 6.2. TESTOVÁNÍ PLUGINU PRO PDI 53 Obrázek 6.4: Zobrazení dosavadních výsledk transformace v PDI sáhl model polynomiální vytvo ený pomocí FAKE GAME.

70 54 KAPITOLA 6. PLUGIN PRO PDI Obrázek 6.5: Transformace pro porovnání výsledk model vytvo ených pomocí FAKE GAME a Weky Obrázek 6.6: Výsledek transformace pro porovnání výsledk model vytvo ených pomocí FAKE GAME a Weky

71 Kapitola 7 Plugin pro Pentaho BI platform Obrázek 7.1: Ukázka zobrazeného FAKE GAME reportu v rámci Pentaho BI platform 7.1 Realizace Podobn jako v p ípad PDI pluginu jsem vytvo il samostatný projekt hostovaný v rámci Google Project Hosting [4]. Zde je op t moºné získat lokální kopii zdrojových kód ze Subversion Struktura projektu Pro vytvo ení samotného projektu je velmi výhodné vyuºít p edp ipravený groovy skript, který je moºné stáhnout ze stránek projektu Suboor [22]. Jeho pouºití je velmi jednoduché: 55

72 56 KAPITOLA 7. PLUGIN PRO PENTAHO BI PLATFORM Adresá src/ test-src/ dist/ lib/ package-res/ solutions/ Obsah adresá e Zdrojové kódy. Unit testy. Adresá s distribucí pluginu JAR archivy, na kterých plugin závisí - v tomto p ípad game-core.jar a v²echny jeho závislosti. Dal²í soubory, které plugin pot ebuje ke své innosti. V tomto p ípad nap. kaskádové styly denující vzhled reportu. Adresá obsahuje vzorová e²ení vyuºívající plugin. P i volání ant install jsou tato e²ení nakopírována do repozitá e BI serveru. Tabulka 7.1: Adresá ová struktura projektu tvo ícího Pentaho BI plugin groovy ~/bin/projcreator.groovy mujprojekt -o acme -p -d /cesta/k/bi-serveru Tento skript vytvo í kompletní adresá ovou strukturu pro vývoj Pentaho BI pluginu a nastaví p íslu²né Ant skripty. P íkazem ant pak projekt zkompilujeme a p ipravíme k distribuci. P íkazem ant install jej nasadíme na server. Seznam základních adresá projektu a jejich obsahu je uveden v tabulce Nastavení vývojového prost edí Jak jsem jiº uvedl, pro vývoj Pentaho je velmi výhodné vyuºívat Eclipse. V p ípad Pentaho BI platform je to tém nutnost. Abychom mohli pluginy pro platformu ladit, musíme si opat it její zdrojové kódy. Za tímto ú elem je nutné p ipravit si následující nástroje: Java Development Kit, aplika ní server Tomcat, sestavovací nástroj Ant a vývojové prost edí Eclipse s pluginy XML Task, Subclipse a IvyIDE. Pokud je máme úsp ²n nainstalované, m ºeme se pustit do stahování zdrojových kód platformy. Jedná se o 22 projekt z Pentaho repozitá e, jejichº seznam je uvedený v dokumentaci [21]. Z repozitá e by se nám m ly stáhnout kompletní projekty pro Eclipse i s nastavením závislostí mezi sebou navzájem. Závislosti na knihovnách t etích stran e²í Ivy, lépe e eno v rámci Eclipse plugin IvyIDE. P i zapnuté volb Build Automatically je tento proces automatický. V mém p ípad ale do²lo k problém m s n kterými závislostmi, které bu nebyly v repozitá ích uloºeny v bec, nebo nebyly zrovna dostupné. Tento problém je asi nejjednodu²²í e²it dohledáním p íslu²ných knihoven na internetu a uloºením v lokální cache p ípadn v lokálním repozitá i Ivy. Te musíme p ipravit Tomcat s nainstalovanou Pentaho BI platform. V projektu bi-platform-build nastavíme v souboru dev_override.properties cestu k lokální instalaci Tomcatu a spustíme p íslu²ný Ant skript p íkazem: ant -f dev_build.xml dev-rebuild Skript zkompiluje v²echny staºené projekty, v rámci workspace vytvo í kopii aplika ního serveru a provede instalaci celé aplikace. V rámci r zných opera ních systém je adresá ová

73 7.1. REALIZACE 57 struktura nainstalovaného Tomcatu r zná. P ed spu²t ním zmín ného skriptu je nutné dbát na to, aby v nastaveném domovském adresá i Tomcatu byly p ítomny tyto sloºky: server/, common/, logs/ a lib/. V mém p ípad (instalace pod linuxovou distribucí Ubuntu) bylo t eba vytvo it symbolický link do adresá e server/lib/. V Eclipse je potom t eba nakongurovat takto vytvo ený aplika ní server tak, aby bral v úvahu v²echny staºené zdrojové kódy. Postup je popsaný v dokumentaci [12]. P ed spu²t ním serveru je t eba dbát na to, aby ºádná jiná aplikace nevyuºívala port 8080 a aby byla spu²t na databáze a nakongurována pro Pentaho. Nejjednodu²²í zp sob, jak toho docílit je spustit databázi Hypersonic, která je p ibalena do distribuce vytvo ené pomocí zmín ného Ant skriptu. V mém p ípad se v této fázi i p esto objevily problémy s p ipojením k databázi, protoºe b hem procesu nasazování aplikace na server skript nenahraje p íslu²ný JDBC ovlada. Situaci je moºné e²it p idáním ovlada e na Class Path serveru p ímo v prost edí Eclipse. V této fázi je po spu²t ní serveru pomocí Eclipse konzole dostupná Pentaho BI platform na adrese Pokud p idáme projekt s na²ím pluginem mezi zdrojové kódy v nastavení aplika ního serveru a nahrajeme jej na server, m ºeme jej pohodln ladit v prost edí Eclipse FAKE GAME plugin pro PDI K vytvo ení pluginu pro BI platform jsem zvolil p ístup prost ednictvím Akcí - tedy odleh ené verze Komponent - popsaný v kapitole Samotná realizace na stran Pentaho je pom rn p ímo ará a spo ívá v implementaci p íslu²ného rozhraní - v mém p ípad IStreamingAction, které nazna uje, ºe se jedná o akci schopnou vrátit n jaká rozsáhlej²í data v podob streamu. V mém p ípad Akce vrací kompletní HTML report. Ten je pak moºné zobrazit uºivateli. Akce vlastn vrací dva streamy. Jeden p edstavuje kompletní report ve formátu HTML (zobrazitelný uºivateli) a druhý stream obsahuje tento report zabalený v ZIP archivu tak, aby jej bylo moºné p edat dal²ím komponentám (nap. komponent schopné rozesílat y). Hlub²ím prozkoumáním ostatních komponent jsem zjistil, ºe v podstat v²echny sou- ásti Pentaho schopné íst a p edávat dál strukturovaná data je p edávají ve form typu result-set (viz tabulka 4.2). Akce produkující FAKE GAME report tedy na vstupu p ijímá tento datový typ a dále jej p evádí na formát vhodný pro FAKE GAME. Dal²í vstupy jsou kongura ní. Chování Akce je moºné ovlivnit její kongurací v rámci.action souboru následujícím zp sobem: <action-definition> <component-name>fakegameaction</component-name> <action-type>fake GAME Action</action-type> <action-inputs> <data type="result-set"/> </action-inputs> <action-resources> <configzip type="resource"/> </action-resources>

74 58 KAPITOLA 7. PLUGIN PRO PENTAHO BI PLATFORM <action-outputs> <zippedreport type="content"/> <response type="content"/> </action-outputs> <component-definition> <experimentseries><![cdata[false]]></experimentseries> <trainteststrategy><![cdata[whole-set]]></trainteststrategy> </component-definition> <action-name>test FAKE GAME Action</action-name> <logging-level>debug</logging-level> </action-definition> Nep ekvapí nás, ºe na vstup komponenty tedy p ivedeme data. Její chování m ºeme ovlivnit volbami experimentseries a trainteststrategy. Ty odpovídají nastavení, kterým lze chování FAKE GAME ovlivnit p i spou²t ní z p íkazové ádky a indikují, zda se mají experimenty opakovat (volby "true"nebo "false") a ur ují testovací strategii (volby: "crossvalidation", nebo "train-test", nebo "whole-set"). Tyto volby mohou být zadané napevno p i volání komponenty, nebo mohou být p ivedeny na vstup z jiných zdroj (nap. parametry p edané v url). Akce vyºaduje na vstupu rovn º ZIP archiv s kongurací samotných model, které se mají v rámci reportu vyhodnotit. FAKE GAME pouºívá za tímto ú elem adresá, v n mº jsou uloºeny soubory s kongurací konkrétních model. To se p íli² neslu uje s lozoí ostatních komponent Pentaho, které obvykle p ijímají takováto nastavení v podob streamu jako kongura ní soubory. Tomu odpovídá i celý framework pro provád ní Sekvencí akcí a p edávání vstup Akcím. Abych tuto disproporci odstranil, p istoupil jsem práv k na ítání zabaleného kongura ního adresá e. Akce potom archiv vnit n zpracuje a do FAKE GAME p edává uº cestu k rozbalenému adresá i, jak je pro n j typické. Nastavení komponenty je samoz ejm moºné provád t i pohodln ji v generickém prost edí Design Studia (kapitola ) Roz²í ení FAKE GAME automatizovaného Data Mining Flow Pro p ípad na ítání dat v rámci BI platform a generování report zobrazitelných v jejím prost edí bylo t eba FAKE GAME poupravit o n co více neº v p ípad práce s PDI API. Za tímto ú elem jsem v rámci pluginu vytvo il nový prol DMPentahoBIProfile vycházející ze stávajícího DMBatchProfile. Li²í se ve zp sobu importu dat, kdy místo t ídy ImportFile potaºmo ImportPDI nasazuje novou t ídu ImportPentahoBI, která je schopna p eloºit data ve formátu IPentahoResultSet. S výhodou je vyuºito jiº existujícího nasazení návrhového vzoru Template method popsaného v kapitole tak, ºe ImportPentahoBI pouze dopl uje zpracování nového formátu dat v podob t ídy LoadResultSetPreprocessor, zbytek úprav v rámci FAKE GAME obstarává jiº hotová t ída AbstractImport. Situace je znázorn na na obrázku 7.2. Jedná se o dopln ní jiº hotové struktury z obrázku 5.3. T ídy p idané v rámci pluginu pro BI platform jsou vyzna eny oranºov. Krom jiných vstup bylo pot eba upravit i výstup prolu, tedy generovaný report. Formát HTML sice vyhovuje pot ebám BI platform velmi dob e, ov²em problém je v generování cest k obrázk m. K t m se v rámci platformy p istupuje p es k tomu ur ený servlet

75 7.2. TESTOVÁNÍ PLUGINU PRO PENTAHO BI PLATFORM 59 Obrázek 7.2: Dopln ní dal²ího zp sobu na ítání dat do jiº hotové architektury FAKE GAME getimage (viz. tabulka 4.1). Musel jsem tedy doplnit nový "vykreslova "report, coº díky exibilnímu systému jejich generování v rámci FAKE GAME (popsanému v kapitole 4.2.1) nep edstavovalo velký problém. Realizace je znázorn na na obrázku 7.3. Oranºovou barvou jsou vyzna eny nov dodané t ídy, které si vyºádal plugin pro Pentaho BI platform. Jak je vid t, z valné ásti bylo moºné vyuºít jiº existující t ídy. 7.2 Testování pluginu pro Pentaho BI platform Unit testy P i automatickém testování pluginu pro BI platform jsem zvolil pon kud odli²ný p ístup neº v p edchozích dvou p ípadech. Zde je totiº moºné s výhodou vyuºít za tímto ú elem p edprogramované mikroplatformy, jejímº prost ednictvím je moºné v rámci unit test jednotlivé pluginy spou²t t. Vytvo il jsem n kolik jednoduchých sekvencí akcí skládajících se z p edání testovacích vstup a volání mnou naprogramovaného pluginu. Mikroplatforma sekvenci vykoná a vrátí její výstup. Ten je pak moºné vyhodnotit. V tomto p ípad se tedy jedná z v t²í ásti o regresní testování. Bez tohoto p ístupu by bylo automatické testování velmi komplikované z podobných d vod jako testování pluginu pro PDI - tedy nutnost dostat p ed v t²inou test prost edí BI platform do konzistentního stavu. Testovací sekvence jsem navrhl tak, aby obsahovaly data jak k e²ení klasika ních problém, tak k e²ení regresních s vyuºitím r zných metod vyhodnocování výsledných model, dosáhl jsem tak 86% pokrytí. Automatizované testy jsou dostupné v adresá i projektu (src/fgpentahobiplugin) na p iloºeném CD.

76 60 KAPITOLA 7. PLUGIN PRO PENTAHO BI PLATFORM Obrázek 7.3: Zm na zp sobu generování obrázk p i vykreslení FAKE GAME reportu Vytvo ení testovacích sekvencí Krom automatizovaných test jsem op t sestavil i n kolik scéná pro ru ní testování v podob sekvencí akcí. První p i²lo na adu testování s r znými daty. S výhodou jsem vyuºil jiº vytvo ených PDI transformací popsaných v kapitole Ty jsem za lenil do sekvencí akcí s pomocí komponenty Pentaho Data Integration a takto na tená data (jejich p ehled je uveden v tabulce 5.1) p edal mé komponent Fake Game Action. Na obrázku 7.4 je ukázka integrace pluginu v sekvenci akcí v prost edí Design Studia, v tomto p ípad se jedná o na tení dat o prodejních cenách aut prost ednictvím PDI. Vzhledem k tomu, ºe komponenta poskytuje na výstupu report ve formátu HTML nebo zazipovaný, je moºné jej zobrazit p ímo uºivateli, nebo nechat odeslat em. Cílem tedy bylo ov it odolnost komponenty proti r zným typ m vstupních dat a schopnost zpracovat i jejich v t²í mnoºství. Komponenta je schopná zpracovat v²echny testované zdroje dat, zpracování se m ºe u v t²ích datových soubor protáhnout, zejména kv li vnit ním výpo t m FAKE GAME. Doba provád ní je závislá krom mnoºství dat i na po tu testovaných model a na testovací strategii, kdy nejdéle zpravidla trvá výpo et se strategií cross validation implicitn nastavenou na 10 opakování. Krom testování s r znými daty jsem v n kterých sekvencích akcí testoval i s r znými konguracemi. Pentaho BI platform umoº uje vyºádat si od uºivatele zadání pot ebných vstup, jak je vid t na obrázku 7.5. Sestavil jsem t i typy kongurací. V rámci reportu je tedy moºné zobrazit: Vizualizaci dat Feature ranking Výsledky testování jednotlivých model - v tomto p ípad je dále moºné zvolit typ testování

77 7.2. TESTOVÁNÍ PLUGINU PRO PENTAHO BI PLATFORM 61 Obrázek 7.4: Za len ní pluginu do sekvence akcí v prost edí Design Studio Obrázek 7.5: Výb r typu reportu Pro ilustraci uvádím na obrázku 7.6 výsek vyprodukovaného FAKE GAME reportu zobrazující vizualizaci dat v podob histogram pro jednotlivé vstupy v rámci e²ení problému spot eby vody mandarinkovníku. V dal²í fázi jsem testoval správnou integraci v platform tak, ºe jsem zkombinoval mou komponentu s ostatními v rámci sekvencí akcí a sledoval, zda jsou schopné mezi sebou komunikovat. D raz jsem kladl krom zpracování PDI transformací na na ítání dat z databáze (na obrázku 7.7) a propojení s komponentou odesílající y. Dal²í ukázky nasazení FAKE GAME pluginu pro Pentaho BI platform sesbírané b hem testování uvádím v obrazové p íloze E. V²echny zmín né sekvence akcí jsou dostupné na p iloºeném CD (v rámci Pentaho BI serveru je to sloºka pentaho-solutions/bi-developers/fakegame). V t²inu by m lo být moºné spou²t t nezávisle na umíst ní, n které v²ak z pochopitelných d vod vyºadují p izp sobení podmínkám na lokálním stroji (nap. nastavení p ipojení k databázi, SQL skripty pro vytvo ení p íslu²ných tabulek jsou v takovém p ípad rovn º uloºeny na p iloºeném CD).

78 62 KAPITOLA 7. PLUGIN PRO PENTAHO BI PLATFORM Obrázek 7.6: Vizualizace datového souboru - ukázka histogram z FAKE GAME reportu v rámci Pentaho BI platform

79 7.2. TESTOVÁNÍ PLUGINU PRO PENTAHO BI PLATFORM 63 Obrázek 7.7: Propojení FAKE GAME s komponentou starající se o tení dat z rela ní databáze.

80 64 KAPITOLA 7. PLUGIN PRO PENTAHO BI PLATFORM

81 Kapitola 8 Záv r 8.1 Zhodnocení dosaºených cíl V rámci této práce jsem navrhl a implementoval t i e²ení integrace dvou open-source nástroj. Zejména FAKE GAME takto získal ²irokou ²kálu dal²ích moºností práce s daty a v rámci platformy i n kolik dal²ích kanál distribuce výsledných report. Uve me si základní p ehled nových funkcí podle implementovaných e²ení. FAKE GAME s vyuºitím PDI API m ºe nov : Na ítat data z p sobivého mnoºství zdroj zahrnujícího valnou v t²inu pouºívaných rela ních databází, XML soubory, textové (nejenom CSV) soubory, excelovské tabulky, webové sluºby, OLAP databáze a mnoho dal²ích v etn napojení na proprietární software jako nap. SAP. Datové zdroje libovoln kombinovat, zejména slu ovat a provád t r zné druhy JOIN operací a to i mezi r znými typy zdroj. Není tedy problém nap. na ítat ást dat ze soubor a ást z databází. Roz²í it své schopnosti p edzpracování dat. V rámci transformací je moºné data redukovat, istit, provád t konverze a mapovat výstupní hodnoty. S pomocí JavaScriptu m ºe uºivatel velmi exibiln dopl ovat vlastní funkce p ed tím, neº jsou data p edána ke zpracování pomocí samotného FAKE GAME. FAKE GAME plugin pro PDI: Roz²i uje ²kálu wekovských model, které je moºné v rámci PDI vyuºít, o modely specické pro FAKE GAME. Vzhledem k tomu, ºe je s jeho pomocí moºné velmi snadno porovnávat výsledky model vyprodukovaných pomocí FAKE GAME a výsledky model z Weky, m ºe slouºit k efektivnímu výb ru nejlep²ího e²ení. FAKE GAME plugin pro Pentaho BI platform zprost edkovává b h FAKE GAME v rámci platformy, ímº mu dává moºnosti v²ech jejích klasických komponent, tedy: 65

82 66 KAPITOLA 8. ZÁV R Moºnost adit FAKE GAME do sekvencí akcí a tak vyuºívat schopností ostatních komponent jako jsou r zné zdroje dat (v etn PDI transformací), moºnost odesílat výsledné reporty em, nebo je tisknout, sestavovat jednoduché work ows zahrnující generování report. Moºnost plánovat automatická spou²t ní produkce report. Moºnost denovat jednoduché uºivatelské rozhraní pro zadání základních kongura ních parametr. Kompletní správu p ístupových práv k jednotlivým report m, ²iroké moºnosti sdílení report v rámci platformy. Krom napln ní zmín ných cíl otevírá integrace FAKE GAME v rámci populární Pentaho BI platformy dal²í moºnosti propagace tohoto nástroje mezi komunitou uºivatel opensource BI. V samotné práci jsem se pokou²el vypíchnout aspekty vývoje pro Pentaho, které nejsou p íli² dob e (nebo v bec) popsány v dokumentaci projektu. M la by tak poslouºit mimo jiné i jako základ pro práci dal²ích vývojá, kte í by m li o n který nástroj z této rodiny zájem. Po stru ném úvodu do problematiky BI práce obsahuje ucelený p ehled nástroj z rodiny Pentaho, které jsou v t²inou v projektové dokumentaci popisovány samostatn bez nazna ení ²ir²ích souvislostí. 8.2 Problémy integrace open-source nástroj Integrování open-source e²ení skýtá r zná úskalí z nichº nejpal iv j²ím je ur itá ºivelnost jejich vývoje. B hem práce jsem n kolikrát musel elit problém m zp sobeným zm nou vnit ní struktury projekt, kdy nov implementované funkce nejsou zp tn kompatibilní s p vodn vyuºívanými. Nejproblemati t j²í byla práce s PDI, které b hem psaní této práce prod lalo p erod od verze 3 k verzi 4, tedy zm na majoritní verze. Ta s sebou nesla zm ny základní lozoe projektu, které se projevily ve v²ech oblastech integrace - v mém p ípad i b hem tvorby pluginu i p i vyuºití PDI API. Na základ takto nabytých zku²eností bych doporu oval, pokud je to jen trochu moºné, zakotvit na vybrané stabilní verzi a té se drºet. ƒasto to ale moºné není, u open-source projekt p iná²ejí mnohdy nové verze opravu kritických chyb a je velmi ºádoucí drºet krok s jejich vývojem. V takovém p ípad se mi b hem práce osv d ilo maximáln odd lit dv integrovaná e²ení s vyuºitím nap. návrhového vzoru Facade. Jde v podstat o jistou formu loose coupling, kdy nap. plugin nedovoluje integrovaným projekt m komunikovat p ímo. Pokud se poda í provést takovýto istý ez a zapouzd it p íslu²nou funkcionalitu, je zohledn ní p ípadných zm n v jednom projektu snaz²í a minimalizujeme riziko zanesení chyb i do druhého integrovaného e²ení. 8.3 Dal²í práce Zejména v p ípad plugin a uº pro PDI nebo Pentaho BI platform je jist prostor pro dopln ní dal²ích funkcí. Pokud FAKE GAME bude v budoucnosti podporovat moºnost tvorby

83 8.3. DAL Í PRÁCE 67 knowledge ows tak, jak je známe nap. z Weky, otevírá se moºnost vytvo ení dal²ího pluginu pro PDI, který by tyto knowledge ows dokázal zpracovat v prost edí PDI, podobn jako je tomu u pluginu Weka KnowledgeFlow. Hlavní p íleºitost ale vidím p ímo v BI platform a v t sn j²í integraci FAKE GAME. Stávající e²ení je moºné roz²í it tak, aby fungovalo jako webová sluºba v kontextu platformy. Takovou úpravou se otevírají ²iroké moºnosti nasazení FAKE GAME nikoliv jako softwarového balíku, který je nutné instalovat a udrºovat, ale jako p edp ipravené data miningové sluºby. Nejenom samotní uºivatelé, ale i aplikace by pak mohly p istupovat p es jednotné rozhraní a vyuºívat schopností FAKE GAME daleko jednodu²²ím a transparentn j²ím zp - sobem neº doposud. V poskytování softwaru jako sluºby osobn vidím dal²í vývojový stupe sou asných aplikací. Tento p ístup e²í dne²ní obvyklé problémy s distribucí aplikací, s jejich p ípadným zpoplatn ním, správou aktualizací apod. Snadná pouºitelnost takových e²ení vede následn k daleko ²ir²ím moºnostem nasazení.

84 68 KAPITOLA 8. ZÁV R

85 Literatura [1] J. Bleuel. Writing your own Pentaho Data Integration Plug-In. Writing+your+own+Pentaho+Data+Integration+Plug-In, stav ze [2] W. H. Inmon. What is a data warehouse? Prism Tech Topic, 1(1), [3] I. La²ek. FakeGame plugin for Pentaho Data Integration. stav z [4] I. La²ek. Plugin for Pentaho BI enabling production of FAKE GAME reports. stav z [5] L. Niu, J. Lu, and G. Zhang. Cognition-Driven Decision Support for Business Intelligence, chapter Business Intelligence, pages Springer Berlin / Heidelberg, 2009, [6] R. Pecinovský. Návrhové vzory, volume 1. Computer Press, 1st edition, [7] S. Rizzi. Encyclopedia of Database Systems, chapter Business Intelligence, pages Springer US, [8] W. van der Aalst, A. Weijter, and L. Maruster. Workow mining: Discovering process models from event logs. IEEE Transactions on Knowledge and Data Engineering, 16:2004, [9] Internal BI Component API - BI Platform - Pentaho Wiki. stav ze [10] The Pentaho BI Platform BI+Server+2.x-3.x+Community+Documentation, stav ze [11] Business Intelligence - What is Business Intelligence? stav ze [12] Debugging with Tomcat in Eclipse in Debugging+with+Tomcat+in+Eclipse+IDE+in+2.0+using+Sysdeo+ Eclipse+Tomcat+Launcher, stav z

86 70 LITERATURA [13] Design Studio - BI Platform - Pentaho Wiki. stav z [14] FAKE GAME Automated Data Mining Flow. stav ze [15] Gartner Predicts that Open-Source Business Intelligence Tools Production Deployments Will Grow Five-Fold through stav ze [16] Open-Source Business Intelligence Tools Production Deployments Will Grow Five-Fold through stav ze [17] Pentaho Commercial Open Source Business Intelligence - mondrian Architecture. stav ze [18] Internal BI Component API - BI Platform - Pentaho Wiki. Pentaho+Data+Integration+-+Java+API+Examples, stav z [19] Latest Pentaho Data Integration (aka Kettle) Documentation. Latest+Pentaho+Data+Integration+(aka+Kettle)+Documentation, stav z [20] Conguring the Platform for Other Databases. Configuring+the+Platform+for+Other+Databases, stav ze [21] Exploring the Pentaho Repository in Exploring+the+Pentaho+Repository+in+2.0, stav z [22] Suboor - Template Ant scripts to help you get started building complex Java projects quickly. wiki/howtocreateanewproject, stav z [23] UC Irvine Machine Learning Repository. stav z

87 P íloha A Seznam pouºitých zkratek ARFF Attribute-Relation File Format BI Business Intelligence CRM Customer relationship management DSS Decision support system ERP Enterprise Resource Planning ETL Extract, Transform, and Load GWT Google Web Toolkit HTML HyperText Markup Language JAR Java ARchive JDBC Java Database Connectivity JDO Java Data Objects JNDI Java Naming and Directory Interface JSP Java Server Pages MDX Multi-dimensional expressions MQL Metadata Query Language OLAP Online Analytical Processing OLTP Online Transaction Processing POJO Plain Old Java Object PDF Portable Document Format PDI Pentaho Data integration 71

88 72 P ÍLOHA A. SEZNAM POUšITÝCH ZKRATEK PR Public Relation RMS Root Mean Square RPC Remote Procedure Call RSS Really Simple Syndication SQL Structured Query Language XML extensible Markup Language XUL XML User interface Language

89 P íloha B Instala ní a uºivatelská p íru ka - PDI v rámci FAKE GAME B.1 P edpoklady Nainstalovaný Java Runtime Environment verze 6 B.2 Instalace P iloºené CD obsahuje v adresá i fakegame verzi FAKE GAME zkompilovanou pro pouºití z p íkazové ádky. Zárove obsahuje v adresá i pentaho/pdi-ce PDI 4.0, ve kterém je moºné jednodu²e vytvá et transformace z nichº je FAKE GAME schopen íst data. Pouºití je velmi jednoduché. P íslu²né adresá e sta í nakopírovat na lokální disk. B.3 Pouºití Pomocí PDI vytvo íme v podstat libovolnou transformaci, která vy te z n jakého zdroje data a upraví je do formátu vhodného pro FAKE GAME. To znamená, ºe výsledný krok by m l obsahovat pouze íselné vstupy a názvy sloupc ozna ující výstupní atributy musí být ozna eny vyk i níkem na za átku (nap.!price). V p ípad klasika ních problém je t eba zakódovat výstupní t ídy kódem 1 z N a v²echny p íslu²né sloupce musí být op t ozna eny vyk i níkem na za átku. V transformaci m ºeme zvolit libovolný krok, u kterého data na výstupu spl ují vý²e popsané poºadavky (nemusí být nutn poslední). P i volání FAKE GAME potom tento krok identikujeme podle jeho názvu. Transformaci uloºíme do souboru. Spu²t ní FAKE GAME tak, aby pouºil jako zdroj vytvo enou transformaci je velmi jednoduché a spo ívá v p edání cesty k souboru s transformací (parametr -p) a názvu kroku z jehoº výstupu chceme data erpat (parametr -s). Krom toho je moºné pomocí dal²ích volitelných parametr p edat obvyklé volby FAKE GAME jako zp sob testování model. Povinným parametrem z stává cesta k adresá i s konguracemi model. Volání z p íkazové ádky m ºe tedy vypadat nap. takto: 73

90 74P ÍLOHA B. INSTALAƒNÍ A UšIVATELSKÁ P ÍRUƒKA - PDI V RÁMCI FAKE GAME java -jar game-batch.jar -p "/path/to/transformation/file.ktr" -s "Output" cfg/fake/quick_linear V tomto p íkladu spustíme transformaci uloºenou v souboru /path/to/transformation/file.ktr a data vy teme z kroku nazvaného Output. Výsledný report je uloºen do adresá e se zdrojovou transformací. V rámci p iloºeného CD obsahuje adresá etc/tests/pdi_trans celou ²kálu vzorových transformací. Pro správnou funkci n kterých z nich je t eba nastavit databázové p ipojení odpovídající lokální konguraci a naimportovat p íslu²né databázové tabulky (sql exporty jsou rovn º uloºené v tomto adresá i).

91 P íloha C Instala ní a uºivatelská p íru ka - plugin pro PDI C.1 P edpoklady Nainstalovaný Java Runtime Environment verze 6 C.2 Instalace Na p iloºeném CD je k dispozici kompletní instalace PDI s jiº integrovanými pluginy pro FAKE GAME a Weku v adresá i pentaho/pdi-ce. Sta í nakopírovat tuto instalaci do libovolného adresá e na lokálním disku a spustit skript spoon.sh (p ípadn spoon.bat pro Windows). Po startu m ºeme vytvo it repozitá PDI (v databázi, nebo jako soubor na disku). Tato operace v²ak není nutná a nabídku je moºné bez obav zav ít. C.3 Pouºití pluginu Co se pouºívání PDI tý e, doporu uji projít dokumentaci projektu [19]. Samotný FakeGame plugin je umíst n ve skupin krok Transform. Jeho ovládání je velice jednoduché. V ovládacím dialogu (obrázek C.1) m ºeme zvolit soubor s uloºeným serializovaným modelem vyprodukovaným pomocí FAKE GAME. Pokud vybereme soubor s klasikátory je moºné volbou Show output probabilities ovlivnit zobrazení výsledku klasikace. Na modely nemá tato volba vliv. Po nahrání modelu si m ºeme prohlédnout jeho serializovanou podobu v záloºce Serialized model/classier (pro kontrolu). Na vstupy pluginu je t eba p ivést data ve stejn pojmenovaných sloupcích jako byly sloupce dat p i u ení pluginu (na po adí nezáleºí). P ípadné p ejmenování sloupc je asi nejjednodu²²í realizovat pomocí kroku Select Values ze skupiny Transform. Toto mapování 1 Pozor, verze PDI p iloºená na CD je vývojová verze, protoºe stabilní vydání PDI 4.0 nebylo v dob psaní této práce je²t k dispozici. V této verzi nejsou podporovány n které star²í pluginy jako nap. práv plugin pro Weku. Ten jsem upravil alespo tak, aby v hotových transformacích dokázal zpracovat p íslu²ná data - není v²ak moºné m nit jeho nastavení. 75

92 76 P ÍLOHA C. INSTALAƒNÍ A UšIVATELSKÁ P ÍRUƒKA - PLUGIN PRO PDI Obrázek C.1: Ukázka uºivatelského rozhraní FAKE GAME pluginu pro PDI je moºné zkontrolovat v záloºce Fields mapping. V²echny sloupce musí mít sv j namapovaný ekvivalent. V opa ném p ípad transformace selºe. Na p iloºeném CD v adresá i etc/tests/pdi_plug jsou umíst ny vzorové transformace vyuºívající FakeGame plugin. Ty jsou asi nejlep²ím zdrojem, jak se seznámit s tímto pluginem.

93 P íloha D Instala ní a uºivatelská p íru ka - plugin pro Pentaho BI D.1 P edpoklady Nainstalovaný Java Development Kit (JDK) verze 6 Nastavená systémová prom nná JAVA_HOME na cestu k adresá i s JDK D.2 Instalace Na p iloºeném CD v adresá i pentaho/bi-platform je op t k dispozici p edp ipravená instalace BI pltaform 1 i s aplika ním serverem a integrovaným FakeGame pluginem. Instalace je tak velmi jednoduchá a spo ívá v nakopírování adresá e biserver-ce na lokální disk. Server i s p íslu²nou databází spustíme pomocí skriptu start-pentaho.sh (p ípadn start-pentaho.bat pod Windows). Tomcat naslouchá implicitn na portu 8080, pokud tedy nedojde k n jakým konikt m s jiº b ºícími aplikacemi, bude BI platform dostupná pomocí prohlíºe e na adrese První zobrazení stránky m ºe chvíli trvat, protoºe Tomcat pot ebuje n jaký as na nastartování. D.3 Pouºití Manuál pro pouºití Pentaho BI platform je k dispozici na webu [10]. V tomto popisu se zam ím zejména na aspekty týkající se p ímo FakeGame pluginu. P edpokládám tedy znalost práce se sekvencemi akcí popsané ve zmín né dokumentaci. Pro p ihlá²ení vybereme n kterého z existujících uºivatel (nejlépe Joe s administrátorskými právy). Po p ihlá²ení budeme p esm rováni na pracovní plochu (obrázek D.1). Zde 1 Bohuºel i v p ípad Pentaho BI platform nebyla v dob psaní této práce k dispozici stabilní verze s podporou plugin. Z toho d vodu jsem na p iloºené CD musel umístit vývojovou verzi, která obsahuje n které chyby. Ty se projevují nap. p i editaci p ístupových práv, nebo asování spou²t ní jednotlivých sekvencí akcí. Na samotný chod FakeGame pluginu by v²ak tyto chyby nem ly mít vliv. 77

94 78P ÍLOHA D. INSTALAƒNÍ A UšIVATELSKÁ P ÍRUƒKA - PLUGIN PRO PENTAHO BI je p ipravena sloºka FakeGame se vzorovými transformacemi. V t²inu transformací je moºné spou²t t rovnou. N které v²ak vyºadují nastavení p ipojení k databázi a vytvo ení p íslu²ných tabulek (pot ebné SQL skripty jsou rovn º k dispozici na p iloºeném CD). Obrázek D.1: Pracovní plocha v rámci Pentaho BI platform Hlavní síla pluginu v²ak spo ívá v jeho za len ní do vlastních sekvencí akcí, ty je moºné vytvá et pomocí nástroje Design Studio [13]. Název p íslu²né komponenty je FakeGameAction a její vstupy jsou uvedeny v tabulce D.1. Krom vstup je t eba akci p edat je²t zazipovaný adresá s kongurací reportu a jednotlivých model. Ten se p edává jako zdroj, tedy v terminologii Pentaho resource. Jeho název je configzip. Na výstupu potom komponenta vrací dva streamy, v Pentaho terminologii ozna ené jako content. Výstup ozna ený jako response nese report ve formátu HTML a je ur ený pro zobrazení koncovým uºivatel m v rámci pracovní plochy. Výstup s názvem zippedreport obsahuje archiv s reportem ve formátu HTML a v²emi pot ebnými soubory pro jeho zobrazení. Oba výstupy je pak moºné p edat dal²ím komponentám, zippedreport je nap íklad vhodný v kombinaci s komponentou na odesílání .

95 D.3. POUšITÍ 79 Název vstupu experimentseries trainteststrategy data Popis vstupu Indikuje, zda se mají provád t série experiment (moºné hodnoty: true, false). Zp sob testování model (moºné hodnoty: train-test, cross-validation, whole-set) Samotná vstupní data ve formátu result-set. Vstupní data by m la být v íselném formátu. Názvy výstupních hodnot pro u ení jsou ozna eny vyk i níkem (nap.!output), p ípadné výstupní t ídy jsou zakódovány kódem 1 z N. Tabulka D.1: Seznam vstup FakeGame pluginu pro Pentaho BI platform

96 80P ÍLOHA D. INSTALAƒNÍ A UšIVATELSKÁ P ÍRUƒKA - PLUGIN PRO PENTAHO BI

97 P íloha E Ukázky nasazení FAKE GAME pluginu pro Pentaho BI Tato obrazová p íloha obsahuje ukázky nasazení FAKE GAME pluginu pro Pentaho BI platform. Jde zejména o ukázky vyprodukovaných report a prost edí pro konguraci práce pluginu v rámci platformy. Obrázek E.1: Denice jednoduchého workow v prost edí Action Sequence editoru - uºivatel je poºádán o výb r kongurace reportu, který si p eje vid t. 81

98 82 P ÍLOHA E. UKÁZKY NASAZENÍ FAKE GAME PLUGINU PRO PENTAHO BI Obrázek E.2: Vyhodnocení úsp ²nosti klasikátoru pomocí ROC k ivek. Datový soubor pro klasikaci kosatc, testovací strategie cross validation. Obrázek E.3: Jednoduchý formulá pro výb r strategie testování model porovnávaných v rámci FAKE GAME reportu. Formulá je kongurovaný pomocí Action Sequence editoru.

99 Obrázek E.4: Vyhodnocení testování sestavených model - výb r toho nejlep²ího (v tabulce na obrázku je ozna ený tu n ). Datový soubor pro odhad spot eby vody mandarinkovníku, data rozd lena na trénovací a testovací mnoºinu. 83

100 84 P ÍLOHA E. UKÁZKY NASAZENÍ FAKE GAME PLUGINU PRO PENTAHO BI Obrázek E.5: Propojení pluginu s komponentou pro odesílání v prost edí Action Sequence editoru. Je tak moºné snadno sestavovat sekvence, kde je výsledný report na záv r odeslán mailem.

101 Obrázek E.6: Andrewsovy k ivky pro datový soubor EEG novorozenc v rámci Pentaho BI platform. 85

102 86 P ÍLOHA E. UKÁZKY NASAZENÍ FAKE GAME PLUGINU PRO PENTAHO BI Obrázek E.7: Feature ranking pro vstupy z datového souboru Odhad prodejní ceny aut.

Úvod, terminologie. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 1

Úvod, terminologie. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, P edn. 1 Úvod, terminologie Ing. Michal Valenta PhD. Katedra softwarového inºenýrství Fakulta informa ních technologií ƒeské vysoké u ení technické v Praze c Michal Valenta, 2010 Databázové systémy BI-DBS ZS 2010/11,

Více

Odpov di na dotazy k ve ejné zakázce. 30/2014-53-27. SSZ Registr IKP

Odpov di na dotazy k ve ejné zakázce. 30/2014-53-27. SSZ Registr IKP Odpov di na dotazy k ve ejné zakázce. 30/2014-53-27 SSZ Registr IKP 1. V dokumentu 4_Priloha_1_Specifikace-predmetu-technicke-pozadavky_Rozvoj-podpora-RIKP v kapitole 2.1 Popis architektury a vazeb v APV

Více

P íklad 1 (Náhodná veli ina)

P íklad 1 (Náhodná veli ina) P íklad 1 (Náhodná veli ina) Uvaºujeme experiment: házení mincí. Výsledkem pokusu je rub nebo líc, ºe padne hrana neuvaºujeme. Pokud hovo íme o náhodné veli in, musíme p epsat výsledky pokusu do mnoºiny

Více

Specifikace systému ESHOP

Specifikace systému ESHOP Nabídka: Specifikace systému ESHOP březen 2009 Obsah 1 Strana zákazníka 1 1.1 Nabídka produkt, strom kategorií..................... 1 1.2 Objednávka a ko²ík.............................. 1 1.3 Registrace

Více

Integrování jako opak derivování

Integrování jako opak derivování Integrování jako opak derivování V tomto dokumentu budete seznámeni s derivováním b ºných funkcí a budete mít moºnost vyzkou²et mnoho zp sob derivace. Jedním z nich je proces derivování v opa ném po adí.

Více

BOZP - akcepta ní testy

BOZP - akcepta ní testy BOZP - akcepta ní testy Kristýna Streitová Zadavatel: Ing. Ji í Chludil 13. prosince 2011 Obsah 1 Úvod 2 1.1 Popis test....................................... 2 2 Testy 3 2.1 ID - 1 P ihlá²ení do systému.............................

Více

Skalární sou in. Úvod. Denice skalárního sou inu

Skalární sou in. Úvod. Denice skalárního sou inu Skalární sou in Jedním ze zp sob, jak m ºeme dva vektory kombinovat, je skalární sou in. Výsledkem skalárního sou inu dvou vektor, jak jiº název napovídá, je skalár. V tomto letáku se nau íte, jak vypo

Více

Uºivatelská p íru ka Octopus

Uºivatelská p íru ka Octopus Uºivatelská p íru ka Octopus Jan Bojko 11. prosince 2014 Abstrakt Uºivatelská p íru ka k aplikaci Octopus. Obsah 1 Úvod 2 2 P ihlá²ení 2 3 Naviga ní menu 2 4 Práce s tabulkou 3 5 Editace 6 5.1 Nový záznam.............................

Více

Vektory. Vektorové veli iny

Vektory. Vektorové veli iny Vektor je veli ina, která má jak velikost tak i sm r. Ob tyto vlastnosti musí být uvedeny, aby byl vektor stanoven úpln. V této ásti je návod, jak vektory zapsat, jak je s ítat a od ítat a jak je pouºívat

Více

Základy business intelligence. Jaroslav Šmarda

Základy business intelligence. Jaroslav Šmarda Základy business intelligence Jaroslav Šmarda Základy business intelligence Business intelligence Datový sklad On-line Analytical Processing (OLAP) Kontingenční tabulky v MS Excelu jako příklad OLAP Dolování

Více

účetních informací státu při přenosu účetního záznamu,

účetních informací státu při přenosu účetního záznamu, Strana 6230 Sbírka zákonů č. 383 / 2009 Částka 124 383 VYHLÁŠKA ze dne 27. října 2009 o účetních záznamech v technické formě vybraných účetních jednotek a jejich předávání do centrálního systému účetních

Více

Odpov di na dotazy uchaze k ve ejné zakázce. 25/

Odpov di na dotazy uchaze k ve ejné zakázce. 25/ Odpov di na dotazy uchaze k ve ejné zakázce. 25/2016-53-56 Rámcová smlouva o vývoji a údržb aplika ního programového vybavení pro oblast D chodové dávky - II Jaká konkrétní dokumentace pro jednotlivé moduly

Více

Prohlá²ení. V Praze dne 18. dubna 2010...

Prohlá²ení. V Praze dne 18. dubna 2010... ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Katedra po íta Bakalá ská práce Studentova Berli ka III - Jádro aplikace Jaromír Van k Vedoucí práce: Ing. Ji í Chludil Studijní program: Softwarové

Více

Memoria Mundi Series Bohemica z trezoru na Internet

Memoria Mundi Series Bohemica z trezoru na Internet Memoria Mundi Series Bohemica z trezoru na Internet Ing. Stanislav Psohlavec AiP Beroun s.r.o. Pilíře projektu MMSB... 1 Digitalizace, digitální dokumenty, digitální knihovna... 1 MASTER... 1 Využívání

Více

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9 Obsah Úvod 9 Kapitola 1 Business Intelligence, datové sklady 11 Přechod od transakčních databází k analytickým..................... 13 Kvalita údajů pro analýzy................................................

Více

Soft Computing (SFC) 2014/2015 Demonstrace u ení sít RCE, Java aplikace

Soft Computing (SFC) 2014/2015 Demonstrace u ení sít RCE, Java aplikace Soft Computing (SFC) 2014/2015 Demonstrace u ení sít RCE, Java aplikace Franti²ek N mec (xnemec61) xnemec61@stud.t.vutbr.cz 1 Úvod Úkolem tohoto projektu bylo vytvo it aplikaci, která bude demonstrovat

Více

2C06028-00-Tisk-ePROJEKTY

2C06028-00-Tisk-ePROJEKTY Stránka. 27 z 50 3.2. ASOVÝ POSTUP PRACÍ - rok 2009 3.2.0. P EHLED DÍL ÍCH CÍL PLÁNOVANÉ 2009 íslo podrobn Datum pln ní matematicky formulovat postup výpo t V001 výpo etní postup ve form matematických

Více

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy -1- I I. N á v r h VYHLÁŠKY ze dne 2009 o účetních záznamech v technické formě vybraných účetních jednotek a jejich předávání do centrálního systému účetních informací státu a o požadavcích na technické

Více

Termíny zkoušek Komise Komise. subkomise 1 (obhaj.) :30 B subkomise 2 (obhaj.) :30 B8 120

Termíny zkoušek Komise Komise. subkomise 1 (obhaj.) :30 B subkomise 2 (obhaj.) :30 B8 120 Základní informace o struktu e dat: Komise (nadkomise) obsahují leny schválené VR (po jejich identifikaci v SIS, p íp. dopln ní budou obsahovat všechny schválené leny, po novém za azení se vyplní datum

Více

Podíl zdrojů informací

Podíl zdrojů informací Podíl zdrojů informací 80% nestrukturovaných (10 -) 20 % strukturovaných 80% vnitřní informační zdroje 20% vnější informační zdroje Současný stav Business Intelligence Procesy: dolování dat (Data Mining)

Více

Konceptuální modelování

Konceptuální modelování Konceptuální modelování Ing. Michal Valenta PhD. Katedra softwarového inºenýrství Fakulta informa ních technologií ƒeské vysoké u ení technické v Praze c Michal Valenta, 2010 Databázové systémy BI-DBS

Více

DeepBurner (testování UI)

DeepBurner (testování UI) ƒeské vysoké u ení technické v Praze Fakulta elektrotechnická Semestrální práce DeepBurner (testování UI) Blaºej, Friebel, Olexová, Volf P edm t: Testování uºivatelských rozhraní Obor: Softwarové inºenýrství

Více

ESKÁ ZEM D LSKÁ UNIVERZITA V PRAZE

ESKÁ ZEM D LSKÁ UNIVERZITA V PRAZE ESKÁ ZEM D LSKÁ UNIVERZITA V PRAZE PROVOZN EKONOMICKÁ FAKULTA OBOR PODNIKÁNÍ A ADMINISTRATIVA KATEDRA INFORMA NÍCH TECHNOLOGIÍ TEZE DIPLOMOVÉ PRÁCE P íprava firemního linuxového www serveru (návrh prezentace

Více

Limity funkcí v nevlastních bodech. Obsah

Limity funkcí v nevlastních bodech. Obsah Limity funkcí v nevlastních bodech V tomto letáku si vysv tlíme, co znamená, kdyº funkce mí í do nekone na, mínus nekone na nebo se blíºí ke konkrétnímu reálnému íslu, zatímco x jde do nekone na nebo mínus

Více

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: e-mail: jan.skrbek@tul.cz tel.: 48 535 2442 Konzultace: úterý 14 20-15 50

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: e-mail: jan.skrbek@tul.cz tel.: 48 535 2442 Konzultace: úterý 14 20-15 50 Informační systémy 2 Data v počítači EIS MIS TPS strategické řízení taktické řízení operativní řízení a provozu Spojení: e-mail: jan.skrbek@tul.cz tel.: 48 535 2442 Konzultace: úterý 14 20-15 50 18.3.2014

Více

Seminá e. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, sem. 1-13

Seminá e. Ing. Michal Valenta PhD. Databázové systémy BI-DBS ZS 2010/11, sem. 1-13 Seminá e Ing. Michal Valenta PhD. Katedra softwarového inºenýrství Fakulta informa ních technologií ƒeské vysoké u ení technické v Praze c Michal Valenta, 2010 Databázové systémy BI-DBS ZS 2010/11, sem.

Více

Knihovna QT4 a moºnosti jejího vyuºití

Knihovna QT4 a moºnosti jejího vyuºití Fakulta jaderná a fyzikáln inºenýrská ƒeské vysoké u ení technické v Praze 2.6.2010 Osnova 1 Úvod 2 Seznámení s Qt4 3 Prost edí QtCreator 4 Vyuºití v praxi Problém Aplikace pro ovládání realtime PCR za

Více

HW vybavení nov vybudovaného datového centra SSZ (Zvýšení kapacity Datového úložišt )

HW vybavení nov vybudovaného datového centra SSZ (Zvýšení kapacity Datového úložišt ) OD VODN NÍ VE EJNÉ ZAKÁZKY HW vybavení nov vybudovaného datového centra SSZ (Zvýšení kapacity Datového úložišt ) Od vodn ní ve ejné zakázky pro ú ely p edb žného oznámení Od vodn ní ú elnosti ve ejné zakázky

Více

Průzkum veřejného mínění věcné hodnocení

Průzkum veřejného mínění věcné hodnocení Příloha č. 2 ke Zprávě o posouzení a hodnocení nabídek Průzkum veřejného mínění věcné hodnocení 1. FACTUM INVENIO ad 2. Popis metodiky průzkumu 80 bodů Hodnotící komise posoudila nabídku uchazeče v tomto

Více

Odpov di na dotazy uchaze k ve ejné zakázce. 20/ Rámcová smlouva o vývoji a údržb aplika ního programového vybavení EDS, EXK a DAP

Odpov di na dotazy uchaze k ve ejné zakázce. 20/ Rámcová smlouva o vývoji a údržb aplika ního programového vybavení EDS, EXK a DAP Odpov di na dotazy uchaze k ve ejné zakázce. 20/2016-53-27 Rámcová smlouva o vývoji a údržb aplika ního programového vybavení EDS, EXK a DAP edm tem zakázky je také vývoj a údržba aplika ního programového

Více

INFORMATIKA V CHOVECH PRASAT

INFORMATIKA V CHOVECH PRASAT INFORMATIKA V CHOVECH PRASAT Bajbár, M. KONFIRM, spol. s r.o. Tento článek si klade za cíl informovat odbornou veřejnost z oblasti chovu a šlechtění prasat o možnostech využití a základních analytických

Více

Digital Signage Informa ní systém pro centrální ízení a správu obsahu digitálních billboard ON-LINE

Digital Signage Informa ní systém pro centrální ízení a správu obsahu digitálních billboard ON-LINE 1 Digital Signage Informa ní systém pro centrální ízení a správu obsahu digitálních billboard ON-LINE ÚVOD V záplav informací, které se na nás valí ze všech stran, je p edpokladem úsp chu atraktivní forma,

Více

Koncepce rozvoje Polytematického strukturovaného hesláře (PSH) 2012 2014

Koncepce rozvoje Polytematického strukturovaného hesláře (PSH) 2012 2014 Koncepce rozvoje Polytematického strukturovaného hesláře (PSH) 2012 2014 Schváleno Radou pro koordinaci Polytematického strukturovaného hesláře (PSH) dne: 12. 12. 2011 ÚVOD V době svého vzniku (90. léta

Více

VI. Finanční gramotnost šablony klíčových aktivit

VI. Finanční gramotnost šablony klíčových aktivit VI. Finanční gramotnost šablony klíčových aktivit Číslo klíčové aktivity VI/2 Název klíčové aktivity Vazba na podporovanou aktivitu z PD OP VK Cíle realizace klíčové aktivity Inovace a zkvalitnění výuky

Více

Odpov di na dotazy uchaze e k ve ejné zakázce. 2/2015-53-28

Odpov di na dotazy uchaze e k ve ejné zakázce. 2/2015-53-28 Odpov di na dotazy uchaze e k ve ejné zakázce. 2/2015-53-28 Rámcová smlouva o vývoji a údržb aplika ního programového vybavení pro oblast Správy údajové základny - II A. Z popisu modelového požadavku v

Více

Specialista pro vytvá řenívztahů Specialist for Creating Relations

Specialista pro vytvá řenívztahů Specialist for Creating Relations Specialista pro vytvá řenívztahů Specialist for Creating Relations Roman KOZEL If universities want to succeed on the market, they have to deal with higher assertivity their graduates. They need a specialist,

Více

29 Evidence smluv. Popis modulu. Záložka Evidence smluv

29 Evidence smluv. Popis modulu. Záložka Evidence smluv 29 Evidence smluv Uživatelský modul Evidence smluv slouží ke správě a evidenci smluv organizace s možností připojení vlastní smlouvy v elektronické podobě včetně přidělování závazků ze smluv jednotlivým

Více

Platební styk (mezibankovní, klientský) Jitka Vachtová 28. íjna 2011

Platební styk (mezibankovní, klientský) Jitka Vachtová 28. íjna 2011 Platební styk (mezibankovní, klientský) Jitka Vachtová 28. íjna 2011 1 Úvod P i platebním styku obvykle dochází k p esun m pen ºních prost edk mezi plátcem a p íjemcem platby. Banka p i této transakci

Více

1 Data. 2 Výsledky m ení velikostí. Statistika velikostí výtrus. Roman Ma ák

1 Data. 2 Výsledky m ení velikostí. Statistika velikostí výtrus. Roman Ma ák Statistika velikostí výtrus Roman Ma ák 6.2.216 1 Data Velikost výtrus (udávaná obvykle v µm) pat í u hub k významným ur ovacím znak m, mnohdy se dva druhy makromycet li²í dokonce pouze touto veli inou.

Více

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM Zadavatel: Moravskoslezský kraj se sídlem Ostrava, 28. října 117, PSČ 702 18 IČ: 70890692 Veřejná zakázka: Datové sklady - SW Technologie a metadatový systém, Datová tržiště ekonomiky, Školství, statistiky,

Více

Objektově orientované databáze

Objektově orientované databáze Objektově orientované databáze Miroslav Beneš Obsah přednášky Motivace Vlastnosti databázových systémů Logické datové modely Co potřebujeme modelovat? Identifikace entit v~relačních SŘBD Co je to objektová

Více

M. Balíková, R. Záhořík, NK ČR 1

M. Balíková, R. Záhořík, NK ČR 1 M. Balíková, R. Záhořík, NK ČR 1 Geolink.nkp.cz Prototyp aplikace obohacení geografických autorit o údaje souřadnic s následným zobrazením dané lokality na mapě - kartografické matematické údaje v záznamech

Více

WEBMAP Mapový server PŘÍRUČKA PRO WWW UŽIVATELE. 2005-2008 Hydrosoft Veleslavín, s.r.o., U Sadu 13, Praha 6 www.hydrosoft.eu

WEBMAP Mapový server PŘÍRUČKA PRO WWW UŽIVATELE. 2005-2008 Hydrosoft Veleslavín, s.r.o., U Sadu 13, Praha 6 www.hydrosoft.eu WEBMAP Mapový server PŘÍRUČKA PRO WWW UŽIVATELE 2005-2008 Hydrosoft Veleslavín, s.r.o., U Sadu 13, Praha 6 www.hydrosoft.eu Obsah Obsah 1 1.1 3 Internetový... prohlížeč map 4 Rozložení ovládacích... prvků

Více

Výzva pro předložení nabídek k veřejné zakázce malého rozsahu s názvem Výměna lina

Výzva pro předložení nabídek k veřejné zakázce malého rozsahu s názvem Výměna lina VÝCHOVNÝ ÚSTAV A ŠKOLNÍ JÍDELNA NOVÁ ROLE Školní 9, Nová Role, PSČ: 362 25, Tel: 353 851 179 Dodavatel: Výzva pro předložení nabídek k veřejné zakázce malého rozsahu s názvem Výměna lina 1. Zadavatel Výchovný

Více

A. PODÍL JEDNOTLIVÝCH DRUHŮ DOPRAVY NA DĚLBĚ PŘEPRAVNÍ PRÁCE A VLIV DÉLKY VYKONANÉ CESTY NA POUŽITÍ DOPRAVNÍHO PROSTŘEDKU

A. PODÍL JEDNOTLIVÝCH DRUHŮ DOPRAVY NA DĚLBĚ PŘEPRAVNÍ PRÁCE A VLIV DÉLKY VYKONANÉ CESTY NA POUŽITÍ DOPRAVNÍHO PROSTŘEDKU A. PODÍL JEDNOTLIVÝCH DRUHŮ DOPRAVY NA DĚLBĚ PŘEPRAVNÍ PRÁCE A VLIV DÉLKY VYKONANÉ CESTY NA POUŽITÍ DOPRAVNÍHO PROSTŘEDKU Ing. Jiří Čarský, Ph.D. (Duben 2007) Komplexní přehled o podílu jednotlivých druhů

Více

Aplikace počítačů v provozu vozidel 9

Aplikace počítačů v provozu vozidel 9 Aplikace počítačů v provozu vozidel 9 2 Databázové systémy Rozvoj IS je spjatý s rozvojem výpočetní techniky, především počítačů. V počátcích se zpracovávaly velké objemy informací na jednom počítači,

Více

Preference v u ívání prost edk elektronické komunikace áky a studenty

Preference v u ívání prost edk elektronické komunikace áky a studenty Preference v u ívání prost edk elektronické komunikace áky a studenty (dotazníkový pr zkum) Zuzana Pustinová Dne ní doba nabízí mnohé mo nosti, jak komunikovat, ani by se ú astníci hovoru nacházeli na

Více

Regionální rady regionu soudržnosti Severovýchod pro období ukončování ROP Severovýchod 2007-2013

Regionální rady regionu soudržnosti Severovýchod pro období ukončování ROP Severovýchod 2007-2013 Personální strategie Regionální rady regionu soudržnosti Severovýchod pro období ukončování ROP Severovýchod 2007-2013 Největším bohatstvím každého zaměstnavatele jsou jeho zaměstnanci. ~ 1 ~ VIZE PERSONÁLNÍ

Více

Informační systémy 2006/2007

Informační systémy 2006/2007 13 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení Informační systémy 2006/2007 Ivan Kedroň 1 Obsah Analytické nástroje SQL serveru. OLAP analýza

Více

Připomínky AMSP ČR k materiálu MPO: Exportní strategie České republiky pro období 2012-2020

Připomínky AMSP ČR k materiálu MPO: Exportní strategie České republiky pro období 2012-2020 Připomínky AMSP ČR k materiálu MPO: Exportní strategie České republiky pro období 2012-2020 Celkové hodnocení materiálu Exportní strategie ČR 2012-2020: Jedná se o logicky uspořádaný dokument, který navazuje

Více

Wonderware Information Server 4.0 Co je nového

Wonderware Information Server 4.0 Co je nového Wonderware Information Server 4.0 Co je nového Pavel Průša Pantek (CS) s.r.o. Strana 2 Úvod Wonderware Information Server je výrobní analytický a reportní informační portál pro publikaci výrobních dat

Více

Infor Performance management. Jakub Urbášek

Infor Performance management. Jakub Urbášek Infor Performance management Jakub Urbášek Agenda prezentace Stručně o produktu Infor PM 10 Komponenty Infor PM - PM OLAP a PM Office Plus Reporting Analýza Plánování / operativní plánování Infor Performance

Více

Pravidla. používání Národního elektronického nástroje při realizaci zadávacích postupů prostřednictvím národního elektronického nástroje

Pravidla. používání Národního elektronického nástroje při realizaci zadávacích postupů prostřednictvím národního elektronického nástroje Příloha usnesení vlády ze dne 18. ledna 2016 č. 25 Pravidla používání Národního elektronického nástroje při realizaci zadávacích postupů prostřednictvím národního elektronického nástroje Preambule V souladu

Více

Elektronizace ve ejných zakázek

Elektronizace ve ejných zakázek P l roku s novelou a co bude dál? 11. 12. 10. 2012, Sport-V-Hotel Hrotovice Elektronizace ve ejných zakázek Vít zslav Grygar ecentre - P EDSTAVENÍ SPOLE NOSTI Jsme na trhu od r. 2006 a naši spole nost

Více

ípadová studie a procesní ízení Lukáš Strnad 2012 ZÁPADO ESKÁ UNIVERZITA V PLZNI FAKULTA ELEKTROTECHNICKÁ KATEDRA TECHNOLOGIÍ A M ENÍ

ípadová studie a procesní ízení Lukáš Strnad 2012 ZÁPADO ESKÁ UNIVERZITA V PLZNI FAKULTA ELEKTROTECHNICKÁ KATEDRA TECHNOLOGIÍ A M ENÍ ZÁPADO ESKÁ UNIVERZITA V PLZNI FAKULTA ELEKTROTECHNICKÁ KATEDRA TECHNOLOGIÍ A M ENÍ BAKALÁ SKÁ PRÁCE ípadová studie a procesní ízení vedoucí práce: Juraj Kudry 2012 autor: Lukáš Strnad 1 2 3 Anotace 4

Více

Zadávací dokumentace

Zadávací dokumentace Zjednodušené výběrové řízení s uveřejněním dle Příručky pro příjemce finanční podpory projektů Operačního programu Rozvoj lidských zdrojů v platném znění Název zakázky: Identifikace: Název projektu: VZDĚLÁVACÍ

Více

Patria Finance, a.s. OBCHODNÍ PODMÍNKY

Patria Finance, a.s. OBCHODNÍ PODMÍNKY Patria Finance, a.s. OBCHODNÍ PODMÍNKY Obsah I. Definice pojmů II. Předmět Obchodních podmínek III. Služby IV. Třídění zákazníků V. Profesionální zákazník VI. Způsobilá protistrana VII. Volba kategorie

Více

F o r m u l á I S P R O F I N

F o r m u l á I S P R O F I N F o r m u l á I S P R O F I N Kód formulá e Poslední aktualizace formulá e: 17.1. 2007 s L z k P o s T K u Ozna ení ásti formulá e Název jednotlivých ástí formulá e Povinné ásti formulá e S 05 110 S 05

Více

Role projektu Klí e pro ivot v podpo e práce s d tmi a mláde í

Role projektu Klí e pro ivot v podpo e práce s d tmi a mláde í Role projektu Klí e pro ivot v podpo e práce s d tmi a mláde í Irena Ho ková Národní institut d tí a mláde e M MT, projektová mana erka Anotace P ísp vek se zabývá hlavními cíli a zam ením projektu Klí

Více

Zadávací dokumentace k veřejné zakázce zadané podle zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů

Zadávací dokumentace k veřejné zakázce zadané podle zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů Zadávací dokumentace k veřejné zakázce zadané podle zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů Zadavatel Kontaktní osoba zadavatele Název zakázky Ev. č. dle Věstníku veřejných

Více

www.pwc.cz/ Aktuality a trendy v převodních cenách 17. června 2014

www.pwc.cz/ Aktuality a trendy v převodních cenách 17. června 2014 www.pwc.cz/ Aktuality a trendy v převodních cenách 17. června 2014 Obsah 1. Aktuality na mezinárodní scéně - BEPS - Převodní ceny - Country-by-country reporting 2. Aktuality na české scéně - Novela od

Více

Využití EduBase ve výuce 10

Využití EduBase ve výuce 10 B.I.B.S., a. s. Využití EduBase ve výuce 10 Projekt Vzdělávání pedagogů v prostředí cloudu reg. č. CZ.1.07/1.3.00/51.0011 Mgr. Jitka Kominácká, Ph.D. a kol. 2015 1 Obsah 1 Obsah... 2 2 Úvod... 3 3 Autorský

Více

Seriál: Management projektů 7. rámcového programu

Seriál: Management projektů 7. rámcového programu Seriál: Management projektů 7. rámcového programu Část 4 Podpis Konsorciální smlouvy V předchozím čísle seriálu o Managementu projektů 7. rámcového programu pro výzkum, vývoj a demonstrace (7.RP) byl popsán

Více

- znalost zákazníka (propojeno s jinými obory sociologie, psychologie)

- znalost zákazníka (propojeno s jinými obory sociologie, psychologie) Otázka: Marketingový plán a reklama Předmět: Ekonomie Přidal(a): stepa-eko MARKETING = nauka o trhu - základem marketingu je poznání trhu a práce s ním - provádí se zde činnosti označované jako průzkum

Více

Vektor náhodných veli in - práce s více prom nnými

Vektor náhodných veli in - práce s více prom nnými Vektor náhodných veli in - práce s více prom nnými 12. kv tna 2015 N kdy k popisu n jaké situace pot ebujeme více neº jednu náhodnou veli inu. Nap. v k, hmotnost, vý²ku. Mezi t mito veli inami mohou být

Více

Zám r a cíle projektu

Zám r a cíle projektu Tento projekt je spolufinancován z prost edk Evropské unie prost ednictvím Evropského fondu pro regionální rozvoj. Zám r a cíle projektu ÍLOHA. 3 ZADÁVACÍ DOKUMENTACE ve ejné zakázky vedené pod názvem

Více

Databázové a informační systémy

Databázové a informační systémy Databázové a informační systémy 1. Teorie normálních forem Pojem normálních forem se používá ve spojitosti s dobře navrženými tabulkami. Správně vytvořené tabulky splňují 4 základní normální formy, které

Více

Sbírka zákonů ČR Předpis č. 473/2012 Sb.

Sbírka zákonů ČR Předpis č. 473/2012 Sb. Sbírka zákonů ČR Předpis č. 473/2012 Sb. Vyhláška o provedení některých ustanovení zákona o sociálně-právní ochraně dětí Ze dne 17.12.2012 Částka 177/2012 Účinnost od 01.01.2013 http://www.zakonyprolidi.cz/cs/2012-473

Více

1. Informace o předmětu zakázky Stručný textový popis zakázky, technická specifikace

1. Informace o předmětu zakázky Stručný textový popis zakázky, technická specifikace VÝZVA K PODÁNÍ NABÍDKY Veřejná zakázka malého rozsahu zadávaná v souladu s 12 odst. 3 a 18 odst. 3 zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů (dále jen zákona o veřejných

Více

AdventureWorksDW2014 SQL Server Data Tools Multidimenziona lnı model Tabula rnı model Multidimenziona lnı mo d Tabula rnı mo d MS SQL Server 2016 Tabula rnı mo d Azure Analysis Services 16 3.2 Dimenzionální

Více

VÝZVA. Česká republika-ministerstvo školství, mládeže a tělovýchovy (dále jen zadavatel) se sídlem Karmelitská 7, 118 12 Praha 1, IČ 00022985.

VÝZVA. Česká republika-ministerstvo školství, mládeže a tělovýchovy (dále jen zadavatel) se sídlem Karmelitská 7, 118 12 Praha 1, IČ 00022985. VÝZVA k podání nabídky na veřejnou zakázku malého rozsahu na službu dle 12 odst. 3 a 18 odst. 3 zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů (dále jen zákon ), Směrnice MŠMT,

Více

ICT plán školy 2015/2016

ICT plán školy 2015/2016 Základní škola s rozšířeným vyučováním informatiky a výpočetní techniky ICT plán školy 2015/2016 1. Základní údaje o škole Název školy: Základní škola s rozšířeným vyučováním informatiky a výpočetní techniky

Více

Kočí, R.: Účelové pozemní komunikace a jejich právní ochrana Leges Praha, 2011

Kočí, R.: Účelové pozemní komunikace a jejich právní ochrana Leges Praha, 2011 Kočí, R.: Účelové pozemní komunikace a jejich právní ochrana Leges Praha, 2011 Účelové komunikace jsou důležitou a rozsáhlou částí sítě pozemních komunikací v České republice. Na rozdíl od ostatních kategorií

Více

ZADÁVACÍ DOKUMENTACE

ZADÁVACÍ DOKUMENTACE ZADÁVACÍ DOKUMENTACE VÝZVA K PODÁNÍ NABÍDKY NA VEŘEJNOU ZAKÁZKU MALÉHO ROZSAHU ve smyslu ustanovení 18 odst. 5 zákona č. 137/2006 Sb. Výměna 4 ks interiérových dveří v budově kina Art Veřejná zakázka (zatrhněte)

Více

Zakázka bude pln na b hem roku 2014 a v následujících 48 sících od uzav ení smlouvy.

Zakázka bude pln na b hem roku 2014 a v následujících 48 sících od uzav ení smlouvy. OD VODN NÍ VE EJNÉ ZAKÁZKY Služba na zajišt ní provozu a expertní podpory datové sít Od vodn ní ve ejné zakázky pro ú ely p edb žného oznámení Od vodn ní ú elnosti ve ejné zakázky obsahuje alespo Popis

Více

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ Pozemkem se podle 2 písm. a) katastrálního zákona rozumí část zemského povrchu, a to část taková, která je od sousedních částí zemského povrchu (sousedních pozemků)

Více

Aplika ní doložka KA R Ov ování výro ní zprávy

Aplika ní doložka KA R Ov ování výro ní zprávy Aplika ní doložka KA R Ov ování výro ní zprávy ke standardu ISA 720 ODPOV DNOST AUDITORA VE VZTAHU K OSTATNÍM INFORMACÍM V DOKUMENTECH OBSAHUJÍCÍCH AUDITOVANOU Ú ETNÍ ZÁV RKU Aplika ní doložku mezinárodního

Více

Kategorizace zákazníků

Kategorizace zákazníků Kategorizace zákazníků Obsah: 1. Úvodní ustanovení... 1 2. Kategorie zákazníků... 1 2.1 Neprofesionální zákazník... 1 2.2 Profesionální zákazník... 2 2.3 Způsobilá protistrana... 3 3. Přestupy mezi kategoriemi

Více

KLÍČE KE KVALITĚ (METODIKA II)

KLÍČE KE KVALITĚ (METODIKA II) KLÍČE KE KVALITĚ (METODIKA II) Systém metodické, informační a komunikační podpory při zavádění školních vzdělávacích programů s orientací na rozvoj klíčových kompetencí a růst kvality vzdělávání Anotace

Více

Česká školní inspekce Středočeský inspektorát INSPEKČNÍ ZPRÁVA. Čj.: ČŠIS-128/11-S. Mateřská škola Červený Újezd, okres Praha-západ

Česká školní inspekce Středočeský inspektorát INSPEKČNÍ ZPRÁVA. Čj.: ČŠIS-128/11-S. Mateřská škola Červený Újezd, okres Praha-západ Česká školní inspekce Středočeský inspektorát INSPEKČNÍ ZPRÁVA Název právnické osoby vykonávající činnost školy: Sídlo: Mateřská škola Červený Újezd, okres Praha-západ Červený Újezd 30, 273 51 Unhošť IČ:

Více

Návrh individuálního národního projektu. Podpora procesů uznávání UNIV 2 systém

Návrh individuálního národního projektu. Podpora procesů uznávání UNIV 2 systém Návrh individuálního národního projektu Podpora procesů uznávání UNIV 2 systém 1. Název projektu Podpora procesů uznávání UNIV 2 systém Anotace projektu Předkládaný projekt navazuje na výsledky systémového

Více

Metodický pokyn k zařazení vzdělávací oblasti Výchova k volbě povolání do vzdělávacích programů pro základní vzdělávání čj.

Metodický pokyn k zařazení vzdělávací oblasti Výchova k volbě povolání do vzdělávacích programů pro základní vzdělávání čj. Metodický pokyn k zařazení vzdělávací oblasti Výchova k volbě povolání do vzdělávacích programů pro základní vzdělávání čj. 19485/2001-22 V Praze dne 2.7.2001 V současné dynamické době dochází k pohybu

Více

NÚOV Kvalifikační potřeby trhu práce

NÚOV Kvalifikační potřeby trhu práce Zadavatel: Národní ústav odborného vzdělávání v Praze se sídlem: Weilova 1271/6, 102 00 Praha 10, IČ: 00022179 zastoupený : RNDr. Miroslavem Procházkou, CSc. prostřednictvím osoby pověřené výkonem zadavatelských

Více

T i hlavní v ty pravd podobnosti

T i hlavní v ty pravd podobnosti T i hlavní v ty pravd podobnosti 15. kv tna 2015 První p íklad P edstavme si, ºe máme atomy typu A, které se samovolným radioaktivním rozpadem rozpadají na atomy typu B. Pr m rná doba rozpadu je 3 hodiny.

Více

Dálkové p enosy ze za ízení aktivní protikorozní ochrany Severomoravské plynárenské, a.s.

Dálkové p enosy ze za ízení aktivní protikorozní ochrany Severomoravské plynárenské, a.s. Dálkové p enosy ze za ízení aktivní protikorozní ochrany Severomoravské plynárenské, a.s. Tomáš D dina, Lubomír Herman Severomoravská plynárenská, a.s. Hlavní d vody realizace Podmínkou bezpe nosti a spolehlivosti

Více

SMLOUVA O PODMÍNKÁCH A PRAVIDLECH ÚČASTI NA ELEKTRONICKÝCH AUKCÍCH DŘÍVÍ

SMLOUVA O PODMÍNKÁCH A PRAVIDLECH ÚČASTI NA ELEKTRONICKÝCH AUKCÍCH DŘÍVÍ SMLOUVA O PODMÍNKÁCH A PRAVIDLECH ÚČASTI NA ELEKTRONICKÝCH AUKCÍCH DŘÍVÍ Článek 1 Strany smlouvy Lesy České republiky, s.p. se sídlem Hradec Králové, Přemyslova 1106, PSČ 50168 zapsaný v obchodním rejstříku

Více

1. kolo soutěže probíhá: od 19. 11. 2014 07:00:00 hod do 24. 12.2014 23:59:59 hod

1. kolo soutěže probíhá: od 19. 11. 2014 07:00:00 hod do 24. 12.2014 23:59:59 hod Pravidla soutěže Vyhrajte sadu DVD Disney Účelem tohoto dokumentu je úplná a jasná úprava pravidel soutěže Vyhrajte sadu DVD Disney (dále jen soutěž ). Tato pravidla jsou jediným dokumentem, který závazně

Více

e²ení systém lineárních rovnic pomocí s ítací, dosazovací a srovnávací metody

e²ení systém lineárních rovnic pomocí s ítací, dosazovací a srovnávací metody e²ení systém lineárních rovnic pomocí s ítací, dosazovací a srovnávací metody V praxi se asto setkávame s p ípady, kdy je pot eba e²it více rovnic, takzvaný systém rovnic, obvykle s více jak jednou neznámou.

Více

Odpov di na dotazy uchaze k ve ejné zakázce. 59/2012-17-27. Digitalizace dokumentace Léka ské posudkové služby SSZ, vyt žování a konsolidace dat

Odpov di na dotazy uchaze k ve ejné zakázce. 59/2012-17-27. Digitalizace dokumentace Léka ské posudkové služby SSZ, vyt žování a konsolidace dat Kde nalezneme barevn rozlišené druhy dokument ke zpracování, ovšem k dispozici máme pouze b dokumenty p ílohy.1. Myslíte si, že bych Vás mohl poprosit o barevnou p ílohu.1.? edm tem pln ní je pouze ernobílé

Více

ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE

ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE Fakulta provozně ekonomická Obor: Provoz a ekonomika Statistické aspekty terénních průzkumů Vedoucí diplomové práce: Ing. Pavla Hošková Vypracoval: Martin Šimek 2003

Více

Zásady a podmínky pro poskytování dotací na program Podpora implementace Evropské charty regionálních či menšinových jazyků 2011

Zásady a podmínky pro poskytování dotací na program Podpora implementace Evropské charty regionálních či menšinových jazyků 2011 Zásady a podmínky pro poskytování dotací na program Podpora implementace Evropské charty regionálních či menšinových jazyků 2011 Článek 1 Úvodní ustanovení 1. Zásady a podmínky pro poskytování dotací na

Více

Manuál pro zaměstnavatele, kteří mají zájem o zapojení do projektu Odborné praxe pro mladé do 30 let v Ústeckém kraji

Manuál pro zaměstnavatele, kteří mají zájem o zapojení do projektu Odborné praxe pro mladé do 30 let v Ústeckém kraji Manuál pro zaměstnavatele, kteří mají zájem o zapojení do projektu Odborné praxe pro mladé do 30 let v Ústeckém kraji Popis projektu Projekt Odborné praxe pro mladé do 30 let v Ústeckém kraji připravil

Více

Datová úloºi²t CESNET

Datová úloºi²t CESNET Datová úloºi²t CESNET Michal Strnad 2. 3. 2014 P ehled pro má smysl budovat národní datová úloºi²t pro v decká data budovaná infrastruktura jak úloºi²t pouºít p ístupové mechanismy správa uºivatel na úloºi²tích

Více

Kelvin v kapkový generátor

Kelvin v kapkový generátor Kelvin v kapkový generátor Kry²tof Kadlec 1, Luká² Kune² 2, Luká² N me ek 3 1 Gymnázium Franti²ka Palackého, Vala²ské Mezi í í, krystoof.2@seznam.cz 2 Gymnázium, Zlatá stezka 137, Prachatice, kunamars@seznam.cz

Více

MEZINÁRODNÍ AUDITORSKÝ STANDARD ISA 505 EXTERNÍ KONFIRMACE OBSAH

MEZINÁRODNÍ AUDITORSKÝ STANDARD ISA 505 EXTERNÍ KONFIRMACE OBSAH MEZINÁRODNÍ AUDITORSKÝ STANDARD ISA 505 EXTERNÍ KONFIRMACE (Účinný pro audity účetních závěrek sestavených za období počínající 15. prosincem 2009 nebo po tomto datu) Úvod OBSAH Odstavec Předmět standardu...

Více

Prezentace. Ing. Petr V elák 6. b ezna 2009

Prezentace. Ing. Petr V elák 6. b ezna 2009 Prezentace Ing. Petr V elák 6. b ezna 2009 1 OBSAH OBSAH Obsah 1 Úvodní slovo 3 2 P íprava prezentace 4 2.1 Jak prezentace ned lat........................ 4 2.1.1 Kontrast písma a pozadí...................

Více

Online komunikace a videokonference

Online komunikace a videokonference Online komunikace a videokonference Vít Rus ák PROJEKT nancovaný z Opera ního programu Vzd lávání pro konkurenceschopnost ZVY OVÁNÍ IT GRAMOTNOSTI ZAM STNANC VYBRANÝCH FAKULT MU Registra ní íslo: CZ.1.07/2.2.00/15.0224

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

ZADÁVACÍ DOKUMENTACE

ZADÁVACÍ DOKUMENTACE ZADÁVACÍ DOKUMENTACE veřejné zakázky malého rozsahu DODÁVKA TRANSPORTNÍCH VENTILÁTORŮ zadávané mimo režim zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů (dále jen ZVZ ) Zadavatel:

Více

Dotazování nad stromem abstraktní syntaxe

Dotazování nad stromem abstraktní syntaxe Fakulta jaderná a fyzikáln inºenýrská ƒeské vysoké u ení technické v Praze 3.6.2010 Osnova while 1 Reprezentace programu 2 AST a Java 3 Vyhledávání v AST 4 Aplikace body if expr Jak reprezentovat program

Více