Soluzioni open source integrate 29 novembre 2003 per le aziende: case study Fabio Bottega ([email protected]) 1. Sintesi dell’intervento Presentazione Case Study odierno: Intranet Moroso S.P.A. Ingredienti utilizzati Architettura Risultati Considerazioni economiche Spunti per approfondimenti © Tecnoteca srl 2003 2. Presentazione Ci occupiamo di: sviluppo di applicazioni web realizzazione di portali e sistemi di CMS attività sistemistica consulenza informatica e formazione qualità del software curiamo il portale divulgativo www.tecnoteca.it (500.000 pagine e oltre 100.000 visite nel 2003) lavoriamo da sempre con software open source facciamo parte del gruppo promotore dell’associazione FreeSBI (Free Software Business Initiative), che si propone di rappresentare le aziende operanti sul mercato del software libero/open source alcuni clienti: Provincia di Padova (portale turistico), Comune di Udine (nuovo portale), Università di Udine (progetto nuovo portale, sviluppo portale orientamento), Moroso S.P.A., Osservatorio Astronomico di Trieste (QA Planck, sviluppo Java), CISL FPS Regione Fvg, Alta Direzione Milano, VareseCom Varese, ENAIP Udine, ecc © Tecnoteca srl 2003 3. Case study odierno: MOROSO S.p.A. MOROSO Esigenze: area intranet dove rendere disponibile ai propri agenti report in più formati riportanti la situazione aggiornata dell'ordinato e del fatturato sito web aggiornabile direttamente dai propri operatori con interfacce guidate basate su template predisposti da referenti grafici utilità e strumenti di comunicazione (area download, forum, webmail, ecc) © Tecnoteca srl 2003 4. Area intranet: ingredienti sistema operativo: Linux Suse server web: Apache e Tomcat database: MySQL interfaccia utente: application server ZOPE motore reportistica: Jasper Reports interfaccia fra ZOPE e Jasper Reports: pagine JSP formato scambio parametri: XML editor report: iReport © Tecnoteca srl 2003 5. Area intranet: architettura (1) iReport CSV HTML PDF Aggiornamento dati Database aziendale Jasper Reports MySQL Database reportistica Log attività Gestione Utenti XML Interfaccia web Pagine JSP © Tecnoteca srl 2003 6. Area intranet: architettura (2) Lo schema ER del database: © Tecnoteca srl 2003 7. Jasper Reports (1) Come tutti i software di reportistica, Jasper Reports è costituito da tre componenti logici: • compilazione del layout, • generazione della stampa, • esportazione (rendering) del documento. La definizione del report viene effettuata mediante un documento XML la cui sintassi è definita in un apposito DTD e permette di definire, fra l’altro, la dimensione delle bande, i gruppi, gli elementi e la loro posizione specifica, la query SQL da eseguire per produrre la stampa. Il modulo “Jasper Compiler” traduce il file XML in codice java compilato, il modulo “Jasper Reporting Engine” produce il report, nei formati html, pdf, csv, popolandolo” con i dati prelevati da un “datasource” acceduto via “jdbc”. © Tecnoteca srl 2003 8. Jasper Reports (2) Caratteristiche di Jasper Reports: passaggio di parametri formattazione completa dei testi sottoreport otto bande predefinite (background, title, pageHeader, columnHeader, detail, columnFooter, pageFooter, summary) infinite bande di raggruppamento con header e footer diverse modalità di valutazione delle espressioni elementi grafici ed immagini utilizzabilità di espressioni java campi calcolati link interni ed esterni buona documentazione ampia base di utenti © Tecnoteca srl 2003 9. iReport (1) iReport, scritto dall’italiano Giulio Toffoli, è un tool molto evoluto e semplice da utilizzare per lo sviluppo, il test e l’esportazione di report creati ed utilizzabili mediante la libreria Jasper Reports. IReport supporta tutti i tag XML definiti da JasperReports (eccetto, per la precisione, “elementGroup”), tutti accessibili tramite interfaccia visuale. Ne sono già state rilasciate 10 versioni dalla fine del 2002 ad oggi, le prime scritte in Visual J ++, le ultime in Java e ne sono stati fatti oltre 20.000 download la Sourceforge.net. Grazie alla possibilità di collegarsi a database relazionali mediante JDBC e di generare ed esportare autonomamente i report prodotti, può essere utilizzato anche come strumento di reportistica standalone. © Tecnoteca srl 2003 10. iReport (2) Un esempio dell’interfaccia utente: © Tecnoteca srl 2003 11. Area intranet: risultato Caratteristiche della soluzione di reportistica sviluppata: Tipologie di report per Ordinato, Fatturato, Avanzamento Vendite Modalità Base / Avanzata Filtro per Cliente, Modello, Tessuto, Tirella, Numero Documento, Data Documento Ordinamento su ognuno dei campi del filtro Raggruppamento su ognuno dei campi del filtro Totalizzazione su ognuno dei campi del filtro Output PDF, HTML, CSV Viste sui dati per i ruoli di Cliente, Agente, Direzione Italia, Direzione Estero, Direzione Generale Completamente multilingua Funzioni di gestione utenti per l’amministratore del portale © Tecnoteca srl 2003 12. Gestione del sito web: ingredienti sistema operativo: Linux Suse server web Apache application Server: ZOPE database: MySQL, ZODB disegno form web: modulo Formulator funzionalità multilingua: modulo Zbabel interfaccia MySQL: modulo ZMySQLDA gestione utenti su MySQL: modulo MySQLUserFolder © Tecnoteca srl 2003 13. Gestione del sito web: architettura Lo sviluppo del sito è basato sull’utilizzo di pagine dinamiche, costruite cioè dal motore informatico, al momento della richiesta, aggregando contenuti sempre aggiornati prelevati da appositi archivi. Il sistema, sviluppato tramite ZOPE, consente di separare e gestire in modo autonomo i tre componenti di un sito web: i template e gli elementi grafici, curati degli art designer, il codice di programmazione, curato degli sviluppatori web, i contenuti, la cui gestione deve poter essere svolta autonomamente dal Cliente. Codice, template, elementi grafici e contenuti informativi sono archiviati nel database object oriented ZODB, i cataloghi di prodotti ed altre informazioni strutturate sono archiviati nel database relazionale MySQL. © Tecnoteca srl 2003 14. Zope (1) ZOPE è: • un ambiente di sviluppo • un ambiente di esercizio • un application server • un web server • una piattaforma di web publishing con un proprio CMS • un database ad oggetti • una miniera di moduli e prodotti di terze parti • e altro ancora … Zope è l’application server Open Source più diffuso sul mercato, i suoi competitor commerciali sono Vignette, Documentum, Interwoven. Gli sviluppatori che contribuiscono all’evoluzione di Zope sono oltre 20.000 sparsi in tutto il mondo. E’ utilizzato da grandi organizzazioni commerciali ed editoriali nonché da ambienti istituzionali e governativi, anche europei, per la sue alte prestazioni e per le sue caratteristiche tecnologiche. ZOPE e Plone (il suo CMS), sono stati selezionati fra i sei migliori prodotti che rappresenteranno il software Open Source al prossimo COMDEX. © Tecnoteca srl 2003 15. Zope (2) I principali vantaggi nell’utilizzo di Zope 1. Gestione contenuti dinamici: 3. Scalabilità: • • • • • • • • aggiornamento autonomo contenuti editor visuale integrazione delle informazioni contenute in database esterni funzioni di ricerca avanzate integrazione contenuti di natura differente workflow 2. Sicurezza: • • gestione accessi e permessi utenti regole di sicurezza flessibili estensione delle applicazioni facilità di upgrade piattaforme software e hardware 4. Servizi di rete: • supporto standard web (XML, Soap, RDS, ecc.) 5. Facilità di gestione: • • • • • • editing remoto via browser ambiente unico integrato localizzazione riutilizzo del codice versioning export e back-up © Tecnoteca srl 2003 16. Gestione del sito: risultato Caratteristiche della soluzione in corso di sviluppo: informazioni aggiornabili direttamente dal Cliente (CMS) catalogo prodotti dinamico basato su template utenti suddivisi in ruoli (agenti, clienti, progettisti, visitatori) notizie, eventi, funzioni di comunicazione multilingua © Tecnoteca srl 2003 17. Considerazioni economiche (1) Calcolare il TCO (Total Cost of Ownership) di un sistema è un’operazione delicata e impegnativa per il rischio di fornire cifre sbagliate o confrontare prodotti non equivalenti. Preferisco quindi limitarmi ad alcune indicazioni sul solo costo delle licenze che, pur senza nessuna pretesa di rigorosità, rendano evidente la convenienza della soluzione descritta. Continua … © Tecnoteca srl 2003 17. Considerazioni economiche (2) ….continua Vanno anche considerati, a favore della soluzione open source: nessun costo per aggiornamento delle licenze nessun costo aggiuntivo per superamento limiti utenti / CPU costi medi di sviluppo inferiori presso le aziende che offrono software open source indipendenza dal fornitore grazie alla disponibilità del codice sorgente espandibilità del sistema con ulteriori moduli e prodotti open source © Tecnoteca srl 2003 18. Spunti per approfondimenti Link utili: http://jasperreports.sourceforge.net/index.html http://ireport.sourceforge.net/index.php http://ireport.sourceforge.net/ReportingTools.pdf http://www.zope.org http://www.zope.it http://www.plone.org Libri utili: Zope Pelletier Michel; Latteier Amos - McGraw-Hill Libri Italia, 2002 Zope: Web Application Development and Content Management Steve Spicklemire, Kevin Friedly, Jerry Spicklemire, Kim Brand - New Riders Publishing 2001 The Zope Book Amos Latteier, Michel Pelletier - New Riders Publishing 2001 © Tecnoteca srl 2003 Si ringrazia per l’attenzione www.tecnoteca.com