Author: JirkaM Date: 2010-02-24 19:36:02 +0100 (Wed, 24 Feb 2010) New Revision: 1854 Modified: others/dokumentace/technicalGuide/architecture/4webapp.tex Log: * first part of statistics modified 4webapp.tex Modified: others/dokumentace/technicalGuide/architecture/4webapp.tex =================================================================== --- others/dokumentace/technicalGuide/architecture/4webapp.tex 2010-02-24 16:42:28 UTC (rev 1853) +++ others/dokumentace/technicalGuide/architecture/4webapp.tex 2010-02-24 18:36:02 UTC (rev 1854) @@ -210,8 +210,35 @@ %% Statistiky %%%%%%%%%%%%%%%%%%%%%%%%%% \section{WebServer2 - Statistiky} +Nástroj statistiky webové aplikace má uživateli sloužit k přehlednému informativnímu zobrazenéní návštěvností jednotlivých kiosků. Hlavním požadavkem na zobrazení statistik byl vhodný nástroj na generování různých typů grafů a přehledů. +Důležitými aspekty při výběru tohoto nástroje byly následující body: +\begin{itemize} + \item{Interaktivnost}-grafické zobrazení mělo uživatele zaujmout a zároveň nenarušit celkovou přehlednost. + \item{Tisk}-bez možnosti tisku by zobrazení statistik postrádalo smysl. + \item{Rozhraní komunikace}-nástroji je nutné nějakým způsobem předat naše nashromážděná data. + \item{Typy grafů}-požadavkem bylo zobrazení tří základních typů grafů, čárový, sloupcový, koláčový. +\end{itemize} +V prvotních fázích projektu jsme zvažovali implementaci vlastního nástroje pomocí jazyka Java, kde bychom si na serveru vygenerovali grafický výstup a u klienta zobrazili pomocí HTML. Vzhledem k pracnosti jsme se však poohlédli po již hotovém řešení. +Nejdříve jsme hledali pouze open-source řešení, ale při přijatelných cenách placených projektů jsme do celkového výběru zahrnuli i je. Následující seznam uvádí hlavní nástroje, ze kterých jsme vybírali: +\begin{itemize} + \item{JFreeChart\footnote{JFreeChart, \url{http://www.jfree.org/jfreechart/index.html}}}-jedná; se o knihovnu jazyka Java určenou pro vytváření diagramů a grafů. Podporuje všechny požadované typy grafů, je použitelná v apletech, jsf i java aplikacích. Umožňuje ukládat výstup do formátu PNG, JPEG, PDF, EPS a SVG. Jedná se o open-source projekt. + \item{Emprise Javascript Charts\footnote{Emprise Javascript Charts, \url{http://www.ejschart.com/index.php}}}-knihovna v jazyce Javascript umožnující zobrazit různé typy grafů. Nabízí různé typy licencí, volně použitelná verze obsahuje vodoznak. + \item{Anychart\footnote{Anychart, \url{http://www.anychart.com/}}}- knihovna grafů a diagramů založená na technologii flash. Plně použitelná verze je dostupná pouze po zakoupení, výstup zkušební verze je opatřen vodoznakem. +\end{itemize} +Hledali jsme samozřejmě v daleko širším spektru produktů, výše uvádíme pouze produkty, které nás nejvíce zaujaly. Naší volbou se stala knihovna Anychart, jejíž grafové výstupy jsme shodnotili jako nejdokonalejší. Kromě toho nabízí také velké množství typů grafů, široké možnosti nastavení samotného grafu prostřednictvím konfiguračního souboru a dobrou interkativnost. + +Anychart fungují jako samostatný soubor Flash, který je vložen do Html stránky. Konfigurace této aplikace probíhá pomocí XML dokumentu, ve kterém se nastavují všechny potřebné atributy. Níže uvádím přehled nejdůležitějších nastavení pro konfigurační soubor: +\begin{itemize} + \item{chart_settings}- skupina nastavení určující atributy jako titulek, barvu pozadí, popisky na jednotlivých osách, zobrazení ikon, definici legendy a mnoho dalších nastavení týkajících se celého výstupu. + \item{data_plot_settings}- určují nastavení vykreslených čar, koláčů, sloupců, jako jsou např. šířka, barva, popisky, umístění popisku a další vlastnosti spojené s generovaným výstupem. + \item{data}- samotná data pro vygenerování průběhu grafu, případně pro velikost sloupců či částí koláčových grafů. Zde jsou jednotlivé čáry popisovány pomocí tzv. serií, kde pro každou sérii je definován její průběh v závislosti na časové ose. +\end{itemize} +Tento konfigurační soubor je generován v závislosti na vybraném typu grafu, časovém období a typu zobrazení ( seznam kiosků společnosti, seznam dokumentů na kiosku, seznam kiosků pro daný dokument). + + + %%%%%%%%%%%%%%%%%%%%%%%%%% %% Reporty %%%%%%%%%%%%%%%%%%%%%%%%%%