Software Open Source nella Pubblica Amministrazione: un Caso di

Transcript

Software Open Source nella Pubblica Amministrazione: un Caso di
Software Open Source nella Pubblica
Amministrazione: un Caso di Studio
Adriano Di Pasquale, Daniele Zippo, Cesare Di Francesco
Istituto Zooprofilattico Sperimentale dell'Abruzzo e del Molise "Giuseppe Caporale", Teramo, Italy,
http://www.izs.it
Sommario
Il Software Open Source e il modello di sviluppo ad esso associato, è uno dei fenomeni della tecnologia
dell’informazione più rilevanti degli ultimi anni. Da più parti ne viene promosso l’utilizzo nel settore pubblico.
Il presente lavoro riporta l’esperienza di utilizzo in una Pubblica Amministrazione: l’Istituto Zooprofilattico
Sperimentale dell'Abruzzo e del Molise "Giuseppe Caporale". Si evidenzia come, negli anni, abbia avuto un
aspetto rilevante sia negli usi interni che nei progetti esterni dell’Istituto, garantendo il contenimento dei costi,
la scalabilità dei servizi in base alle necessità e, nell’ambito dei progetti internazionali dell’ente, la possibilità di
fornire servizi informatici anche in paesi in via di sviluppo.
Inoltre, l’esperienza acquisita dal personale interno ha consentito la realizzazione del sistema WebWrapper
che fornisce servizi di sicurezza e di “single sign on” a generiche applicazione web, evitando l’acquisizione di
soluzioni commerciali analoghe con costi estremamente elevati.
Nell’esperienza maturata in Istituto si è evidenziato uno dei maggiori vantaggi del Software Open Source: la
spinta al suo utilizzo favorisce uno spostamento dei costi del software dall’acquisto di licenze alla formazione
del personale, favorendone la crescita professionale.
Introduzione
Da tempo uno dei fenomeni più significativi nell'ambito della tecnologia dell'informazione è
quello che va sotto il nome di Software Open Source (OSS: open source software):
qualsiasi sistema di gestione delle informazioni e delle comunicazioni che consente la
disponibilità del codice sorgente.
Ad esso sono legati la Free Software Foundation (FSF) [1] e la Open Source Initiative (OSI)
[2]. I due movimenti che ne sono derivati, quello del software libero e quello del codice a
sorgente aperto, condividono entrambe l’idea guida della disponibilità completa e senza
limitazioni dei sorgenti, sebbene si diversificano in alcuni aspetti filosofici e di principio [3]
[4]. L’avvento del OSS ha creato anche un nuovo modello di sviluppo software, basato sui
contributi di migliaia di programmatori che lavorano scambiandosi idee e file attraverso
Internet, e giungono in assenza di autorità centrale a realizzare programmi complessi. Tale
modello, denominato bazar, si contrappone al modello tradizionale di costruzione della
cattedrale [5].
La rilevanza internazionale assunta dal fenomeno ha indotto diversi studi critici sul OSS al
fine di consentire una corretta valutazione delle possibilità d’utilizzo nelle aziende ed in
particolare nella Pubblica Amministrazione (PA). Approfondimenti possono essere trovati in
[6][7][8][9].
In Italia, l'utilizzo di software opensource nella PA è in particolare motivato dalle seguenti
indicazioni, dove si promuove l’utilizzo di standard aperti e sistemi informatici interoperabili:
•
Commissione Europea: Decisione 2004/387/ce: erogazione interoperabile di servizi di
governo elettronico alle Pubbliche Amministrazione, alle imprese e ai cittadini.
•
Ministero per l‘Innovazione e le Tecnologie: Direttiva 19 dicembre 2003: Sviluppo ed
utilizzazione dei programmi informatici da parte delle Pubbliche Amministrazione. In
attuazione di tale direttiva, il Centro nazionale per l’informatica nella pubblica
1
amministrazione (DigitPA, ex CNIPA) ha costituito “l'Osservatorio Open Source”, in
linea dal 2006 all’indirizzo http://www.osspa.cnipa.it/. L’osservatorio si occupa del
coordinamento delle "best practice" e della conoscenza in materia di OSS nella PA.
In particolare, il DigitPA individua una serie di vantaggi nella distribuzione ed evoluzione del
software open source:
• contenimento dei prezzi,
• trasparenza e sicurezza,
• non dipendenza da un unico fornitore,
• elevata riusabilità,
• accessibilità per le piccole realtà di sviluppo.
Inoltre, in alcuni casi, rispetto ad equivalenti software commerciali, si ha:
• qualità paragonabile o superiore,
• diffusione maggiore (ad esempio il Web server Apache).
L’Istituto Zooprofilattico Sperimentale dell'Abruzzo e del Molise "Giuseppe Caporale" (da ora
in avanti semplicemente Istituto) è stata una delle prime PA ad avvicinarsi al movimento
open source. Storicamente, i primi utilizzi di software open source risalgono a metà degli
anni 90, in largo anticipo rispetto alla direttiva ministeriale del 2003.
Per fare alcuni esempi, fin da subito è stato adottato il server web Apache1 per il sito
istituzionale e Sendmail come server di posta; entrambi su sistema operativo GNU Linux. In
seguito altri OSS sono stati utilizzati come firewall e come server proxy per la navigazione
web.
L’attenzione al software open source rimane alta ancora oggi. Da qualche anno si utilizza
XEN come strumento di virtualizzazione dei server, Heartbeat come cluster per l'alta
affidabilità, Alfresco per la gestione documentale dei progetti. Si sta effettuando il
passaggio a Zimbra come gestione della posta elettronica istituzionale.
L'esperienza estremamente positiva, fatta con i prodotti utilizzati, ha spinto l'introduzione
del software open source anche nell'area di sviluppo del software cosiddetto “custom”,
ovvero personalizzato per le esigenze istituzionali.
Fin dal 2000, il framework di sviluppo Apache/Perl è stato infatti affiancato ad altri prodotti
proprietari utilizzati da tempo. Ad oggi gli applicativi web si basano prevalentemente sulla
piattaforma J2EE e gli sviluppatori utilizzano come strumenti di lavoro quotidiano Eclipse,
Tomcat, Jasper Reports e librerie Java aperte quali Struts e Ibatis. Per il controllo di
versione del codice sorgente è utilizzato Subversion.
E' importante precisare che non sempre viene adottato un software open source per le
necessità dell’Istituto. Ad esempio Oracle2 è sempre rimasto l'RDBMS di riferimento negli
sviluppi più critici, in quanto utilizzato fin dalla versione 6. Il personale interno ha oramai
una lunga esperienza sia dal punto di vista di sviluppo che di manutenzione. Il costo del
passaggio ad un prodotto OSS equivalente è valutato molto più alto del risparmio in termini
di licenze.
In generale, nella scelta di un OSS vengono valutati vantaggi/svantaggi derivanti dalla
sostituzione di un software proprietario già in uso in Istituto, tenendo presente i punti
menzionati da DigitPA e le seguenti caratteristiche:
1
I riferimenti ai software opensource utilizzati in Istituto sono riportati in
Tabella 1
2 http://www.oracle.com
2
•
•
•
software open source derivante da progetti di provata qualità, attivi e con supporto,
costo basso di introduzione nell'infrastruttura di sviluppo o sistemistica,
basso impatto sulle conoscenze pregresse del personale.
Un caso di particolare rilevanza è il sistema software sviluppato completamente all'Istituto
utilizzando OSS denominato "WebWrapper". Esso realizza un’infrastruttura di servizi comuni
per generiche applicazioni web tra i quali la pubblicazione in rete, la gestione dell'accesso e
della sicurezza. Il nome deriva dal fatto che una richiesta web viene intercettata e
impacchettata in una nuova richiesta, aggiungendo i servizi richiesti, prima di essere
passata alle applicazioni web vere e proprie.
Il sistema è parte integrante dell'architettura delle applicazioni critiche realizzate in Istituto
e in tal senso, rappresenta un caso di successo di utilizzo di software open source nella PA,
in quanto utilizzato in sistemi reali e non a scopo sperimentale.
Nella prossime sezioni viene descritta l'architettura base delle applicazioni più importanti
realizzate in Istituto, con particolare attenzione al sistema WebWrapper e ai vantaggi di
averlo realizzato con OSS.
Prodotti Server
Apache:
http://www.apache.org
Sendmail:
GNU Linux:
http://www.linux.org
Xen:
Heartbeat:
http://www.linux-ha.org
Alfresco:
Zimbra:
http://www.zimbra.com
Perl:
Umn Mapserver: http://mapserver.org
Tomcat:
Librerie di sviluppo Java
Struts:
http://struts.apache.org
Ibatis:
Librerie di sviluppo Javascript
Openlayers:
http://openlayers.org
Jquery:
http://www.sendmail.org
http://www.xen.org
http://www.alfresco.com
http://www.perl.org
http://tomcat.apache.org
http://ibatis.apache.org
http://jquery.com
Tabella 1 Riferimenti ai principali software open source utilizzati in Istituto
Open source nei sistemi informativi realizzati in Istituto
Per progetti esterni e per necessità interne, all'Istituto sono state realizzati software di varia
natura. Dal punto di vista tecnologico, vi sono applicazioni di tipo client/server, per
palmare, web e web-gis [13][14].
Applicazioni WEB
Particolarmente importanti sono le applicazioni web e web-gis realizzate dall’Istituto per
conto del Ministero della Salute, tra cui spicca la Banca Dati Nazionale delle Anagrafi
Zootecniche (BDN), utilizzata a livello nazionale da circa 9000 utenti fra veterinari, allevatori
e responsabili di macelli e che presenta un carico di oltre 20000 transazioni di
aggiornamento quotidiane [10].
La Figura 1 riporta l'architettura di base seguita dall’Istituto per lo sviluppo di una generica
applicazione web e degli OSS utilizzati nei vari livelli:
3
•
nel livello dati viene comunemente utilizzato Oracle RDBMS con la componente
Locator come motore spaziale, utilizzata quest'ultima prevalentemente per
applicazioni web-gis [11][12].
•
nel livello applicazione vengono utilizzati prevalentemente Apache Tomcat come
Web container per le applicazioni J2EE e Apache/Perl per le applicazioni basate sul
linguaggio Perl. Per le applicazioni web-gis, Umn Mapserver viene utilizzato come
motore di rendering di immagini geografiche.
•
nel livello presentazione, ovvero il browser dell’utente, sono adottate una serie di
librerie Javascript aperte, tra cui Jquery e Openlayers. Quest'ultima in particolare
consente una interazione dinamica con le mappe, in particolare utilizzando come
fonte dati le mappe messe a disposizione dal servizio remoto di Google Maps.
Browser con
Jquery, Openlayers
Livello
presentazione
Livello
applicazione
Perl
(Apache)
J2EE (Tomcat)
Google Maps
UMN Mapserver
Strumenti Open Source
Strumenti Commerciali.
Livello dati
ORACLE
Oracle Locator
Risorse esterne all’IZSAM.
Figura 1: Architettura di una generica applicazione web e web-gis.
Il sistema WebWrapper
Una generica applicazione web o web-gis deve garantire una serie di servizi di base, tra cui
la gestione della sicurezza attraverso l'utilizzo del protocollo HTTPS ed eventualmente
dell'autenticazione "forte" con la richiesta di inserimento di “smart-card” da parte degli
utenti.
Il sistema WebWrapper è stato progettato per aggiungere questi servizi ad una generica
applicazione, indipendentemente da come è stata sviluppata. Storicamente il sistema è
nato nel 2002 a supporto dei sistemi di sicurezza richiesti per la BDN.
La Figura 2 mostra l'architettura del sistema WebWrapper: un server “bilanciatore” smista
con algoritmo “round-robin” le richieste web su dei server “distributori”. Su questi ultimi è
installato Apache con moduli Perl e configurato come reverse proxy. Una richiesta web
viene intercettata ed elaborata, verificando i requisiti di sicurezza, prima di distribuirla ai
server applicativi veri e propri. Tipicamente in questa fase una richiesta in protocollo HTTPS
viene tradotta in protocollo HTTP.
Disaccoppiare la gestione della sicurezza del sito dalla parte applicativa ha una serie di
vantaggi:
4
•
•
facilita gli sviluppatori degli applicativi che possono concentrarsi esclusivamente sui
requisiti utente,
bilancia il carico di trasformazione di una richiesta HTTPS in HTTP, notoriamente
piuttosto pesante.
Internet
HTTPS
Bilanciatore
(Linux 2CPU)
HTTPS
Distributore
(Linux 2CPU)
Distributore
(Linux 2CPU)
Distributore
(Linux 2CPU)
HTTP
App server
(4CPU)
App server
(4CPU)
Figura 2: Architettura sistema WebWrapper
Discussione
Vantaggi dell’utilizzo di software open source
I vantaggi principali di aver utilizzato software open source per gli applicativi web e per il
sistema WebWrapper sono indicati di seguito.
Risparmio economico
L’utilizzo di software open source ha consentito e consente un risparmio economico
notevole in termini di licenze software necessarie per i sistemi informativi dell’Istituto.
Scalabilità
Crescita del sistema in base alle necessità. A fronte di attività applicative specifiche, in BDN
è stato necessario affrontare più volte situazioni di carico particolarmente intenso. In questi
contesti, l’architettura di Figura 2 è stata aumentata con un server per la parte applicativa e
un distributore del sistema WebWrapper. Terminato il periodo intenso si è ripristinata la
situazione iniziale, in quanto pienamente sufficiente a gestire il carico ordinario.
Crescita rapida
L'assenza di costi di licenza software consente una scalabiltà “rapida”. Se l'hardware è
disponibile, è possibile aumentare rapidamente server applicativi e distributori nelle
situazioni in cui si presenti un aumento di carico non previsto, o applicazioni da realizzare in
tempi stretti. In tal caso, il costo dell’aumento delle risorse è dato solo dall'hardware.
Al contrario, nel caso di utilizzo di sistemi proprietari, il precedente costo cresce a causa
delle licenze software, le quali notoriamente dipendono dalla quantità di hardware
5
utilizzato. Dalla nostra esperienza questo può essere anche quattro volte superiore rispetto
a quello del solo hardware.
La scelta strategica dell’Istituto è stata di investire in anticipo su un parco hardware
adeguato a coprire le variazioni nel carico e nel numero di applicazioni e, dove possibile,
utilizzare software senza costi di licenze.
Investire in anticipo sulle licenze software sarebbe complicato da giustificare. Si prenda
come esempio una situazione, verificatasi più volte in BDN, con un forte aumento del carico
lavorativo limitato ad un periodo di tempo.
Una volta ripristinata la situazione di normalità, è abbastanza semplice riconvertire un
server ad altre attività, in particolar modo utilizzando sistemi di virtualizzazione: il server
virtuale non più necessario può essere spento, liberando risorse che saranno utilizzate da
altre macchine virtuali.
Al contrario, le licenze software aggiuntive rimangono un costo non recuperabile.
Budget limitati
L'assenza di costi di licenza ha consentito di poter fornire personalizzazioni dei sistemi
informativi della BDN in contesti con budget limitati: in particolare in Serbia ed Eritrea. Una
personalizzazione del SILAB (Sistema Informativo dei Laboratori) è stato fornito in Namibia.
Tutti contesti in cui costi pesanti di licenze software avrebbero bloccato il progetto in
partenza.
Il controllo del codice: un vantaggio aggiuntivo
Un altro fattore determinante è stato mantenere il controllo del codice. E' ben noto che ciò
consente di personalizzare i sistemi software in base alle proprie necessità. In particolare,
nel sistema WebWrapper, rimanere aggiornati sulla tecnologia e sulle possibilità offerte dai
software open source, ha consentito l'estensione del sistema nell’arco degli anni
aggiungendo importanti funzionalità:
Mapping degli applicativi:
questa funzionalità consente di dare all'utente una visione omogenea di un applicativo web,
mascherando il fatto che esso è composto di moduli interni separati.
In base a delle direttive, le richieste web che arrivano ad un’applicazione vengono smistati
a webserver interni differenti. Un tipico mapping è il seguente:
•
•
https://www.izs.it/reports/
https://www.izs.it/gis/
-> http://SERVER_1:8080/reports/
-> http://SERVER_2:9090/gis/
Le direttive indicano che le richieste al sito www.izs.it con prefisso “/reports/” saranno
gestite dal servizio web presente alla porta 8080 del server SERVER_1. Analogamente per
le richieste con prefisso “/gis/”.
Il mapping consente di creare applicazioni web coerenti utilizzando moduli separati
realizzati con tecnologie diverse, quali moduli di reportistica, gestionali e gis.
E’ stato di fondamentale importanza nel pubblicare applicativi web aggregando sottoapplicazioni realizzate in tempi diversi, molto spesso realizzate con tecnologie diverse e per
forza di cose installate su server separati. In tal caso, il mapping ha favorito il riuso di
applicazioni realizzate in passato evitando costose riconversioni.
6
Single Sign On:
questa funzionalità consente di utilizzare applicazioni web differenti avendo un unico punto
di autenticazione. Una volta autenticati in un applicazione portale, non verranno più chieste
le credenziali per l'accesso alle altre applicazioni configurate. Questa funzionalità è stata
pesantemente utilizzata nella realizzazione del portale che pubblica tutte le differenti
anagrafi zootecniche della BDN.
Ad oggi, esistono diverse
WebWrapper. Tipicamente
hardware che di software)
diverse decine di migliaia di
soluzioni che realizzano le funzionalità presenti nel sistema
sono fornite come “appliance” (soluzioni composte sia di
e hanno anche in questo caso dei costi sempre nell'ordine di
euro.
Conclusioni
Come caso di studio in una Pubblica Amministrazione, si è presentata la panoramica del
Software Open Source utilizzato all’interno dell’Istituto sia per gli scopi interni che per i
progetti nazionali e internazionali. In particolare è stato presentato un caso di successo di
applicazione software realizzata internamente all’ente con strumenti open source ed
utilizzata in progetti critici.
In tale contesto, si sono evidenziati i benefici previsti dal DigitPA. Ad essere più precisi, due
caratteristiche proprie del software open source determinano vantaggi diversi: non si hanno
costi di licenza e il formato dei dati è necessariamente aperto. Dal punto di vista delle
licenze si evidenzia:
•
•
•
contenimento dei costi,
elevata scalabilità con possibilità di aumento e riduzione di risorse senza spese
inutili,
facilità di applicazione a progetti con budget limitato, tipico dei paesi in via di
sviluppo.
Dal punto di vista del formato aperto dei dati si hanno i seguenti vantaggi:
•
•
indipendenza da fornitori di software,
elevata personalizzazione in base alle necessità.
Come noto l’utilizzo di software commerciale non è gratuito. Vi è da un lato il costo di
licenza iniziale e poi quello di manutenzione e aggiornamento.
Il costo di manutenzione è presente anche nell’utilizzo di software open source, ma in
questo caso può essere scelto fra due diverse possibilità: come servizi di supporto da
pagare ad aziende esterne, oppure come formazione del personale interno. Ovvero, al
contrario del software commerciale, vi è la possibilità di scegliere.
In base all’esperienza dell’Istituto, tale costo è da valutare come un’opportunità: laddove ve
ne sia la possibilità, invece che acquistare licenze software si può pensare di investire nella
crescita professionale del personale su software open source di provata qualità. Questo
garantisce un risparmio nel progetto corrente e, ancora più importante, un ritorno di
conoscenza nei progetti futuri.
7
In definitiva, il modello di sviluppo open source promuove lo spostamento dei costi dalle
licenze alla formazione del personale, ovvero da una situazione di dipendenza che il
fornitore opera sul cliente ad una di indipendenza e crescita culturale.
Riferimenti
[1]. Free Software Foundation http://www.fsf.org.
[2]. Open Surce Iniziative http://www.opensource.org.
[3]. Meo A., Berra A., 2001, Informatica solidale. Bollati Boringhieri
[4]. Meo A., 2002, Software libero e Open Source, Mondo Digitale, Anno I, n. 2, 2002,
p.3-17.
[5]. Raymond E., 2001, The Cathedral and the Bazaar. Paperback edition.
[6]. Fuggetta A., 2003, Open source software: an evaluation. Journal of Systems and
Software, Vol. 66, Issue 1, 2003, p. 1-90.
[7]. European Commission - DG Enterprise, 2001, Study into the use of Open Source
Software in the Public Sector An IDA Study - Interchange of Data between
Administrations, June 2001.
[8]. International Institute of Infonomics University of Maastricht, Berlecon Research
GmbH Berlin, 2002, FLOSS (Free/Libre and Open Source Software: Survey and
Study). June 2002.
[9]. UK Government, 2004, Open Source Software - USE Within UK Government,V.2,
http://www.cabinetoffice.gov.uk/media/253410/oss_policy_version2.pdf
[10]. A. Di Pasquale, E. Isocrono, L. Possenti, M. Cianella, C. Di Francesco, R. Lelli, V.
Caporale, 2007, The Italian Database for Animal Identification: a Real Life
Interoperability System among Public Administrations, In Proceedings of
International Symposium on Management, Engineering and Informatics (MEI)
2007, IIIS(International Institute of Informatics and Systemics)
[11]. A. Di Pasquale, E. Isocrono, L. Possenti, C. Di Francesco, W. Di Donato, G. Fiore,
J. Hofherr, F. Natale, F. Bonavitacola, 2009, Monitoraggio del benessere animale e
della tracciabilità del bestiame durante il trasporto, Veterinaria Italiana, 45(4), 567586.
[12]. Savini L., Weiss C., Colangeli P., Conte A., Ippoliti C., Lelli R., Santucci U., 2007. A
Web-based geographic information system for the management of animal disease
epidemics. Veterinaria Italiana 43 (3), 761 – 772.
[13]. L. Possenti, A. Di Pasquale, E. Isocrono, W. Di Donato, A. D'Angelo, C. Di
Francesco, V. Caporale, 2006, Multichannel Access to the National Database for
Animal Identification, In Proceedings of International Conference on Cybernetics
and Information Technologies, Systems and Applications (CITSA) 2006,
IIIS(International Institute of Informatics and Systemics)
8
[14]. C. Batini, M. Comerio, F. De Paoli, C. Di Francesco, A. Di Pasquale, S. Grega,
2004, A service re-design methodology for multi-channel adaptation, In
Proceedings of International Conference On Service Oriented Computing (ICSOC)
2004: pp. 11-20, ACM.
9