Soluzioni open source integrate per le aziende: case

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