|
L’enorme sviluppo di Internet, inarrestabile dalla
sua nascita e che prosegue ancora oggi a ritmi elevatissimi,
ha portato con se la definizione di una moltitudine di tecniche e linguaggi
adoperati per creare applicazioni web in grado di soddisfare la domanda
degli utenti della rete. In particolare, tra i siti Internet, giocano un
ruolo predominante quelli dinamici, ovvero collegati a basi di dati, con la
finalità non solo di pubblicare queste ultime ma anche di rendere possibile
la loro gestione in remoto. Si stima, infatti, che circa l’80% delle
applicazioni web mondiali sia centrata sui dati e ciò non è difficile da
comprendere data l’enorme potenzialità che proprio Internet, con la sua
facilità con cui unisce milioni di persone in tutto il mondo, ha apportato
ad esempio alla gestione commerciale delle aziende; si pensi soltanto al
commercio elettronico e di come l’essenza di quest’ultimo sia essenzialmente
relativo alla presentazione on-line di cataloghi di prodotti, con tutte le
loro caratteristiche fondamentali, ordinabili via web.
Progettare siti Internet collegati a basi di dati è un’attività che è stata
svolta, in questi anni, con gli strumenti tradizionali utilizzati dai
progettisti informatici per sviluppare altre applicazioni software, quali i
sistemi informativi e programmi in linguaggi object-oriented, che non sono
sorti naturalmente come strumenti per il web. Ci si è limitati, insomma, ad
adattare “vecchie” tecniche consolidate collegandole a semplici strumenti
come HTML, estendendo quest’ultimo opportunamente per rendere possibile la
generazione di pagine dinamiche.
Un
simile approccio, pur funzionante, ha provocato l’insorgere di alcuni
problemi insidiosi, tra i quali ne citiamo solo 2:
1) le
tecniche utilizzate per rendere “dinamico” un linguaggio come HTML, sorto in
realtà per la condivisione sul web di documenti “statici”, sono state molto
diverse tra loro ed hanno portato alla nascita di numerosi linguaggi, non
sempre facilmente accessibili agli utenti meno esperti.
2) Non
si è colta, in ultima analisi, l’essenza del problema, ovvero quella di
sviluppare applicazioni (centrate sui dati) ideate per il web, con tutte le
sue specificità.
L’idea
innovativa che sta alla base della progettazione concettuale di siti
“data intensive” è stata quella di fondare una vera e propria
metodologia in grado di rendere sistematica tale attività, senza tuttavia
snaturarne la sua missione, ma anzi concependola come un preciso ambito
dello sviluppo software.
Nel far
questo ci si è inspirati ad altre tecniche ed, in particolare, alla
progettazione concettuale di database attraverso il modello E-R
(entità-relazione) e ai moderni risultati dell’ingegneria del software come
il linguaggio UML, strumento divenuto lo standard con cui si scrive
la documentazione di qualsiasi applicativo.
L’obiettivo è stato, cioè, creare uno strumento di alto livello, che
operando in termini concettuali, divenisse il punto di partenza nello
sviluppo di un’applicazione web “data intensive”.
E’ così
sorto, grazie al contributo della ricerca italiana,
WebML (Web
Modelling Language), semplice linguaggio di natura grafica, in grado,
con i suoi costrutti, di arrivare ad uno schema concettuale di ipertesto,
intuitivo e apprezzabile anche dagli utenti non esperti. Questi ultimi,
affrancati dal peso di dover apprendere tanti linguaggi e di doverli poi
utilizzare scrivendo molte righe di codice, possono, con la sola conoscenza
dei costrutti visuali di WebML , oltre a quella, anch’essa grafica e
concettuale, del modello E-R della base dati, giungere ad un modello grafico
dell’applicazione web; è poi uno strumento CASE pensato per WebML, cioè
WebRatio 4.0, a generare automaticamente il codice (in formato
JSP) che può essere caricato su un web server.
Con
questa tesi si vuole per l’appunto approfondire il processo di sviluppo di
un’applicazione web centrata sui dati mediante l’utilizzo di WebML.
In
particolare, nel Capitolo 1 si farà una panoramica sulle tecnologie
attualmente usate per progettare e implementare ipertesti, sia statici che
dinamici. Nel Capitolo 2 si descrive il linguaggio WebML, con i suoi
principali costrutti per arrivare alla modellazione concettuale di
ipertesto. Nel terzo capitolo c’è, invece, un confronto tra WebML e UML; ciò
è utile perché, come detto, l’idea che ha portato alla realizzazione di
WebML è stata quella di creare, per le applicazioni web, una metodologia
analoga a quella che, attraverso UML, guida gli esperti nello sviluppo
software.
Nei
capitoli 4 e 5 si affrontano poi gli aspetti della vera e propria
progettazione; quella del database, attraverso il modello E-R, e quella
dell’ipertesto operante su tale base di dati, attraverso WebML. Saranno
fatti, inoltre, cenni sulla progettazione dell’architettura di rete.
Infine, nel Capitolo 6,
si riporta lo sviluppo di un’applicazione originale, sviluppata con WebRatio
4.0, che, come detto, è lo strumento CASE che supporta il processo di
progettazione WebML; tale applicazione, denominata “formazione web” è
pensata per la gestione web di una Società di Formazione.
Approfondimento tesi |
|