
Scheda tecnica di GRID
1. Applicazione GRID
Per raggiungere gli obiettivi del progetto GRID, la base dati deve essere collegata ad un'applicazione web-based le cui operazioni di raccolta dei dati per costituire una base dati, di interrogazione e presentazione di questi dati, di elaborazione statistiche, ecc. sono predisposte e configurabili. Quest'applicazione web-based si chiama "Applicazione GRID".
Un'applicazione GRID è quindi una particolare applicazione ADG (cfr. il framework di ADG), progettata per la fruizione e la gestione di basi dati. Al contempo una base dati può essere collegata ad una o più applicazioni GRID. Un'applicazione GRID utilizza la logica per la gestione degli accessi del framework di ADG.

La realizzazione e manutenzione di un'applicazione GRID e della base dati collegata necessità la collaborazione di tre mestieri, distinti ma complementari, che possono essere posseduti da una o più persone:
- webmaster, che fornisce un supporto sistemistico
- responsabile della base dati, che la realizza e la mantiene
- utenti finali, che accedono ai dati
Mestiere |
Descrizione |
---|---|
Webmaster |
|
Responsabile |
|
Utenti finali |
|
Esempio: Bacheca online di un professore universitario
Utenti finali:
Sono gli studenti che consultano la bacheca del professore dal loro smartphone / tablet / PC
Responsabile dell'applicazione:
E' il professore, non esperto di informatica, che inserisce nella sua bacheca gli avvisi per i suoi studenti
Webmaster:
Fa parte della Direzione informatica dell'Università che offre a ogni membro del Corpo docente una bacheca online sul sito web dell'Università
2. Progettare una base dati in un contesto GRID
2.1. Architettura
Se la base dati non esiste, la prima operazione consiste nel definire il suo schema concettuale. Se invece la base dati esiste già, si può passare direttamente alla creazione della (o delle) applicazione/i GRID per questa base dati.
La progettazione dello schema concettuale deve essere fatta da un specialista di base dati, ovviamente in collaborazione con il responsabile della base dati, ovvero la persona che consce a fondo il significato dei dati.
La base dati di un'applicazione GRID può essere composta da una o più tabelle MySql:
- Una tabella MySql unica
- Una tabella MySql, i cui campi "qualitative" sono associati ad alcune tabelle MySql di decodifica - in questa pagina web la parola "campo" si riferisce a i campi di una tabella MySql di un'applicazione GRID. La parola "campo" viene anche utilizzata facendo riferimento ai campi di una maschera HTML (SEARCH, SHOW, CRUD, ecc.). Invece la parola "colonna" si riferisce alle colonne di un foglio Excel
- Alcune tabelle MySql in join, eventualmente associate ad alcune tabelle MySql di decodifica
2.2. Tabella condivisa
Un'applicazione GRID gestisce tabelle condivise da più utenti tramite una campo "identificatore".
Nel precedente esempio delle bacheche online dei Professori di una Università, tutti gli avvisi di tutti i Professori si trovano registrati in una unica tabella MySql.
Quando un Professore aggiorna la sua bacheca, l'applicazione GRID crea dinamicamente una tabella di lavoro con i suoi avvisi. Alla fine delle modifiche, se il Professore decide di salvare queste modifiche, gli avvisi della tabella dinamica vengono copiati nella tabella originale.
2.3. Tabella di decodifica
Quando un campo della base dati contiene valori qualitativi (per esempio il campo "Genere" della base dati DEMO "DVD") esso viene chiamato campo qualitativo.
NB: Le descrizioni in italiano del campo qualitativo "Genere" sono: Animazione, Avventura, Azione, Biografico, Catastrofico, Commedia, Cortometraggio, Documentario, Drammatico, Fantascienza, Fantasy, Giallo, Grottesco, Guerra, Horror, Medico, Mitologico, Musical, Muto, Noir, Poliziesco, Ragazzi, Religioso, Sentimentale, Spionaggio, Sportivo, Storico, Telefilm, Thriller e Western.
Nel caso di un campo qualitativo è opportuno che i suoi valori siano dei codici invece delle descrizioni; questo per facilitare la manutenzione della base dati. Per esempio se dovesse essere necessario la modifica di una descrizione, con l'impiego di una "tabella di decodifica", la modifica si fa una volta sola sulla tabella di codifica, senza dover modificare la tabella dati.
Concretamente, nella maschera SHOW, l'applicazione GRID sostituisce il codice con la descrizione corrispondente. Invece, nelle maschere SEARCH e CRUD, l'applicazione GRID visualizza le possibili descrizioni con l'aiuto di un menu a tendina.
NB: CRUD è un acronimo in inglese, che deriva dalle iniziali dalle quattro operazioni fondamentali compiute nelle base dati: Create (creare i dati), Read o Retrieve (leggere i dati), Update (aggiornare i dati) e Delete (eliminare i dati).
Inoltre l'utilizzo delle tabelle di decodifiche garantisce il multilinguismo dell'applicazione. Nell'esempio che segue, il campo "paese" di una tabella dati contiene il codice ISO del paese.
NB: Il codice ISO è un codice alfabetico che viene assegnato ad ogni paese dall'International Organization for Standardization (ISO).

