UNIVERSITÀ DEGLI STUDI DI MODENA E
REGGIO EMILIA
DIPARTIMENTO DI SCIENZE DELL’INGEGNERIA
Un Sito Web universitario:
realizzazione tramite
Java di servizi avanzati
Tesi a cura di Rognoni Riccardo
Anno accademico 1999/2000
Relatore Leonardi Letizia
Indice
Introduzione ....................................................................................................................................... 1
Capitolo 1 - Progettazione del Sito ..................................................... Error! Bookmark not defined.
Capitolo 2 - Il database del Sito .......................................................... Error! Bookmark not defined.
2.1 Analisi dei requisiti e Progettazione Concettuale ..................................................... Error! Bookmark not defined.
2.2 Analisi Logica .......................................................................................................... Error! Bookmark not defined.
2.3 Implementazione su Oracle ...................................................................................... Error! Bookmark not defined.
2.4 Aspetto delle Tabelle ed esempi di dati .................................................................... Error! Bookmark not defined.
Capitolo 3 - Realizzazione e Gestione del Sito Web .......................... Error! Bookmark not defined.
3.1 Gli strumenti Software ............................................................................................. Error! Bookmark not defined.
3.2 Struttura del Sito Web .............................................................................................. Error! Bookmark not defined.
3.3 Manutenzione ed aggiornamento ............................................................................. Error! Bookmark not defined.
Capitolo 4 - I programmi Java............................................................ Error! Bookmark not defined.
4.1 HTML e JavaScript .................................................................................................. Error! Bookmark not defined.
4.2 Applet Java ............................................................................................................... Error! Bookmark not defined.
4.2.1 Applet Orari.java .............................................................................................. Error! Bookmark not defined.
4.2.2 Applet Aule.java ............................................................................................... Error! Bookmark not defined.
4.2.3 Applet AuleOccup.java ..................................................................................... Error! Bookmark not defined.
4.2.4 Applet OrariProvv.java ..................................................................................... Error! Bookmark not defined.
4.2.5 Applet AuleSearch.java .................................................................................... Error! Bookmark not defined.
4.2.6 Applet PrenotazioneEdit.java............................................................................ Error! Bookmark not defined.
4.2.7 Applet OrariEdit.java ........................................................................................ Error! Bookmark not defined.
4.2.8 Applet AuleOccupAddEdit.java ....................................................................... Error! Bookmark not defined.
4.2.9 Applet RicevimentiEdit.java ............................................................................. Error! Bookmark not defined.
4.3 Servlet Java .............................................................................................................. Error! Bookmark not defined.
4.3.1 Servlet AuleAnswerServlet.java ....................................................................... Error! Bookmark not defined.
4.3.2 Servlet AuleOccupAddEditServlet.java ............................................................ Error! Bookmark not defined.
4.3.3 Serlvet AuleOccupAddEraseServlet.java ......................................................... Error! Bookmark not defined.
4.3.4 Serlvet AuleOccupAddListServlet.java ............................................................ Error! Bookmark not defined.
4.3.5 Servlet AuleOccupAddWriteServlet.java ......................................................... Error! Bookmark not defined.
4.3.6 Servlet AuleOccupServlet.java ......................................................................... Error! Bookmark not defined.
4.3.7 Servlet AuleSearchAnswerServlet.java ............................................................ Error! Bookmark not defined.
4.3.8 Servlet AuleSearchServlet.java ......................................................................... Error! Bookmark not defined.
4.3.9 Servlet AuleServlet.java ................................................................................... Error! Bookmark not defined.
4.3.10 Servlet MaterieAnswerServlet.java................................................................. Error! Bookmark not defined.
4.3.11 Servlet MaterieServlet.java ............................................................................. Error! Bookmark not defined.
4.3.12 Servlet OrariEditListServlet.java .................................................................... Error! Bookmark not defined.
4.3.13 Servlet OrariEditServlet.java .......................................................................... Error! Bookmark not defined.
4.3.14 Servlet OrariEraseListServlet.java .................................................................. Error! Bookmark not defined.
4.3.15 Servlet OrariEraseServlet.java ........................................................................ Error! Bookmark not defined.
4.3.16 Servlet OrariListServlet.java ........................................................................... Error! Bookmark not defined.
4.3.17 Servlet OrariProvvListServlet.java ................................................................. Error! Bookmark not defined.
4.3.18 Servlet OrariProvvServlet.java ....................................................................... Error! Bookmark not defined.
4.3.19 Servlet OrariServlet.java ................................................................................. Error! Bookmark not defined.
4.3.20 Servlet OrariWriteServlet.java ........................................................................ Error! Bookmark not defined.
4.3.21 Servlet PrenotazioneEraseListServlet.java ..................................................... Error! Bookmark not defined.
4.3.22 Servlet PrenotazioneEraseServlet.java ............................................................ Error! Bookmark not defined.
4.3.23 Servlet PrenotazioneListServlet.java .............................................................. Error! Bookmark not defined.
4.3.24 Servlet PrenotazioneServlet.java..................................................................... Error! Bookmark not defined.
4.3.25 Servlet PrenotazioneWriteServlet.java ........................................................... Error! Bookmark not defined.
4.3.26 Servlet PropedeutAnswerServlet.java ............................................................. Error! Bookmark not defined.
4.3.27 Servlet PropedeutServlet.java ......................................................................... Error! Bookmark not defined.
4.3.28 Servlet ProvvToDefServlet.java ..................................................................... Error! Bookmark not defined.
4.3.29 Servlet RicevimentiAnswerServlet.java ......................................................... Error! Bookmark not defined.
4.3.30 Servlet RicevimentiEditServlet.java ............................................................... Error! Bookmark not defined.
4.3.31 Servlet RicevimentiListServlet.java ................................................................ Error! Bookmark not defined.
4.3.32 Servlet RicevimentiServlet.java ...................................................................... Error! Bookmark not defined.
4.3.33 Servlet RicevimentiWriteServlet.java ............................................................. Error! Bookmark not defined.
4.3.34 Servlet SovrappCreateServlet.java .................................................................. Error! Bookmark not defined.
4.3.35 Servlet SovrappWriteServlet.java ................................................................... Error! Bookmark not defined.
4.3.36 Servlet UnusedRemoveServlet.java ................................................................ Error! Bookmark not defined.
4.3.37 Servlet UnusedSearchServlet.java .................................................................. Error! Bookmark not defined.
4.3.38 Servlet UpdateAnnoAccServlet.java............................................................... Error! Bookmark not defined.
4.3.39 Servlet UpdateDateCicliServlet.java............................................................... Error! Bookmark not defined.
4.3.40 Servlet ConflictSearchServlet.java ................................................................. Error! Bookmark not defined.
4.4 Comunicazione fra Servlet ....................................................................................... Error! Bookmark not defined.
Capitolo 5 - Sviluppi Futuri ................................................................ Error! Bookmark not defined.
5.1 Date degli appelli...................................................................................................... Error! Bookmark not defined.
5.2 Iscrizione alle liste d’esame...................................................................................... Error! Bookmark not defined.
5.3 Bacheca per annunci e messaggi .............................................................................. Error! Bookmark not defined.
Conclusioni ........................................................................................... Error! Bookmark not defined.
Appendice A - Installazioni e configurazioni del Software .............. Error! Bookmark not defined.
A.1 Software preesistente ............................................................................................... Error! Bookmark not defined.
A.2 Installazione e Configurazione dell’Apache Web Server e dell’Apache JServ ....... Error! Bookmark not defined.
Appendice B - Come si scrive una Servlet ......................................... Error! Bookmark not defined.
B.1 Strumenti per la programmazione del linguaggio Java ............................................ Error! Bookmark not defined.
B.2 Costruzione di una Servlet ....................................................................................... Error! Bookmark not defined.
Appendice C - Esempi di codice.......................................................... Error! Bookmark not defined.
C.1 Codice dell’Applet Orari.java .................................................................................. Error! Bookmark not defined.
C.2 Codice della Servlet OrariServlet.java ..................................................................... Error! Bookmark not defined.
Bibliografia ........................................................................................... Error! Bookmark not defined.
1
Introduzione
Nella presente tesi verranno illustrati i passi per la realizzazione di un sito web universitario
facendo ricorso a strumenti software che ci consentiranno di produrre funzionalità avanzate. Scopo
della tesi è infatti non solo quello di mettere a disposizione dell’utente le più varie informazioni
sulla “vita” universitaria ma anche quello di fornire un valido strumento gestionale ed organizzativo
per il corpo docente e amministrativo.
Il problema che ci si propone di risolvere è direttamente legato alla necessità da una parte di
rafforzare la capacità comunicativa dell’amministrazione universitaria verso gli studenti e dall’altra
di agevolare l’amministrazione nella gestione, e quindi nell’aggiornamento, di un quantitativo
sempre maggiore di informazioni che si vogliono presentare al pubblico (docente e studentesco).
È ormai un dato certo che il supporto di sistemi informativi costituisca un prerequisito alla
direzione di quello che è un “mondo” vasto come quello universitario e allo stesso tempo avere a
disposizione nuovi strumenti informatici apre anche la strada a nuove forme di comunicazione:
l’informatizzazione degli orari delle lezioni, dell’orario di ricevimento o dei programmi dei corsi ci
offre la possibilità di avere dei dati pronti per essere pubblicati tramite applicazioni software. Ci
sarà quindi possibile fornire tramite supporto informatico e “in linea” tutto ciò che finora era stato
affidato al solo supporto cartaceo andando così non solo ad arricchire le fonti di informazione
universitarie già presenti ma anche a potenziarle notevolmente rendendo le informazioni accessibili
da qualunque terminale o personal computer connesso alla rete Internet. Non sarà più necessario
recarsi alla segreteria centrale per reperire il programma di un corso e nemmeno preoccuparsi di
raggiungere un certo dipartimento universitario per sapere l’orario delle lezioni all’inizio del nuovo
anno: sarà tutto disponibile su web.
Ci si può rendere conto immediatamente di quali vantaggi possa portare la realizzazione di
strumenti informatici di questo genere e va ricordato che quelli realizzati in questa tesi costituiscono
semplicemente un punto di partenza da cui, senza fermarsi credendo di aver esaurito le possibilità,
si potrà pensare di aggiungere in seguito numerose altre informazioni e funzionalità.
Strumenti informatici e utilizzo delle tecnologie di Internet costituiscono quindi le basi cui
affidare lo sviluppo delle attività universitarie e quello che verrà appunto illustrato è come questo
sia realizzabile. In questa tesi verranno proposti gli strumenti e le metodologie per procedere ad una
prima implementazione delle funzioni principali; ci si propone di presentare i software ritenuti più
adatti e il lavoro necessario per produrne il risultato desiderato.
2
Affronteremo quindi una modellazione dello scenario universitario adottandone 3 diverse
prospettive. Dapprima definiremo un’area pubblica accessibile ad ogni persona (in particolare ad
ogni studente) nella quale metteremo a disposizione varie informazioni sugli orari delle lezioni e di
ricevimento dei docenti, oltre a tutte quelle sulle materie e sulle aule. Dedicheremo poi un’area ai
soli professori riservando loro la possibilità di consultare un orario provvisorio e di effettuare
ricerche di aule per poi effettuarne la prenotazione; infine ci sarà un’ulteriore area riservata
all’amministrazione, intendendo con questo termine la segreteria universitaria o chiunque abbia
come compito quello di preparare o pubblicare gli orari (di lezioni e ricevimento) e anche tutte le
informazioni che fino ad ora sono sempre state messe a disposizione del pubblico attraverso le
ristampe annuali del Notiziario di ognuna delle facoltà.
Passando all’organizzazione della tesi, essa è strutturata in 5 capitoli seguiti da una serie di
appendici. La A contiene una guida all’installazione e configurazione di taluni dei programmi
utilizzati ed è seguita, in appendice B, da una presentazione del linguaggio Java che costituirà il
principale strumento software per lo sviluppo delle applicazioni. Per approfondirne poi la
conoscenza a chi fosse interessato alla programmazione di ulteriori funzionalità, sempre in
appendice B, è disponibile un tutorial per la scrittura di Servlet Java e codice esemplificativo
nell’appendice C.
Il primo capitolo costituisce una semplice introduzione al progetto del sito e si pone quindi come
una prima analisi degli obiettivi della tesi.
Il secondo capitolo è dedicato alla costruzione del database che costituisce il “contenitore” delle
informazioni di base del sito e riporta pertanto le fasi che vanno dalla sua progettazione (concettuale
e logica) fino alla sua realizzazione. In esso pertanto verranno mostrati i passi per la costruzione
dello schema E/R e le istruzioni SQL per la sua creazione. Non da meno verrà riportato qualche
esempio per l’inserimento dei dati nelle varie tabelle create.
Il terzo capitolo riguarda gli strumenti necessari alla realizzazione del sito web. Fatto riferimento
all’appendice per le operazioni di installazione e configurazione del Web Server e degli altri
software necessari, il capitolo tratta la descrizione del sito web realizzato. Si occupa pertanto di
mostrarne la struttura, i file che lo compongono e a lato pratico, come si ottiene la ripartizione nelle
3 aree di cui si è parlato in precedenza. Da ultimo si propone di fornire la conoscenza necessaria al
mantenimento del sito in tutte le sue parti mostrando quali operazioni di aggiornamento sono
effettuabili tramite gli applicativi realizzati e quali necessitano ancora, al momento, un intervento
diretto sulla base di dati.
3
Il quarto capitolo è dedicato alle applicazioni Java, lato client (Applet) e lato server (Servlet),
realizzate per eseguire le varie funzioni implementate. Si presenta quindi come una “guida per
l’uso” degli Applet, presentandone tutte le caratteristiche e l’utilizzo, e come semplice descrizione
del funzionamento delle Servlet, alle quali sarà anche dedicato un approfondimento in merito alle
modalità in cui avviene fra di esse lo scambio dei dati. Oltre a Java sarà dedicato un paragrafo agli
altri due linguaggi utilizzati nella realizzazione delle pagine del sito: HTML e JavaScript. Due
indispensabili strumenti per la presentazione dei dati (il primo) e per permettere una maggiore
ricchezza di funzioni ed interattività delle pagine HTML con l’utente (il secondo).
Il quinto ed ultimo capitolo ha scopo propositivo e riguarda quelli che più ragionevolmente
potranno essere gli sviluppi futuri del lavoro realizzato in questa tesi.