Introduzione

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

Privacy Policy