Al contempo la tabella di decodifica ISO contiene lo stesso codice con la sua descrizione, sia in italiano che in inglese. L'applicazione GRID sceglie automaticamente la descrizione nella lingua in uso dall'interfaccia.
2.4. Campi a valori multipli
Per facilitare il disegno dello schema concettuale, l'applicazione GRID mette a disposizione del Webmaster la funzionalità "campo a valori multipli" per poter ricevere più di un valore.
Nel caso della base dati DEMO "DVD", i campi 'Titoli', 'Registi', 'Attori', 'Maestri' e 'Nazioni' sono campi a valori multipli. Per esempio è possibile inserire nel campo "Titoli" il titolo del film in italiano e, se esiste, in lingua originale. Così un film può avere più di un regista, ovviamente può avere tanti attori, essere prodotti da più paesi, ecc. Concretamente, nella maschera SHOW, l'applicazione GRID visualizza i vari valori con una lista puntata.
Nella maschera CRUD, l'applicazione GRID permette al responsabile della base dati di inserire, per ciascun campo, uno o più valori. Esistono due casi:
- Quando il campo può contenere un insieme di stringhe,
l'interfaccia visualizza un campo nel quale ogni riga è un valore.
- Quando il campo può contenere un insieme di codici,
l'interfaccia visualizza un menu a tendina che permette la scelta di un numero indeterminato di descrizioni.
NB: L'ultima immagine mostra anche la funzionalità dispositiva "Valore non in elenco".
5) La procedura per la migrazione da Excel a GRID
Se alcuni dati sono già disponibili (per esempio in Microsoft Excel, in Microsoft Access oppure su pagine HTML strutturate), la procedura per la migrazione da Excel a GRID permette il trasferimento dei dati verso una base dati MySql in maniera facile e veloce.
Dopo il trasferimento, il tool per la Manipolazione delle Tabelle MySql (MTM) permette di eseguire alcune azioni frequentemente necessarie, senza la necessità di avere competenze tecniche relative a MySQL.
Il tool MTM consente di codificare i valori dei campi qualitativi con la generazione automatica di nuove tabelle decodifica.
Il tool MTM consente anche di fare alcuni check sui dati; ad esempio il tool può verificare, per ciascun record, che i campi "obbligatorie" abbiano un valore. Il check può essere fatto tenendo conto anche di eventuali dipendenze da altri campi: per esempio il campo X deve obbligatoriamente contenere un valore se il valore del campo Y vale un specifico valore.
3. Alcune caratteristiche fondamentali di un'applicazione GRID
3.1. Modalità di accesso
L'accesso ad un'applicazione GRID può essere libero; in questo caso qualsiasi visitatore del sito web può accedere alla base dati tramite l'applicazione.
Oppure l'accesso all'applicazione è riservato ad alcuni utenti registrati che devono "loggarsi" con le loro credenziali di accesso (nome e password) prima di accedere all'applicazione.
3.2. Modalità operativa
Un parametro importante di ciascuna applicazione GRID è la sua modalità operativa, che può essere informativa o dispositiva (questa terminologia proviene dal mondo bancario):
- Un'applicazione GRID viene chiamata informativa quando l'utente può accedere soltanto in lettura ai dati e non può modificare i dati delle base dati collegata
- Un'applicazione GRID viene chiamata dispositiva quando l'utente può anche aggiornare i dati delle base dati collegata.
3.3. Tipi di applicazioni
Da queste considerazioni si può dedurre che le applicazioni GRID si possono dividere in quattro categorie:
- Applicazioni informative ad accesso libero:
sono applicazioni pubbliche alle quali tutti i visitatori del sito web possono accedere anonimamente: bacheca online, catalogo beni/servizi, ecc. - Applicazioni informative ad accesso riservato:
sono applicazioni riservate ad alcuni utenti registrati; normalmente il loro accesso è riservato perché contengono dati riservati e/o sensibili e, al contempo, questi dati non sono modificabili dagli utenti registrati: listino prezzi, calendario appuntamenti, ecc. - Applicazioni dispositive ad accesso libero:
sono applicazioni pubbliche alle quali tutti i visitatori del sito Web possono accedere anonimamente in modalità dispositiva; normalmente l'unica operazione dispositiva consentita è il data entry: invio di un feedback, modulo 'contatti' online, registrazione ad una newsletter online, registrazione ad eventi (per aumentare l'affidabilità del processo di registrazione viene usato il double double-opt-in), ecc. - Applicazioni dispositive ad accesso riservato:
sono applicazioni riservate per alcuni utenti registrati, autorizzati alla manipolazione dei dati: gestione archivi e base dati, survey online (per garantire l'anonimato viene impiegato un token), ecc.
3.4. L'interfaccia
L'interfaccia di un'applicazione GRID - sia informativa che dispositiva - è progettata per utenti non esperti di informatica. L'interfaccia, familiare ed intuitiva, permette agli utenti di operare sui dati in sicurezza.
L'interfaccia di un'applicazione GRID è composta sostanzialmente da tre maschere principali:
- una o più maschere SEARCH per l'interrogazione dei dati
- la maschera SHOW per la visualizzazione dei dati
- se l'applicazione è dispositiva, una maschera CRUD per la manipolazione dei dati tramite operazioni dispositive: inserimento, aggiornamento, upload, cancellazione, operazioni multiple, ecc.
Esempi di maschere GRID
A queste tre maschere principali si aggiungono altre maschere: configurazione statistiche qualitative, configurazione export, login, ecc.
3.5. Multilinguismo
ADG in generale, e GRID in particolare, gestiscono in modo nativo l'italiano e l'inglese. In particolare l'interfaccia gestisce automaticamente:
- i titoli, la messaggistica, i nomi dei campi della base dati, ecc.
- la visualizzazione dei valori codificati in funzione della lingua corrente
- la validazione e visualizzazione dei numeri: separatore migliaia e separatore dei decimali, secondo lo standard europeo oppure anglosassone
- la validazione e visualizzazione delle date, secondo lo standard europeo oppure anglosassone
- la messaggistica di errore
Se la base dati contenesse campi bilingui (un campo per l'italiano e un'altro per l'inglese), l'interfaccia sceglie automaticamente il campo da utilizzare per le operazioni di ricerca e visualizzazione in funzione della lingua in uso dall'interfaccia.
Per esempio una bacheca online dovrebbe essere in grado di visualizzare gli avvisi in italiano e in inglese, per essere meglio accessibile. L'applicazione GRID prevede due campi per ricevere, uno l'avviso in italiano, l'altro l'avviso in inglese. Al contempo, se il testo in inglese di un avviso non fosse disponibile, è sufficiente inserire il carattere uguale nel campo "Avviso in inglese" della bacheca. In questo caso, nella pagina Web in inglese, il testo italiano dell'avviso sarà automaticamente visualizzato al posto del carattere uguale.
3.6. Dipendenze da prodotti software di terze parti
- CKEditor: rich text editor, from CKSource sp. z o.o. sp.k.
- Select2: the jQuery replacement for select boxes, by Kevin Brown.
- jQuery: una libreria JavaScript per applicazioni web, by John Resig
- Biblioteca grafica PHP GD
4. Realizzare un'applicazione GRID
Una base dati può essere collegata ad una o più applicazioni GRID.
Tipicamente il responsabile della base dati sviluppa una prima applicazione GRID dispositiva ad accesso riservato per popolare la base dati. Quest'applicazione serve poi per mantenere la base dati.
Se si desidera rendere pubblica la base dati - o parte di essa - il responsabile della base dati sviluppa successivamente una seconda applicazione GRID, questa volta informativa ad accesso libero, per consentire ai visitatori del sito web di accedere ai dati.
Concretamente la realizzazione di una nuova applicazione consiste essenzialmente a crearla e poi a configurarla con il tool per la Configurazione delle Applicazioni (CDA).
Il tool CDA ricava automaticamente molte informazioni dallo schema concettuale della base dati. Altre informazioni e preferenze devono essere fornite dal responsabile della base dati tramite il tool CDA. Si prega il lettore di rivolgersi al "Manuale utente del tool CDA" per maggiori informazioni e, in particolare, per consultare la lista delle opzioni.
La manutenzione dell'applicazione - o delle applicazioni - relative ad una base dati avviene con il tool CDA che consente di aggiornare facilmente le maschere SHOW e/o SEARCH e/o CRUD in funzione delle esigenze del responsabile della base dati.
Esempio: Modifica dello schema concettuale e aggiornamento dell'applicazione GRID
Dopo una modifica dello schema concettuale della base dati, ad esempio dopo l'aggiunto di un nuovo campo ad una tabella MySql, la maschera SHOW deve essere aggiornata per visualizzare il nuovo campo, la o le maschere SEARCH devono essere aggiornate se si vuole prendere in considerazione questo nuovo campo in fase di ricerca e la maschera CRUD deve essere aggiornata per poter inserire nuovi valori in questo campo oppure aggiornare i valori attuali.
L'ultimo passo consiste nel scegliere gli utenti autorizzati ad accedere all'applicazione GRID. Questo viene fatto dal Webmaster con l'aiuto del tool per la Gestione delle Identità e degli Accessi (GIA), tool responsabile della gestione dell'anagrafica degli utenti e dell'archivio dei diritti e privilegi.

5. Accedere alla base dati in lettura
5.1. Filtrare i dati
I visitatori del sito web - che ospita le applicazioni GRID - possono accedere alla base dati soltanto in lettura, tramite applicazioni informative.
Le operazioni più importanti sono l'interrogazione di una base dati tramite una o più maschere di ricerca (SEARCH) e la visualizzazione dei dati tramite la maschera SHOW.
Nei casi più semplice, una sola maschera di ricerca è stata configurata. Essa è composta da più campi HTML; essi sono utilizzati in AND sui campi della base dati.
Abitualmente la ricerca sulle stringhe si avvale della funzionalità traslitterazione per non tener conto delle lettere accentate.
Se una sola maschera non è adeguata alle necessità funzionali dell'applicazione, è possibile definire più di una maschera di ricerca. Nell'applicazione DVD, è stata definita una maschera di ricerca chiamata "semplice" perché è costituita da un solo campo. La stringa digitata dall'utente viene cercata in tutte i campi della base dati. Questa soluzione risulta comoda quando non si conosce bene la struttura della base dati.
L'immagine presenta anche un esempio di "help online". Cliccando sull'icona viene visualizzato un box informativo che contiene la lista dei campi nei quali l'applicazione DVD cerca la stringa di ricerca.
Esempio di ricerca con la stringa "leon"
Se l'utente digita la stringa "leon", vengono visualizzati sia il film "Léon" di Luc Besson, sia i film del regista Sergio Leone, sia i film con gli attori Carlos Leon e/o Leon Russom.
L'applicazione GRID permette anche al visitatore di "raffinare" una ricerca, ossia di renderla man mano più selettiva, con lo scopo di ridurre il numero di record selezionati e quindi da visualizzare.
5.2. Visualizzare i dati
La maschera di visualizzazione (SHOW) è composta da due sezioni:
- la sezione che presenta i dati selezionati
- la bottoniera e la barra di navigazione.
Abitualmente i dati selezionati vengono visualizzati per default con la modalità "griglia". Il visitatore può scegliere, durante la consultazione, l'altra modalità, ossia "lista", più adatta per i campi testuali. Questa modalità risulta utile anche quando la base dati ha campi con celle spesso vuote.
La bottoniera permette di eseguire operazioni quali eseguire una nuova ricerca, raffinare l'attuale ricerca, scegliere le colonne della maschera SHOW da visualizzare, richiedere operazioni sui dati quali statistiche sui campi qualitativi, export dei dati, ecc.
La barra di navigazione permette di spostarsi all'interno dei record selezionati.
L'interfaccia delle maschere SEARCH e SHOW è disponibile in italiano e in inglese.
6. Mantenere la base dati
Il responsabile della base dati aggiorna i dati periodicamente via web con operazioni di tipo CRUD.
Dopo una fase di "login", il responsabile della base dati accede alla maschera SHOW dispositiva dalla quale può inserire nuovi record, oppure aggiornare i valori dei record attuali oppure cancellare record esistenti.
A sinistra sono visibili le classiche icone dispositive, in particolare l'operazione Copy (di un record). La maschera permette inoltre di eseguire operazioni su più record selezionati: modificare il valore di uno o più campi di alcuni record, cancellare alcuni record, cancellare soltanto gli allegati (file e/o immagini) collegati ad alcuni record, copiare, spostare, ecc.
Un'applicazione GRID può svolgere anche operazioni "specifiche" per alcune applicazioni.
Esempio: Spostare un avviso su e giù
Per fare salire un avviso di una bacheca online - ossia farlo diventare più visibile spostandolo su -
oppure per farlo scendere, la maschera dispositiva dispone di un icona particolare
. L'interfaccia permette quindi di cambiare facilmente l'ordine degli avvisi.
Esempio: Periodo di validità di un avviso
Sempre nel caso di una bacheca online, gli avvisi possono essere scadenzati, ossia dispongono di una data "inizio pubblicazione" e di una data "fine pubblicazione" per la visualizzazione automatica degli avvisi in funzione della data odierna. Si possono così predisporre avvisi "in anticipo" rispetto a quando si desidera che vadano online; viceversa, automaticamente, avvisi con data di scadenza inferiore alla data odierna non saranno più visualizzati, ma rimangono nella bacheca per un possibile utilizzo successivo.
L'interfaccia della maschera CRUD è disponibile in italiano e in inglese.