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.