Architettura e tecnologie per lo sviluppo del Setup-Dashboard Setup Srl Information Technologies 1
Introduzione INTRODUZIONE In seguito a diverse richieste, Setup ha deciso di sviluppare un modulo denominato Setup DashBoard che rappresenta, a tutti gli effetti, una soluzione informatica all'annoso problema del monitoring & planning da parte del management di un'azienda. L applicazione si occupa di gestire la creazione / visualizzazione di una serie di grafici presentando un cruscotto aziendale (Tableau du Borde). L'utente ha la possibilità di configurare il cruscotto in modo da visualizzare solo i grafici che più gli interessano parametrizzando i filtri sui dati che verranno poi proposti. Per ciascun Grafico è prevista la possibilità di operare un drill down sui dati, visualizzando il relativo dettaglio sotto forma di un ulteriore grafico o di una griglia dati. Lo strumento è parametrizzabile attraverso il linguaggio XML e può accedere a fonti di dati diverse (ORACLE, DB2, etc). 2
Tecnologie ARCHITETTURA SW STANDARD J2EE COMPLIANT JSP SERVLET BEAN EJB XML / XSL HTML / DHTML / JAVASCRIPT INFRASTRUTTURA SW APPLICATION SERVER TOMCAT (OPEN) JBOSS (OPEN) ORACLE APPLICATION SERVER 9i WEB LOGIC 6 WEB SPHERE WEB SERVER APACHE (OPEN) METODOLOGIA ANALISI E MODELLAZIONE UML PROGETTAZIONE OO INTEGRATION FROM REUSABLE COMPONENTS UTILIZZO DI : WORKFLOW DATA FLOW ROLE ACTION DBMS / RDBMS ORACLE 9i / 8i GESTIONE E AMMINISTRAZIONE DB SVILUPPO SW LATO DB SERVER IMPORTAZIONE ESPORTAZIONE FLUSSI SVILUPPO PL/SQL GESTIONE PROCESSI SCHEDULATI SQL SERVER MS ACCESS 3
Architettura Software Setup DashBoard TECNOLOGIE UTILIZZATE WEB CONTENT JSP / HTML BUSINESS LOGIC SERVLET / JAVA BEAN CONFIGURATION XML CHART IMAGE CREATION JFREECHART LEGACY LIBRARY CLIENT EVENT MANAGEMENT DHTML / JAVASCRIPT DATA EXPORT JEXCEL LEGACY LIBRARY COMPONENTI SETUP UTILIZZATI SETUPDB ENGINE SETUPCHART ENGINE 4
Metodologia proprietari SETUP su piattaforma JAVA 1/3 SETUP DASHBOARD Il Setup Dashboard è un componente sviluppato ad hoc da Setup, che si interfaccia a sua volta al Setup Chart Engine che si occupa dell'effettiva realizzazione dei grafici mentre la business logic dell'applicazione viene implementata nel DashBoard stesso che ha il compito di organizzare il web content da mostrare all'utente, di regolarizzare l'accesso all'applicazione e di fornire al Chart Engine la fonte da cui prelevare i dati da visualizzare. La fonte dati ha un'importanza rilevante sulle performances del Dashboard in quanto l'utente potrebbe decidere di visualizzare anche 10 o 12 grafici contemporaneamente ; è per questo motivo che la parte di Data Bind è gestita da uno strato applicativo separato che ha il compito di prelevare i dati secondo le seguenti modalità previste : L'esecuzione di una query con processo dei relativi risultati. La schedulazione notturna (o richiamata da utente) delle interrogazioni alla fonte dati con ribaltamento dei risultati su tabelle Oracle (o simili ) "temporanee" interrogate poi Dashboard. Una fonte esterna rappresentata da un file xml contente i dati da visualizzare con relativa parsificazione del contenuto al fine di mostrarli 5
Metodologia proprietari SETUP su piattaforma JAVA 2/3 SETUP DASHBOARD Per la progettazione Object Oriented del Setup Chart Engine Setup ha messo a frutto l'esperienza maturata in anni di sviluppo software su piattaforma JAVA, così da creare una struttura multi strato conforme ai dettami del paradigma MVC. Infatti e' strutturato in modo da risultare una sorta di BLACK BOX" : questo era l'obbiettivo dichiarato; nessuna logica troppo rigida all'interno del componente, che deve trascendere le problematiche tipiche di un'applicazione, definendo un comportamento astratto e generalizzato che bene si collochi all'interno di ogni eventuale problematica aziendale. Di qui la scelta di usare XML, la "Lingua Franca" dell'it, come standard per la configurazione dell'engine che di fatto cerca di assecondare le esigenze dell'utente finale. Un altro standard Setup prevede che per i suoi componenti ci sia la possibilità di poggiare su esso modificandone i le "features" se gli obiettivi che ci si prefigge non collimano con i target dell'engine stesso. 6
Framework proprietari SETUP su piattaforma JAVA 3/3 FUNZIONALITA GESTITE DAL FRAMEWORK SETUP Di seguito vengono elencate le funzionalità gestite dal Componente: Visualizzazione Grafici : Torta ( Pie Chart ) Linee ( Line Chart ) Istogramma ( Bar Chart ) Dispersione ( Scatter Chart ) Bolla (Bubble Chart ) Ad assi Multipli ( Multiple Axis Bar Chart ) Candela (Candlestick Chart) Istogrammi con indicatori di soglia ( Marker Chart ) Strato per la gestione dell accesso ai dati : DB Data Table con esecuzione di query semplici DB Data Table di appoggio popolate mediante schedulazione notturna o chiamata utente Interpretazione ( parsing ) di Xml Data File Configurazione Personale DashBoard con possibilità per ogni utente di Definire : Quali grafici visualizzare in fase di accesso I filtri da applicare alle fonti dati Le eventuali soglie di tolleranza ( per i grafici che lo prevedono ) Gestione Dettaglio Dati multi livello ( Drill Down ) Esportazione Grafici e Griglie Dati verso Ms Excel Gestione dinamica del web content per l ottimizzazione dello spazio all interno della pagina web contenente il cruscotto 7
Output 8
Output 9
Drill - down 10
Configurazione DASHBOARD 11
Filtri popolazione DASHBOARD 12
Architettura SW Setup DASHBOARD e sua customizzazione SETUPDASHBOARD SETUP WEB CONTENT CHART ENGINE INTERFACE SETUP XML CONFIGURATOR JFREECHART JEXCEL SETUP DATA BIND SETUP CHART ENGINE XML DATA SETUP DB ENGINE DB ORACLE DBMS 13