Sommario
Il presente lavoro nasce a seguito dell’esperienza di stage svolta presso il Dipartimento Presidenza,
Settore Società dell’Informazione - Centro Elaborazione Dati della Regione Calabria, in Catanzaro.
Fulcro di questo lavoro è la realizzazione di un portale di ricerca per il sito web istituzionale della
Regione Calabria, mediante l’utilizzo delle tecnologie AJAX, finalizzato al miglioramento
dell’offerta dei servizi rivolti ai cittadini e alle imprese.
Tale portale è stato implementato sulla base dei risultati emersi da una accurata analisi del sito web
regionale, svolta a partire dalla navigazione delle pagine e dalla valutazione dei servizi che
l’Amministrazione deve rendere disponibili in rete.
Quanto sopra detto, presuppone la consapevolezza che lo sviluppo del sito web della Pubblica
Amministrazione (P.A.) è, non solo, uno strumento di recupero di efficienza ma anche
un’occasione, spesso decisiva, per una reingegnerizzazione dei processi ed assolve ad un duplice
ruolo, da una parte, infatti, il sito web è un canale fondamentale per la comunicazione istituzionale
in rete, mentre, dall’altra, costituisce uno strumento per la comprensione dello stato di diffusione
dell’e-government e della digitalizzazione della pubblica amministrazione.
INTRODUZIONE
Il presente lavoro di tesi nasce a seguito dell’esperienza di stage svolta presso il Dipartimento
Presidenza, Settore Società dell’Informazione - Centro Elaborazione Dati della Regione Calabria, in
Catanzaro.
Fulcro di questo lavoro è la realizzazione di un portale di ricerca per il sito web istituzionale della
Regione Calabria, mediante l’utilizzo delle tecnologie AJAX.
Tale portale è stato implementato sulla base dei risultati emersi dall’analisi del sito web regionale,
svolta a partire dalla navigazione delle pagine e delle informazioni che l’Amministrazione deve
rendere disponibili in rete.
Il sito web regionale rappresenta il canale fondamentale per la comunicazione in rete e per l’offerta
di informazioni e servizi per gli utenti. Esso adempie non solo alle esigenze della comunicazione
istituzionale, ma soprattutto agli obblighi in materia di accesso ai servizi resi ai cittadini.
Lo stesso sito, alla luce della normativa in vigore sul tema, e in particolare delle Linee guida per i
siti web della PA (Direttiva n. 8 del 26 novembre 2009), costituisce uno strumento per la
comprensione dello stato di diffusione dell’e-government.
Tra gli obiettivi di una Pubblica Amministrazione di qualità e al passo coi tempi, infatti, è prioritaria
l'esigenza di fornire, tramite web, informazioni corrette, puntuali ed aggiornate, nonché di erogare
servizi sempre più fruibili.
In considerazione di ciò, temi cruciali come l’e-government e l’open government, hanno assunto nel
tempo sempre maggiore rilevanza specifica, non solo perché consentono di offrire nuovi e migliori
servizi ai cittadini e alle imprese, ma anche e soprattutto, per il cambiamento culturale e di
aspettative che essi possono innescare.
In Italia, a partire dal 2008, il Ministero per la Pubblica Amministrazione e l’Innovazione (MIPAI)
ha individuato come asse della sua strategia la necessità di “migliorare la qualità dei servizi
pubblici, promuovendo la gestione orientata al miglioramento continuo, l’adozione di standard, la
misurazione della soddisfazione e il benchmarking”.
Intraprendere tale percorso, permette di raggiungere contemporaneamente almeno due finalità.
Da un lato, diventa possibile, grazie all’adozione delle nuove tecnologie, costruire una PA basata su
criteri di efficacia, efficienza ed economicità. Dall’altro, si avvia un circolo virtuoso che, dalla PA,
dispiega i propri effetti su tutto il territorio, coinvolgendo cittadini, imprese e altre istituzioni e
creando un ambiente favorevole all’innovazione.
Il presente lavoro è strutturato in 4 capitoli.
Nel primo capitolo sono descritti il Web 2.0, un modo nuovo di intendere la rete che pone al centro
i contenuti, le informazioni e l’interazione, specificandone una delle principali caratteristiche
riferita ai dati, che con il Web 2.0, diventano indipendenti dalla persona che li produce.
Sono altresì introdotte le tecnologie con cui è costruito il Web 2.0. Tali tecnologie, denominate
AJAX (acronimo di Asynchronous JavaScript and XML), permettono alle pagine di funzionare più
come applicazioni per il desktop che come pagine dal contenuto statico.
Il secondo capitolo contiene, a partire dal confronto tra il modello classico e quello AJAX, alcuni
esempi di applicazioni delle tecnologie specifiche come, ad esempio gli RSS, che permettono agli
utenti di ottenere aggiornamenti automatici non appena un sito cambia, anziché controllarlo ogni
volta per avere le ultime informazioni. Basta semplicemente iscriversi al feed RSS del sito e non
appena il contenuto di tale sito si modifica, le variazioni vengono automaticamente inviate al lettore
o all’aggregatore di RSS.
Un ulteriore approfondimento riguarda le open API (Application Programming Interface, ossia,
letteralmente, Interfaccia di Programmazione di un'Applicazione). Esse consentono l'accesso ad
ampi database informativi proprietari e possono essere utilizzate per creare nuovi mix e
combinazioni che migliorano i dati e le informazioni preesistenti. Google, Yahoo, eBay, Skype, e
molte altre società del web hanno reso disponibili le loro open API.
Il terzo capitolo propone, sulla base di un’attenta ricognizione dei riferimenti normativi, che
rilevano una diffusa e crescente attenzione per il canale web, una valutazione di numerosi aspetti e
caratteristiche del sito istituzionale della Regione Calabria.
Tale valutazione/analisi definisce un approccio sperimentale che si fonda sia sui principi teorici
condivisi, sia sull’esperienza maturata sul campo. Ciò al fine di mettere in evidenza i principali
punti di forza e di debolezza del predetto sito, interamente progettato e realizzato in modalità open
source, privilegiando la semplicità grafica e limitando immagini ed effetti speciali, ma ancora
potenzialmente migliorabile con l’obiettivo di raggiungere la ricchezza e la varietà dei servizi che la
Rete mette già a disposizione in altri ambiti.
Nel quarto capitolo sono descritte alcune applicazioni appositamente realizzate tramite le tecnologie
AJAX. Il portale web che è stato sviluppato consente, rispettivamente, di individuare il personale
dell’Amministrazione con riferimento ad alcuni parametri specifici (nominativo, dipartimento,
settore di appartenenza, ufficio e mansione) e permette di localizzarne e visualizzarne la sede di
lavoro corrispondente nonché consente di dare massima diffusione alle iniziative
dell’Amministrazione relative a bandi di gara e di concorso, con l’obiettivo di garantire ai cittadini
il diritto alla trasparenza amministrativa. Il portale implementato consente di migliorare la
reperibilità e la fruibilità di servizi prioritari nella classificazione dei servizi pubblici che debbono
essere resi ai cittadini al fine di innalzare il livello di soddisfazione degli utenti.
Le conclusioni, infine, mostrano possibili sviluppi e scenari futuri a partire dai risultati ottenuti con
questo progetto di tesi.
CAPITOLO 1
I N TRODUZIONE AL WEB 2.0
1.1 Il Web 2.0
Il termine “Web 2.0" indica un generico stato di evoluzione di internet e in particolare del World
Wide Web
1
, rispetto alla condizione precedente. Si tende ad indicare come Web 2.0 l'insieme di
tutte quelle applicazioni online che permettono uno spiccato livello di interazione sito-utente
2
.
Il flusso di contenuti e delle idee è una delle più importanti novità del Web 2.0.
Il Web 2.0 si riferisce alle tecnologie che permettono ai dati di diventare indipendenti dalla persona
che li produce o dal sito in cui vengono creati. Le informazioni, infatti, sono frammentate in unità di
microcontenuti che possono essere distribuiti in più domini e che possono viaggiare liberamente da
un sito all'altro, spesso in modi che il produttore non aveva previsto.
Ciò ha determinato il passaggio dal Web dei documenti
3
al Web dei dati e ha consentito agli utenti
di prendere informazioni da diversi siti simultaneamente e di distribuirle per nuovi scopi.
Presupposto del Web 2.0 è pertanto la collaborazione e condivisione tra esseri umani che utilizza il
web come mezzo di comunicazione.
Il Web è oggi una piattaforma di sviluppo rete-centrica emergente che offre un valido supporto alla
creazione distribuita e collaborativa.
Figura 1: Esempi di evoluzione determinatisi grazie al Web 2.0
1
Il World Wide Web in sigla WWW, più spesso abbreviato in Web, anche conosciuto come Grande Ragnatela
Mondiale, è un servizio di Internet che permette di navigare ed usufruire di un insieme vastissimo di contenuti
multimediali e di ulteriori servizi accessibili a tutti o ad una parte selezionata degli utenti di Internet.
2
Blog, forum, chat, sistemi quali Wikipedia, Youtube, Facebook, Myspace, Twitter, Gmail, Wordpress,
Tripadvisor ecc..
3
Cosiddetto Web 1.0 caratterizzato prevalentemente da siti web statici senza alcuna possibilità di interazione con
l'utente eccetto la normale navigazione tra le pagine, l'uso delle e-mail e l'uso dei motori di ricerca.
Di seguito viene presentata una breve lista di tecnologie ed elementi che, in generale, caratterizzano
i siti, le applicazioni e i servizi Web 2.0:
- gli Standard Web come il DOM, l'XHTML e XML, o ancora i CSS;
- tecnologie per la condivisione e l'aggregazione delle informazioni mediante RDF, RSS,
meglio conosciute come tecnologie per il content syndication. La prima e forse più
importante evoluzione verso il Web 2.0 riguarda sicuramente l'aggregazione ed il riutilizzo
dei contenuti dei siti Web. In questo senso, soprattutto RSS (Really Simple Syndication) è
veramente una tecnologia che ha fatto la differenza;
- API (Application Programming Interface) ossia un particolare insieme di regole e specifiche
che un programma software è in grado di seguire per accedere e usufruire dei servizi e delle
risorse fornite da un altro particolare programma software che implementa tale API. Esso
funge da interfaccia tra i diversi software e facilita la loro interazione, simile al modo in cui
l'interfaccia utente facilita l'interazione tra umani e computer;
- tecniche per la creazione di applicazioni ricche e non invadenti, come per esempio AJAX, di
cui si dirà al paragrafo seguente.
1.2 AJAX: il web con la marcia in più
Le Applicazioni desktop sono le usuali applicazioni. Esse richiedono un CD di installazione o una
connessione a Internet per il download e si installano sul computer, sono molto veloci e hanno
interfacce grafiche a volte anche molto complesse e ricche. Si distinguono dalle Applicazioni web
che invece non necessitano di alcuna installazione, girano in un browser web, forniscono servizi
impensabili in una applicazione desktop tradizionale, ma richiedono lunghi tempi di attesa della
risposta del server o del refresh o della generazione di una pagina web.
AJAX, acronimo di Asynchronous JavaScript and XML, tenta di colmare il gap tra applicazioni
tradizionali e applicazioni web.
Non è un nuovo linguaggio di programmazione e non è neanche una nuova tecnologia quanto
invece è insieme di tecnologie "ognuna delle quali si sviluppa per conto proprio, ma in unione con
le altre da origine a nuovi modi potenti" (Jesse James Garrett - 2005), allo scopo di creare
applicazioni web interattive.
Possiamo definire AJAX, in maniera intuitiva, come l’integrazione tra vari linguaggi di
programmazione per il web, che consente lo sviluppo delle cosiddette RIA (Rich Internet
Application) ossia applicazioni web che girano in rete ricche, leggere, veloci, reattive, dinamiche,
usabili, interattive, efficaci e indipendenti dalla piattaforma
4
. Una RIA basata su AJAX è un'
applicazione aggiornata solo sul server e che non richiede plug-in. Il primo vantaggio lo si può
riscontrare nella banda di utilizzo. Le richieste asincrone richiederanno solo i dati veri e propri da
inserire nelle pagine eludendo tutte quelle meta informazioni contenute nelle pagine HTML che
servono a rendere una visualizzazione tabellare.
4
AJAX non è tuttavia l'unica tecnologia con queste prerogative: altre tecnologie nate prima di AJAX sono le Applet Java, JavaFX, Java WebStart, le
ActiveX e Silverlight di Microsoft, Air, Flash e Flex di Adobe, Apollo, OpenLaszlo, XUL, XAML, SVG ecc. Tecnologie non basate su AJAX come
Flash, le Applet ecc possono richiedere il download dei corrispondenti plug-in.
Un altro vantaggio è quello di riuscire a semplificare il server. E' possibile far fare al client alcune
operazioni, come quelle di ricerca o ordinamento snellendole dal server. Questo comporta dei server
più leggeri quindi più snelli e veloci, che hanno bisogno di minori requisiti e che quindi possono
essere installati su dispositivi mobili senza problemi di risorse.
Un terzo vantaggio, anche se non tecnico ma ai fini dell'utente, è quello di riuscire ad aggiungere
informazioni in maniera graduale ad una vista corrispondentemente a ciò che per tali motivi è
considerata da molti impropriamente come il linguaggio del web 2.0.
La tecnica AJAX utilizza una combinazione di:
- HTML (o XHTML) e CSS per il markup e lo stile;
- DOM (Document Object Model) manipolato attraverso un linguaggio ECMAScript come
JavaScript o JScript che tiene insieme il tutto per mostrare dinamicamente le informazioni
ed interagirvi;
- l'oggetto XMLHttpRequest per l'interscambio asincrono dei dati tra il browser dell'utente e il
web server;
- XML e XSLT per scambiare i dati usando, anche se di fatto qualunque formato può essere
utilizzato, incluso testo semplice, HTML preformattato, JSON e perfino EBML.
1.3 Le tecnologie di AJAX
1.3.1 L’(X)HTML e CSS
I linguaggi HTML e XML sono stati progettati per svolgere compiti diversi. L’HTML (acronimo di
Hyper Text Markup Language ossia linguaggio di marcatura per ipertesti) è un linguaggio semplice
che rende agevole la visualizzazione dei dati. L'HTML non è altro che un linguaggio di markup,
ossia descrive il contenuto, testuale e non, di una pagina web. La descrizione della pagina è fatta