Title: Motore di news per portali Web: progetto ed implementazione
1Motore di news per portali Web progetto ed
implementazione
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO
EMILIA Facoltà di Ingegneria Sede di
Modena Corso di Laurea in Ingegneria Informatica
Relatore Chiar.mo Prof. Sonia Bergamaschi
Tesi di Laurea di Roberto Delfini
Anno Accademico 2000-2001
2Parte della tesi è stata svolta durante 6 mesi di
permanenza di presso la QUIX s.r.l. di
Campogalliano
3Introduzione
- Il lavoro svolto affronta i problemi di
carattere progettuale ed implementativo che
sorgono nella realizzazione di unapplicazione
server-side che gestisce linserimento di notizie
in un database e le rende immediatamente
disponibili in rete. - Particolare attenzione è stata rivolta alla
portabilità del sistema, rendendolo applicabile
alla maggior parte dei siti Web.
Protocollo HTTP
Web Browser
Application Server
Motore di news
Database
Server
Internet
Clients
- Vantaggi
- Continuo aggiornamento del portale Web
- Riduzione dei costi di manutenzione
- Maggiore facilità di amministrazione del sistema
4Obiettivi della tesi
- Definizione dei requisiti
- Analisi delle problematiche di progetto
- Massimizzazione della portabilità
- Modellazione del software in UML
- Realizzazione di un prototipo funzionante
5Tipologie di utenti
- Lettore
- Creatore
- Pubblicatore
- SuperUser
6Funzioni principali
7Organizzazione dellapplicazioneIl pattern
strutturale MVC
Utenti
Applicazione
View
Controller
Model
DB
- Sviluppo di applicazioni distribuite
- Sviluppo di applicazioni di notevoli dimensioni
- Lungo ciclo di vita delle applicazioni
- Incremento della portabilità
- Miglioramento della manutenzione
- Sviluppo modulare del software
8Problemi di portabilità la tecnologia
Fino a pochi anni fa
Ricompilazione dei file sorgente problemi di
portabilità dellapplicazione
9Problemi di portabilità la tecnologia
Situazione JAVA
JAVA interpreter (Pentium)
Source code
JAVA Comp.
JAVA interpreter (PowerPC)
JAVA interpreter (AS400)
Bytecode
.
La tecnologia JAVA aumenta la portabilità
10Problemi di portabilità il database
La struttura MVC rende indipendente dalla base di
dati gran parte del motore di news
DB
View
Controller
Model
La parziale o totale riscrittura del Model
permetterebbe di interfacciare lapplicazione con
ogni database in commercio
È necessario limitare al minimo le modifiche del
codice, concentrando gli sforzi per individuare
gli elementi che limitano la portabilità
attraverso i diversi DBMS
11Problemi di portabilità il database
Molti DBMS mettono a disposizione tipi di dato
proprietari che limitano la portabilità
Counter Boolean Date
12Problemi di portabilità i JavaScript
È bene limitare al minimo lutilizzo dei
JavaScript per mantenere la compatibilità con i
Browser più datati
JavaScript è stato standardizzato dallECMA e
dallISO, dando rispettivamente origine agli
standard ECMA-262 e ISO-16262
13Personalizzazione La grafica
La presentazione dei contenuti avviene tramite la
tecnologia JSP in modo da scrivere codice JAVA
fra righe di codice HTML
- Separazione dei contenuti dalla loro
presentazione
- Modifica della veste grafica riscrivendo solo
lHTML
Possibilità di utilizzare i fogli di stile per
modificare elementi grafici come
- Colore, tipo e dimensione dei caratteri
- Limmagine e il colore di sfondo delle pagine
- Le icone associate alle diverse funzioni
14Modellazione del software in UML
Il sistema è stato modellato mediante 19
diagrammi che hanno facilitato la fase di
scrittura del codice
LUtilizzo dellUML ha permesso di individuare
gli aspetti più importanti del motore di news
- Tipologie di utenti e loro funzioni
- Classi principali
- Suddivisione in moduli
- Funzionalità caratteristiche di ogni modulo
- Flussi di dati e sequenze di operazioni
15Limplementazione
Ogni livello è stato ulteriormente suddiviso in
moduli che svolgono funzioni di uno stesso tipo
s
c
s
c
c
s
s Java Servletc Java Class
16Linterfaccia utente Menù principale
17Linterfaccia utente Lettura news
18Linterfaccia utente inserimento news
19Linterfaccia utente menù amministrazione
20Conclusioni
Durante la fase di implementazione sono state
prodotte
- 13 fra Classi, Servlets e interfacce JAVA
- 25 pagine JSP
Per un totale di oltre 3000 linee di codice non
commentato che diventano oltre 4500 linee di
codice commentato
Lapplicazione è stata realizzata utilizzando
come ambiente di sviluppo IBM VisualAge for Java,
come database Microsoft Access e come application
server WebSphere Test Environment.
In seguito è stata esportata con successo su
TOMCAT application server e IBM DB2, senza dover
effettuare nessuna correzione al codice