Webová prezentační aplikace Prosinec 2014 Autoři Autor Organizace Dušan Chlapek Vladimír Jakubal Tomáš Knap Jan Vrána Jan Kučera Jiří Makalouš Luboš Marek Petr Mazouch Martin Nečaský Tomáš Vahalík Vysoká škola ekonomická v Praze KOMIX s.r.o. Vysoká škola ekonomická v Praze KOMIX s.r.o. Vysoká škola ekonomická v Praze KOMIX s.r.o. Vysoká škola ekonomická v Praze Vysoká škola ekonomická v Praze Vysoká škola ekonomická v Praze KOMIX s.r.o. Popis výstupu Tento výstup přestavuje webovou aplikaci demonstrující použitelnost publikační databáze pro vytvoření interaktivních výstupů. V rámci tohoto dokumentu je pak uvedena dokumentace této aplikace (dokumentace pro uživatele, dokumentace pro administrátory, dokumentace pro vývojáře). Poděkování Projekt Publikace dat statistických ročenek ve standardu otevřených dat (TD020121) je spolufinancován Technologickou agenturou České republiky.
Obsah 1 Úvod... 3 2 Licencování aplikace... 3 3 Dokumentace pro uživatele... 3 3.1 Úvodní obrazovka... 3 3.2 Vizualizace vybraných ukazatelů... 5 3.3 Ukázky jednotlivých ukazatelů... 6 3.3.1 Poměr počtu osob pobírajících starobní důchod v okrese (ČSSZ) a počtu míst v domovech pro seniory (ČSÚ)... 7 3.3.2 Poměr počtu sirotčích důchodů (ČSSZ) k populaci (ČSÚ)... 7 3.3.3 Poměr počtu sirotčích důchodů (ČSSZ) k populaci (ČSÚ) dle pohlaví... 8 3.3.4 Porovnání průměrného starobního důchodu vypláceného sólo (ČSSZ) a průměrné mzdy (ČSÚ) v krajích za období 2010-2012... 8 3.3.5 Procentní zastoupení poživatelů sólo starobního nebo invalidního důchodu (ČSSZ) v populaci (ČSÚ) ve věkových skupinách... 9 3.3.6 Přehled počtu poživatelů důchodu v jednotlivých krajích dle druhu důchodu (ČSSZ) 9 3.3.7 Srovnání průměrné výše starobního důchodu (ČSSZ) a standardizované úmrtnosti mužů a žen (ČSÚ) v okrese...10 4 Dokumentace pro administrátory...10 4.1 Požadavky na provoz aplikace...10 4.2 Nasazení aplikace...10 5 Dokumentace pro vývojáře...10 6 Přílohy...11 Příloha 2 Dokumentace zdrojového kódu...12 Webová prezentační aplikace 2 (z 12)
1 Úvod Tento dokument obsahuje dokumentaci webové prezentační aplikace, jejímž cílem je demonstrovat použitelnost publikační databáze pro vytvoření interaktivních výstupů. K aplikaci jsou poskytnuty následující typy dokumentace: dokumentace pro uživatele, dokumentace pro administrátory, dokumentace pro vývojáře. Interaktivní výstupy jsou reprezentovány množinou vizualizací vybraných ukazatelů využívajících data ze statistické ročenky v oblasti důchodového pojištění České správy sociálního zabezpečení (důchodová statistika ČSSZ) za roky 2008-2012, resp. tato v kombinaci s daty Českého statistického úřadu. Vizualizace zvolených ukazatelů není statická, ale prezentační aplikace umožňuje uživatelům volit jím preferované období, za které mají být data vizualizována, preferovaný typ důchodu či pohlaví v závislosti na vymezení jednotlivých ukazatelů. Prezentace ukazatelů tak není statická, ale interaktivní. 2 Licencování aplikace Zdrojový kód webové prezentační aplikace a její spustitelná podoba ve formě WAR balíčku podléhají licenci GNU General Public License v3. Tato licence se ale nevztahuje na žádná loga zobrazená aplikací, zejména se nevtahuje na loga Vysoké školy ekonomické v Praze, KOMIX s.r.o., České správy sociálního zabezpečení a Technologické agentury České republiky. 3 Dokumentace pro uživatele Aplikace je dostupná na adrese https://opendata.vse.cz/duchodova-statistika/. Aplikace je spustitelná pouze v aktuálních verzích webových prohlížečů Firefox, Google Chrome, Internet Explorer (od verze 10). 3.1 Úvodní obrazovka Úvodní obrazovku aplikace popisuje následující obrázek: Webová prezentační aplikace 3 (z 12)
Úvodní obrazovka obsahuje následující oblasti: 1. Název projektu a identifikace zúčastněných subjektů 2. Stručný popis cíle projektu 3. Sekce Informace a návody obsahuje důležité dokumenty ke stažení, např. vysvětlení jednotlivých prezentovaných ukazatelů 4. Sekce Vizualizace vybraných ukazatelů obsahuje předem připravené vizualizace vybraných ukazatelů ve vybraných konfiguracích 5. Sekce Data ze statistických ročenek ČSSZ z oblasti důchodového zabezpečení nabízí ke stažení strojově čitelná data ve formátu CSV jednotlivých kapitol statistické ročenky ČSSZ z oblasti důchodového zabezpečení za stanovené období 6. Sekce Data z jiných zdrojů nabízí ke stažení strojově čitelná data ve formátu CSV z jiných zdrojů než ČSSZ, např. z ČSÚ. Jednotlivé sekce obsahují následují aktivní prvky: 8. Odkazy ke stažení jednotlivých dokumentů. Po kliknutí na odkaz je uživateli nabídnut standardní dialog pro uložení souboru. Webová prezentační aplikace 4 (z 12)
9. Odkazy pro zobrazení jednotlivých připravených vizualizací. Popis zobrazení vizualizací po kliknutí na odkaz je uveden v odstavci Vizualizace vybraných ukazatelů 10. Odkazy ke stažení jednotlivých datových sad ve formátu CSV. Po kliknutí na odkaz je uživateli nabídnut standardní dialog pro uložení souboru. 3.2 Vizualizace vybraných ukazatelů Jednotlivé ukazatele jsou vizualizovány na následující obrazovce: Obrazovka pro vizualizaci vybraných ukazatelů obsahuje následující oblasti a aktivní prvky: 1. Název a vysvětlení zobrazeného ukazatele 2. Grafické zobrazení vybraného ukazatele. Jednotlivé ukazatele jsou vizualizovány různými typy grafu podle charakteru jednotlivých ukazatelů 3. Dostupné filtry pro nezobrazované dimenze. Kliknutí na zvolený filtr zobrazí výklopný seznam dostupných hodnot. Po kliknutí na vybranou hodnotu filtru se grafické zobrazení překreslí pro vybranou kombinaci hodnot. 4. Odkaz pro zobrazení dotazu v jazyce SPARQL, pomocí kterého jsou získána data ve formátu RDF pro vizualizaci daného ukazatele. Po kliknutí na tento odkaz je zobrazeno modální okno s textem dotazu v jazyce SPARQL pro referenční účely a pro účely usnadnění odvozování dalších ukazatelů. Okno s textem dotazu v jazyce SPARQL je zobrazeno na následujícím obrázku. 5. Odkaz pro uložení dat prezentovaného ukazatele ve formátu CSV. Po kliknutí na tento odkaz se zobrazí standardní dialog pro uložení souboru. Webová prezentační aplikace 5 (z 12)
3.3 Ukázky jednotlivých ukazatelů Následující obrazovky znázorňují vizualizace jednotlivých vybraných ukazatelů: Poměr počtu osob pobírajících starobní důchod v okrese (ČSSZ) a počtu míst v domovech pro seniory (ČSÚ) Poměr počtu sirotčích důchodů (ČSSZ) k populaci (ČSÚ) Poměr počtu sirotčích důchodů (ČSSZ) k populaci (ČSÚ) dle pohlaví Porovnání průměrného starobního důchodu vypláceného sólo (ČSSZ) a průměrné mzdy (ČSÚ) v krajích za období 2010-2012 Procentní zastoupení poživatelů sólo starobního nebo invalidního důchodu (ČSSZ) v populaci (ČSÚ) ve věkových skupinách Přehled počtu poživatelů důchodu v jednotlivých krajích dle druhu důchodu (ČSSZ) Srovnání průměrné výše starobního důchodu (ČSSZ) a standardizované úmrtnosti mužů a žen (ČSÚ) v okrese Webová prezentační aplikace 6 (z 12)
3.3.1 Poměr počtu osob pobírajících starobní důchod v okrese (ČSSZ) a počtu míst v domovech pro seniory (ČSÚ) 3.3.2 Poměr počtu sirotčích důchodů (ČSSZ) k populaci (ČSÚ) Webová prezentační aplikace 7 (z 12)
3.3.3 Poměr počtu sirotčích důchodů (ČSSZ) k populaci (ČSÚ) dle pohlaví 3.3.4 Porovnání průměrného starobního důchodu vypláceného sólo (ČSSZ) a průměrné mzdy (ČSÚ) v krajích za období 2010-2012 Webová prezentační aplikace 8 (z 12)
3.3.5 Procentní zastoupení poživatelů sólo starobního nebo invalidního důchodu (ČSSZ) v populaci (ČSÚ) ve věkových skupinách 3.3.6 Přehled počtu poživatelů důchodu v jednotlivých krajích dle druhu důchodu (ČSSZ) Webová prezentační aplikace 9 (z 12)
3.3.7 Srovnání průměrné výše starobního důchodu (ČSSZ) a standardizované úmrtnosti mužů a žen (ČSÚ) v okrese 4 Dokumentace pro administrátory 4.1 Požadavky na provoz aplikace Je třeba zajistit přístup na SPARQL endpoint, který zpřístupňuje data důchodové statistiky ČSSZ a vybraná data ČSÚ ve formátu RDF. Ve výchozím nastavení aplikace využívá SPARQL endpoint dostupný na adrese <http://opendata.vse.cz:8890/sparql>. Pro změnu SPARQL endpointu je třeba upravit jeho konfiguraci ve zdrojovém kódu a nově aplikaci zkompilovat. 4.2 Nasazení aplikace Pro běh aplikace je vyžadován Java EE container s podporou Java 7 a vyšší, např. Tomcat nebo JBoss. Pro nasazení aplikace na server použijte standardní postup nasazení WAR balíčku na Java EE container - postupujte dle dokumentace k Vašemu containeru. 5 Dokumentace pro vývojáře Zdrojové kódy jsou ke stažení na adrese: <http://opendata.vse.cz/cssz/webova_prezentacni_aplikace_src.zip> a podléhají open source licenci GNU General Public License v3. Ve zdrojovém kódu je k dispozici Maven konfigurace pro kompilaci aplikace. Zdrojové kódy aplikace jsou také uvedeny jako příloha 1. Dokumentace zdrojového kódu pak je uveden jako příloha 2. Webová prezentační aplikace 10 (z 12)
6 Přílohy K tomuto dokumentu jsou přiloženy následující přílohy: 1. Příloha 1 Zdrojové kódy aplikace (zip) zdrojové kódy jsou ke stažení na adrese: <http://opendata.vse.cz/cssz/webova_prezentacni_aplikace_src.zip> 2. Příloha 2 Dokumentace zdrojového kódu Webová prezentační aplikace 11 (z 12)
Příloha 2 Dokumentace zdrojového kódu V této příloze je uvedena dokumentace zdrojového kódu vytvořená s pomocí vývojového prostředí. Webová prezentační aplikace 12 (z 12)
cz.komix.rocenka Class RocenkaService java.lang.object cz.komix.rocenka.rocenkaservice public class RocenkaService extends java.lang.object Field Summary Fields Modifier and Type static java.lang.string Field and Description GET_REF_PERIODS Constructor Summary Constructors Constructor and Description RocenkaService() Method Summary Methods Modifier and Type void java.lang.string java.lang.string java.util.list<java.lang.string> java.util.list<java.util.list<java.lang.string>> java.util.list<java.util.list<java.lang.string>> java.lang.string java.lang.string java.util.list<java.lang.string> Method and Description analyzedatasets() getcubefilename(java.lang.string idx) Vraci cast URI datove kostky pro vytvoreni nazvu souboru pro stazeni CSV souboru s daty kostky getcubelabel(java.lang.string cube) Dohledava label ("cs" / no_lang) pro kostku zadanou URI getcubes() Metoda pro dohledani informaci o datovych kostkach dostupnych pres SPARQL end-point getdata(java.lang.string idx) Vraci 2D List vsech dat vybrane kostky - vsechny dimenze i mereni getdata(java.lang.string idx, java.lang.string mereniuri) Nacte mereni a vraci 2D List - tabulku pres vsechny dimenze getdatajson(java.lang.string idx, java.lang.string mereniuri, java.lang.string skupina, java.lang.string opakovani) Metoda pro vytvoreni dat z URI popisu kostky s vyberem URI dimenze mereni, skupiny a opakovani (2-sloupcovy graf) Vsechny ostatni dimenze se stavaji filtry! getdatajson(java.lang.string idx, java.lang.string mereniuri, java.lang.string skupina, java.lang.string opakovani, java.lang.string agregace, java.lang.string[] filtr) Deprecated. getdimenze(java.lang.string idx) Deprecated. java.util.map<java.lang.string,java.lang.object[]> getdimenzemap(java.lang.string cubeuri) java.util.map<java.lang.string,java.lang.string> Vraci mapu strukturovanych udaju o dimenzich pro kostku dle "cubeuri" getdimenzemaplabels(java.lang.string cubeuri) Vraci mapu strukturovanych udaju o dimenzich pro kostku dle "cubeuri"
java.lang.string java.lang.string java.util.map<java.lang.string,java.lang.string> java.util.list<java.lang.string> java.lang.string java.util.map<java.lang.string,java.lang.string> getfilterdatajson(java.lang.string key, java.lang.string parentkey, java.lang.string query) Metoda pro generovani stromu hodnot pro hierarchicky filtr pripravene vizualizace getkostkacsv(java.lang.string idx, java.lang.string config) Metoda vraci zdrojova data vybrane datove kostky (idx) nebo vizualizace (config) ve formatu CSV getmereni(java.lang.string idx) Deprecated. getseznam() Getter pro seznam datovych kostek, pokud jeste nebyl seznam nacten, nacte jej (a dale uchovava v "cache") getvizualizace(java.lang.string filename, java.lang.string funkce) Generuje data vizualizace pro filename konfiguracniho XML souboru predpripravene vizualizace getvizualizacelist() Vraci seznam predpripravenych vizualizaci - XML configuraci /config /*.xml Methods inherited from class java.lang.object clone, equals, finalize, getclass, hashcode, notify, notifyall, tostring, wait, wait, wait Field Detail GET_REF_PERIODS public static final java.lang.string GET_REF_PERIODS See Also: Constant Field Values Constructor Detail RocenkaService public RocenkaService() Method Detail getcubes public java.util.list<java.lang.string> getcubes() Metoda pro dohledani informaci o datovych kostkach dostupnych pres SPARQL end-point seznam URI dostupnych datovych kostek getcubefilename public java.lang.string getcubefilename(java.lang.string idx) Vraci cast URI datove kostky pro vytvoreni nazvu souboru pro stazeni CSV souboru s daty kostky idx - offset datove kostky v nactenem seznamu kostek
koren nazvu souboru getcubelabel public java.lang.string getcubelabel(java.lang.string cube) Dohledava label ("cs" / no_lang) pro kostku zadanou URI cube - URI datove kostky label getmereni @Deprecated public java.util.map<java.lang.string,java.lang.string> getmereni(java.lang.string idx) Deprecated. Metoda dohledava mapu mereni (URI, popisek) pro datovou kostku idx - offset datove kostky v nactenem seznamu kostek mapa (URI, popisek) mereni zadane datove kostky getdimenze @Deprecated public java.util.list<java.lang.string> getdimenze(java.lang.string idx) Deprecated. Dohledava mapu dimenzi (URI, popisek) pro datovou kostku idx - offset datove kostky v nactenem seznamu kostek mapa (URI, popisek) dimenzi datove kostky getvizualizacelist public java.util.map<java.lang.string,java.lang.string> getvizualizacelist() Vraci seznam predpripravenych vizualizaci - XML configuraci /config/*.xml Map
getvizualizace public java.lang.string getvizualizace(java.lang.string filename, java.lang.string funkce) Generuje data vizualizace pro filename konfiguracniho XML souboru predpripravene vizualizace filename - nazev XML souboru s nastavenim pripravene vizualizace funkce - ridici parametr, hodnota "CSV" znamena vraceni dat vizualizace ve formatu CSV. Hodnota "QUERY" znamena vraceni SPARQL dotazu vizualizace JSON data pro vizualizaci / CSV data vizualizace / QUERY v jazyce SPARQL getdimenzemap public java.util.map<java.lang.string,java.lang.object[]> getdimenzemap(java.lang.string cubeuri) Vraci mapu strukturovanych udaju o dimenzich pro kostku dle "cubeuri" cubeuri - URI datove kostky Map getdimenzemaplabels public java.util.map<java.lang.string,java.lang.string> getdimenzemaplabels(java.lang.string cubeuri) Vraci mapu strukturovanych udaju o dimenzich pro kostku dle "cubeuri" cubeuri - URI datove kostky Map getdatajson @Deprecated public java.lang.string getdatajson(java.lang.string idx, java.lang.string mereniuri, java.lang.string skupina, java.lang.string opakovani, java.lang.string agregace, java.lang.string[] filtr) Deprecated. Vraci JSON data pro kostku s indexem "idx", mereniuri, seskupeni a opakovani, agregaci a nastaveni filtru idx - mereniuri - skupina - opakovani - agregace - filtr - JSON data getdatajson
public java.lang.string getdatajson(java.lang.string idx, java.lang.string mereniuri, java.lang.string skupina, java.lang.string opakovani) Metoda pro vytvoreni dat z URI popisu kostky s vyberem URI dimenze mereni, skupiny a opakovani (2-sloupcovy graf) Vsechny ostatni dimenze se stavaji filtry! idx - mereniuri - skupina - opakovani - JSON data getdata public java.util.list<java.util.list<java.lang.string>> getdata(java.lang.string idx, java.lang.string mereniuri) Nacte mereni a vraci 2D List - tabulku pres vsechny dimenze idx - mereniuri - 2D seznam dat getdata public java.util.list<java.util.list<java.lang.string>> getdata(java.lang.string idx) Vraci 2D List vsech dat vybrane kostky - vsechny dimenze i mereni idx - 2D seznam dat analyzedatasets public void analyzedatasets() getseznam public java.util.list<java.lang.string> getseznam() Getter pro seznam datovych kostek, pokud jeste nebyl seznam nacten, nacte jej (a dale uchovava v "cache") seznam URI datovych kostek dostupnych ve SPARQL end-pointu getkostkacsv public java.lang.string getkostkacsv(java.lang.string idx, java.lang.string config) Metoda vraci zdrojova data vybrane datove kostky (idx) nebo vizualizace (config) ve formatu CSV idx - offset datove kostky v nactenem seznamu kostek
config - nazev XML souboru s konfiguraci pripravene vizualizace CSV data getfilterdatajson public java.lang.string getfilterdatajson(java.lang.string key, java.lang.string parentkey, java.lang.string query) Metoda pro generovani stromu hodnot pro hierarchicky filtr pripravene vizualizace key - nazev sloupce SPARQL dotazu obsahujici hodnoty pro filtr parentkey - nazev sloupce SPARQL dotazu obsahujici nadraazenou hodnotu query - SPARQL dotaz, ktery vybira hodnoty pro vygenerovani stromu hodnot HTML retezec OPTION pro SELECT Prev Class Next Class Frames No Frames All Classes Summary: Nested Field Constr Method Detail: Field Constr Method