Qwizz
© 2003 Querity s.r.o.
Produktový list systému Qwizz
Obsah dokumentu Obsah dokumentu....................................................................................................................... 2 Qwizz.......................................................................................................................................... 3 Účel systému........................................................................................................................... 3 Varianty systému.....................................................................................................................3 Verze pro Windows................................................................................................................ 3 Webové řešení.........................................................................................................................3 Obecný postup při vytváření reportů...........................................................................................3 Komponenty systému.................................................................................................................. 4 Jednotné datové úložiště......................................................................................................... 4 Datové pumpy ............................................................................................................................ 5 Nástroj ISQL........................................................................................................................... 5 Definice schématu....................................................................................................................... 7 Options.................................................................................................................................... 7 Class........................................................................................................................................ 8 Table........................................................................................................................................9 Definice reportů.......................................................................................................................... 9 Jednoduché reporty............................................................................................................. 9 Dávky (složený report)........................................................................................................ 9 Celkové schéma vztahu reportů a jednotného datového úložiště (varianta Windows).....10 Vkládání dat do předpřipravených XLS....................................................................................12 Klientská aplikace..................................................................................................................... 12 Spouštění jednoduchého reportu....................................................................................... 12 Spouštění dávky................................................................................................................ 13 Obvyklý postup nasazení systému............................................................................................ 14 Seznámení klienta s vlastnosti systému Qwizz.....................................................................14 Zpracování uživatelských požadavků................................................................................... 14 Vytvoření datových pump..................................................................................................... 14 Instalace SW na ověřovací pracoviště, zaškolení pracovníků ověřovacího pracoviště........ 15 Postupné předávání vytvořených reportů ............................................................................. 15 Instalace SW k cílovým klientům, zaškolení obsluhy...........................................................15 Údržba systému Qwizz............................................................................................................. 15 Postup při problémech implementace....................................................................................... 15
- strana 2 -
Produktový list systému Qwizz
Qwizz Qwizz je integrovaný systém pro vytváření reportů z různých datových zdrojů.
Účel systému Připojit se s minimálními náklady na veškeré potřebné zdroje dat, získat od nich užitečná data a pomocí přehledného menu poskytovat koncovým uživatelům reporty z těchto dat v takové podobě, aby je bylo možné dále zpracovávat jak pro potřeby běžné operativy, tak pro podporu manažerské rozhodování.
Varianty systému Qwizz je poskytován v několika výkonových variantách:
Verze pro Windows je kompaktní řešením pro malé a střední podniky. Poskytuje stabilní výkon, minimální údržbu, intuitivní ovládání a otevření definic reportů klientům (MS Windows, skriptování ve VisualBasicu, definice reportů v XML), bez velkých nároků na HW a SW.
Webová varianta systému Qwizz je vyvíjena se záměrem uspokojit potřeby rozsáhlé sítě uživatelů; WWW technologie sebou nesou poněkud nižší komfort v ovládání a složitější vazbu na kancelářské systémy, výhodou je maximální dostupnost systému.
Výše uvedené varianty jsou typické konfigurace. Všechny jsou postaveny nad společným jádrem, je tedy možné kdykoli přejít na jinou verzi systému, případně vytvořit kombinované formy přístupu. Ve všech případech lze volit mezi operačním systémem Windows (98, 2000, XP) a UNIX (Linux, AIX, …)
Verze pro Windows Verze pro Windows je založena MS Windows ODBC. Nejčastějším způsobem použití je ODBC se soubory DBF. Jeden ODBC zdroj umožňuje pracovat proti právě jednomu adresáři. Obvyklé jsou v praxi datové zdroje ve více adresářích.
Webové řešení Tato verze vyžaduje převedení dat do databáze, která dovoluje dál definovat reporty. Způsob převodu je dám konkrétním typem zvolené databáze.
Obecný postup při vytváření reportů Pro potřeby vytváření reportů je nutné mít dostupné všechna data v jeden okamžik. K tomu slouží proces, který dále označujeme jako pumpování dat. Dalším krokem k vytváření definic schématu. Teprve nad schématy je možné vytvářet SQL dotaz pro konkrétní report. Výsledná data z reportů, které využívají grafické prezentace dat jsou pomocí VisualBasicu vloženy do předpřipravených XLS souborů.
- strana 3 -
Produktový list systému Qwizz
Komponenty systému
Qwizz
Zdrojedat Qwizz obsahuje několik částí:
Datové pumpy, vytvářené klientům na míru dle vlastností datových zdrojů.
Jednotné datové úložiště, do kterého jsou pomocí datových pump data ukládána a z něhož jsou později data vybírána do sestav; popis struktury datového úložiště je vytvářeno na míru dle struktury zpracovávaných dat klientů.
Datovépumpy
Výstupy Reporty
Jednotnéúložiště
Sada definic reportů (tabulek, grafů apod.), které jsou vytvářeny na míru dle potřeb klientů a které je možné sdružovat do skupin s výstupem do běžných aplikací (MSOffice – Excel, Word apod.)
Jednoduchá aplikace pro koncové uživatele, kterými lze reporty parametrizovat a spouštět.
Jednotné datové úložiště Datové úložiště je realizováno:
jako adresář s DBF soubory či databáze MS Access, resp. jiná databáze dostupná přes ODBC (především u kompaktní varianty pod MS Windows),
jako databáze v ORACLE, INFORMIX, MS SQL, PostgreSql (Windows, UNIX)
Datové úložiště dále obsahuje popis dat a vazeb mezi nimi. Tento popis je uložen v souboru ve formátu XML (je možné jej tedy editovat běžnými editory) a nazývá se „schéma“. Schéma obsahuje popis tabulek, význam jejich sloupců, komentáře k vazbám apod. Schéma se nepoužívá při vlastních výpočtech, je ovšem nezbytnou „bází znalostí“ při vývoji nových reportů (ve spec. prohlížeči lze informace o tabulkách a jejich vlastnostech prohlížet a současně vytvářet sql dotazy.
- strana 4 -
Produktový list systému Qwizz
Datové pumpy Datové pumpy jsou unikátní skripty či programy, kterými se data z provozních systémů, excelových tabulek, textových soborů apod. převádí do jednotného úložiště. Návrh a vytvoření datových pump může být otázkou jak několika dnů, tak i měsíců – velmi záleží na podobě zdroje dat, možnostech připojení, složitosti získávaných dat, jejich transformací do úložiště atp. Vynaložený čas k vytvoření skriptů pro sbírání dat se vrátí při opakované implementaci nad stejně strukturovanými daty. Vytvoření pump pro získávání údajů z datových zdrojů, jako je Excel, DBF, MSAccess apod. je již předpřipraveno. Pokud se při převodu do úložiště neprovádějí s jejich daty komplikované transformace, je vytvoření takových pump časově nenáročné. Import dat pomocí datových pump nemusí probíhat souvisle – každá datová pumpa může pracovat nezávisle na ostatních. Spouštění datových pump může mít dvojí podobu:
Import dat na vyžádání – datové pumpy (tzv. importovací skripty) jsou dostupné přímo z uživatelské aplikace a uživatelé je mohou spouštět kdykoliv. Tato podoba je užitečná především u importu dat z Excelů, textových souborů, případně z menších systémů.
Import dat na pozadí – datové pumpy mohou být spouštěny v nočním zpracování dat – významné především u velkého objemu dat, jehož zpracování může trvat i několik hodin.
Jednou z možností jak definovat datové pumpy je ve Windows verzi využít dávkových souborů. Pro tento způsob přenášení dat je součástí Windows verze nástroj isql.
Nástroj ISQL Nástroj ISQL umožňuje pracovat s datovými zdroji informix, oracle, postgress a ODBC. K tomu slouží následující parametry: SQL command line executor ver. 1.0.1 ---------------------------------------------usage: isql.exe
sql_command -r {drvname}
database driver name {informix|odbc|pgsql|oracle} (default ODBC)
-d {dbname}
database name
-u {user}
login username
-p {password} password -s {serverhost} server host -e
pokracuj ve zpracovani i kdyz je chyba
-c {filename} input SQL command file -o {filename} output filename -ft
text format output
-fc
csv text format output
-h
help
-v
verze
(default stdout) (default)
- strana 5 -
Produktový list systému Qwizz
Jednotné datové úložiště
Tabulka H
Popis tabulek a vazeb mezi nimy
Tabulka C
Tabulka G
Tabulka D
Datová pumpa 1
Tabulka F
Datová pumpa 2
Tabulka E
Tabulka A
Tabulka B
Datový zdroj 1
Datový zdroj 2
Manuální spouštění importu dat z Excelu apod. datových zdrojů
Automatické spouštění importu dat z velkých databází atp.
- strana 6 -
Produktový list systému Qwizz
Definice schématu Pro definování schématu se využívá nástroje fqlexplorer. Při prvním spuštění fqlexplorer-u vypada aplikace následovně:
Volbou v menu Tools a Generuj FQL schéma z DB, je možné do souboru vygenerovat definici FQL schématu, se všemi dostupnými daty. Vygenerovaný soubor obsahuje definici všech dostupných tabulek a jejich sloupců ve vybraném datovém zdroji. V praxi pro výsledný report potřebujeme jen malý výsek agregovaných dat, proto musíme vygenerované FQL schéma upravit. FQL schéma je definováno pomocí XML a se skládá ze sekcí options, class a table.
Options Sekce options obsahuje údaje o tom, proti jakému datovému zdroji má být schéma používáno. Přiklad section je: ODBC qwizz_zdroj - strana 7 -
Produktový list systému Qwizz
Class Definice class určuje jak vypadají jednotlivé datové sloupce a pod jakým názvem (titulkem) bude daný datový sloupec dál zobrazován pro report. Kromě sekcí atribut, nedoporučujeme další sekce měnit. Př.: <select> <where> - strana 8 -
Produktový list systému Qwizz
Definice reportů Report se skládá ze SQL dotazů nad daty nadefinovanými ve schématu. Definice reportů jsou soubory s příponou *.rep obsahující XML definice dotazu. Definice reportů se ukládají do adresáře, který je uveden v konfiguračním souboru (qwizz.cfg). Reporty mohou být uloženy buď přímo v tomto adresáři, a nebo v nějakém podadresáři. V klientské aplikaci je uživatelům právě tento strom adresářů nabízen. Tím je možné velmi jednoduše nové reporty přidávat, přeřazovat stávající, vytvářet nové skupiny a podskupiny atp. Reporty pracují vždy nad logickým modelem, tedy nad modelem tříd. Není možné udělat dotaz přímo do datové tabulky. Třídy totiž v sobě mohou obsahovat mj. restrikce na řádky či sloupce. Pokud by se vrstva tříd přeskočila, tato omezení by byla vypuštěna. K tomu nesmí dojít, proto je výše zmíněné pravidlo tak striktní. Přínosem využívání tříd je také rychlejší a snazší psaní nových reportů. Logický model zastiňuje fyzické rozložení dat, tj. např. dotahování hodnot z číselníků, či jiných tabulek. Při psaní reportu pak není nutné neustále opakovat složité výrazy v klauzulích from a where, stejně jako např. podmínky pro výběr aktuálního záznamu, pokud jsou v tabulce vedeny i záznamy historizující (tj. obraty typu: XXX between NOW and MAXDATE). Tyto údaje jsou skryty pod definicemi tříd. Lze je tedy kdykoli vyhledat a nastudovat, avšak při vývoji reportů je není nutné řešit. Reporty jsou dvojí – jednoduché a složené. Složené reporty se nazývají dávky. Jednoduché reporty Jednoduchý report je používán nejčastěji a slouží v rychlému získání jednoduchých přehledů, bez jakýchkoliv transformací po vytvoření výstupu. Definice jednoduchého reportu obsahuje:
výčet sloupců z jedné, nebo více tříd, které budou v reportu zobrazeny
výčet parametrů, zadávaných před spuštěním reportu, vč.titulku, typu (textové pole, výběr ze seznamu apod.), výchozích hodnot, maker (začátek aktuálního měsíce, aktuální rok apod.) atd.
název reportu
dotaz nad schématem pro výběr dat z jedné nebo více tříd – vždy právě jeden dotaz
Výstupem je vždy jeden soubor, buď:
soubor ve fomátu *.csv, který lze rovnou z aplikace Qwizz otevřít v Excelu (či jiné aplikaci), nebo
soubor ve formátu *.html, který je možné také otevřít v Excelu, v HTML prohlížeči či jiné aplikaci..
Dávky (složený report) Dávka slouží ke dvěma účelům
buď je jejím výsledkem sada reportů (třeba i zazipovaných), které se následně mohou někam zkopírovat či odeslat poštou – jedná se o vytvoření množiny vzájemně nezávislých reportů v jedné dávce.
nebo je jejím výsledkem jeden soubor, do něhož se postupně transformují výstupy několika jednoduchých reportů – obvykle se jedná o to, že je třeba vygenerovat několik reportů ve formátu csv, poté otevřít předpřipravený Excel, Word či jinou aplikaci (se složitějším grafem, kontingenční tabulkou, makry apod.) a do toho otevřeného souboru (aplikace) pomocí VBA naimportovat získané výstupy a provést s nimi potřebné transformace.
Důležitý je princip - nejprve se spustí generování jednotlivých reportů a nakonec se spustí skript (v současné době je implementován VBScript, připravují se také jazyky pracující jak pod Windows, tak pod Unixem). - strana 9 -
Produktový list systému Qwizz Definice dávky obsahuje:
výčet zařazených reportů, vč. hodnot parametrů pro spuštění (nebo odkaz na společný parametr)
výčet společných parametrů
skript, který se spustí po vygenerování posledního reportu.
Celkové schéma vztahu reportů a jednotného datového úložiště (varianta Windows) Na obrázku je zachycena téměř veškerá funkcionalita obsažená v systému Qwizz. Ve spodní části je naznačena definice jednotného úložiště a datové pumpy, v horní části pak je ukázka různých forem jednoduchých reportů (excel, html, word) a dále ukázka dávky, která zpracovává výstupy z jednoduchého reportu 1 a 2 do jednoho xls souboru, který získané hodnoty zobrazí v grafu. V pravém horním rohu je symbol klientské aplikace Qwizz, se kterou pracuje koncový uživatel a ze které se jednotlivé reporty či dávky mohou spouštět. Kromě reportů je možné z klientské aplikace spouštět také importy dat (datové pumpty). To na obrázku není zachyceno kvůli přehlednosti.
- strana 10 -
Produktový list systému Qwizz
Report 1 (xls)
Re p
Dávka 1 o rt Re p rt 2 po Re
Report 2 (xls)
Report 2 (html)
VBS VBS
SQL
Tabulka H
Tabulka C
Re po rt 3 Ro k:=2 00 3 kt g :=14
Dávka je report složený z dat několika reportů a případně dále zpracovaný pomocí skriptu
or t2
Klientská aplikace umožňuje spouštění reportů a případně zadávání parametrů
Dávka (xls)
Report 3 (MSWord)
SQL Tabulka G
SQL
SQL Tabulka D
Popis tabulek a vazeb mezi nimy
Tabulka F
Jednotné datové úložiště Tabulka E
Pumpa
Dato vá pu mpa 1
Datová pumpa 2
Tabulka A
Pumpa
Tabulka B
Datový zdroj 2
Da tový zdroj 1
Výstup nelze předem určit – vše závisí na obsahu skriptu, který se po vygenerování všech reportů spustí.
- strana 11 -
Produktový list systému Qwizz
Klientská aplikace Reporty jsou tím, co uživatelům nese užitek. Snadné, rychlé, přehledné získání potřebného reportu je nejvyšším cílem systému Qwizz. Předchozí kroky jsou jen nezbytnou podmínkou pro takovou funkčnost. Pro zpracovávání reportů byla vytvořena aplikace, která má minimalizované množství ovládacích prvků. V levé části je struktura adresářů s jednoduchými reporty, dávkami a případně také s ručně spouštěnými datovými pumpami. Vpravo se zobrazují vlastnosti vybraného reportu. Spouštění jednoduchého reportu Jednoduchý report má v horní části pracovního panelu seznam parametrů, v dolní části pak možnosti volby výstupního formátu, možnost volby aplikace, která se spustí na vytvořený výstup (obvykle Excel pro csv a Explorer či Excel pro HTML). Je možné také omezit počet generovaných řádků.
- strana 12 -
Produktový list systému Qwizz
Spouštění dávky Spuštění dávky či datové pumpy je obdobné, ovšem s menším množstvím voleb. Uživatel zde nemůže volit výstupní soubor, neboť ten je určen skriptem, který se po zpracování všech zařazených reportů spouští. V dávce mohou být parametry, ty se pak ovládají stejně, jako parametry u jednoduchého reportu. Dávka se spustí tlačítkem Spustit dávku.
- strana 13 -
Produktový list systému Qwizz
Obvyklý postup nasazení systému V této části je popsán postup při nasazování systému Qwizz ke klientovi. Jsou zde vymezeny také hrubé doby trvání jednotlivých kroků. Většina z nich je závislá na složitosti zadání proto jsou odhady spíše větší. Konkrétní harmonogram bude sestaven při zpracovávání uživatelských požadavků odborníky, kteří budou seznámeni s realitou daného projektu. Při nasazení systému Qwizz se obvykle postupuje v následujících krocích: 1.
Seznámení klienta s vlastnostmi systému Qwizz.
2.
Zpracování uživatelských požadavků – popis zdrojů, popis první sady požadovaných reportů, sestavení harmonogramu dalšího postupu.
3.
Zpracování návrhu na vytvoření datových pump a jejich realizace, zařazení do nočního zpracování atp.
4.
Instalace SW na ověřovací pracoviště, zaškolení pracovníků ověřovacího pracoviště
5.
Ověření výsledné funkcionality – funkčnosti datových pump a vytvořených reportů.
6.
Úprava požadavků (přidávání nových/úprava stávajících zdrojů a dalších reportů) na základě práce s prototypem (krok 4, 5, 6 se může několikrát opakovat, pro různá pracoviště).
7.
Instalace SW k cílovým klientům, zaškolení obsluhy.
Seznámení klienta s vlastnosti systému Qwizz Klient je seznámen s obsahem tohoto dokumentu, případně dostane k disposici demo verzi systému Qwizz současně s odborným výkladem vlastností, chování, atd.
Zpracování uživatelských požadavků Uživatelské požadavky slouží k vymezení zadání. Požadavky jsou obvykle členěny na kapitoly: 1.
Vymezení termínů
2.
Požadavky na výstupní reporty (členění, názvy, obsah, požadavky na omezení přístupových práv k řádkům a sloupcům výstupních sestav, atp.)
3.
Požadavky na datové úložiště
4.
Požadavky na datové pumpy (především z jakých zdrojů budou data importována a popis těchto zdrojů)
5.
Požadavky na provoz systému (počet uživatelů, vzdálenost uživatelů od sebe atp. – slouží k určení výkonové varianty systému Qwizz)
6.
Ostatní požadavky
Doba trvání závisí na rozsahu požadavků, souhře klienta a dodavatele, míře ujasněnosti představ na straně zadavatele. Obvykle se tato doba pohybuje v jednotkách týdnů. V této fázi se také sestaví první podoba harmonogramu realizace celého systému Qwizz u klienta.
Vytvoření datových pump Pro vytvoření prvních reportů musí být k disposici dostatečné množství testovacích dat. Proto je nutné nejprve připravit datové pumpy, které zajistí sehrání všech dat, z nichž se mají reporty vytvářet, do jednoho místa (do tzv. datového úložiště). Doba pro vytvoření návrhu a implementaci datových pump je velmi závislá na jejich množství a na složitosti operací při převodu dat ze zdroje do úložiště. Orientační doba trvání je mezi jednotkami dnů až týdnů.
- strana 14 -
Produktový list systému Qwizz
Instalace SW na ověřovací pracoviště, zaškolení pracovníků ověřovacího pracoviště Po zajištění funkčnosti datových pump je možní postoupit k vývoji jednotlivých reportů. K tomu je vhodné vytipovat ověřovací pracoviště, na kterém budou reporty testovány.
Postupné předávání vytvořených reportů Reporty jsou vytvářeny postupně a v dohodnutých skupinách jsou předávány k ověření klientovi. Doba vypracování jednoho reportu je cca 2 – 3 dny, pokud je to odvozenina z již existujícího reportu, je doba kratší. Počet reportů by měl být stanoven předem!
Instalace SW k cílovým klientům, zaškolení obsluhy Tento krok je závěrečnou fází implementace systému Qwizz do prostředí klienta. Jedná se především o instalaci SW ke všem pracovníkům, kteří mají s touto aplikací pracovat a jejich zaškolení.
Údržba systému Qwizz Údržba systému, která po nasazení následuje, probíhá takto: 1.
Sběr a třídění požadavků na úpravu systému Qwizz
2.
Zpracování požadavků na úpravu či doplnění reportu: Ověření a případně okamžité zapracování požadavků do systému (pokud není nutné zasahovat do definice struktury jednotného úložiště, je možné u jednoduchých reportů očekávat reakci v jednotkách dnů; u dávek to je obdobné, ovšem tam velmi závistí na složitosti případného skritpu, tam mohou být dodací lhůty delší.
3.
Zpracování požadavků na úpravu datového úložiště či datové pumpy V tomto případě se připraví studie proveditelnosti, kde se vymezí rozsah zásahu a případně harmonogram postupu. Následně se provede realizace, bude-li kontrahována. Doba reakce je velmi závislá na složitosti zásahu.
4.
Zpracování požadavků na úpravu klientské aplikace, jádra systému Qwizz či jiného dodaného prvku systému Qwizz Tyto požadavky jsou zaneseny do plánu rozvoje systému Qwizz a při rozhodování o zapracování je požadavek posuzován ze dvou pohledů – z pohledu klienta, který řešení požaduje a z pohledu celkového rozvoje systému. Další postup je velmi závislý na prioritách klienta a na aktuálním stavu systému Qwizz a jeho dlouhodobém plánu dalšího rozvoje.
- strana 15 -