1. di 15 Sviluppo di un sistema multipiattaforma per l’installazione e la condivisione di codice per il portale di monitoraggio della rete WiFi di Ateneo Tesi sperimentale di laurea triennale di Vincenzo Masullo Matr. 566/2795 Relatori: Prof. Guido Russo Dr.Ing. Catello di Martino a.a. 2009/2010
2. OBIETTIVO Candidato: Vincenzo Masullo, 566/2795 Progettazione e sviluppo di un sistema multipiattaforma per l’installazione, la condivisione di codice e raccolta dei feedback degli utenti e sviluppatori per portale di monitoraggio della rete WiFi di Ateneo commit commit checkout di 15 windows debian redhat Repository
Buon giorno, sono Vincenzo Masullo. Il lavoro di tesi svolto ha avuto come obiettivo la realizzazione di un Sistema Multipiattaforma per l’installazione, la condivisione di codice e la raccolta dei feed-back degli utenti per il portale di Monitoraggio della rete WiFi di Ateneo
In particolare è stato progettato e sviluppato un Sistema Multipiattaforma in Java ( per sistemi Debian , Redhat e Windows ) per l’installazione della piattaforma LAMP ( Linux-Apache-Mysql-Php ) e la configurazione del Tool di Monitoraggio di rete scelto ( Cacti ) Inoltre, l’applicazione realizzata, è supportata da alcuni Servizi come la Condivisione del Codice Sorgente, Servizio di Mailing-list per la raccolta dei feed-back degli utenti e un Sistema di tracciamento degli errori di programmazione
Questo lavoro di Tesi si colloca nel contesto del progetto WiFiSUD che ha previsto il finanziamento delle Università del Sud Italia per progetti inerenti le reti WiFi. Sempre in quest’ambito è stato realizzato da altri tesisti un portale dedicato al Monitoraggio della Rete WiFi Unina. Il lavoro, oggetto di questa Tesi, ha l’obiettivo di creare un’installer per il Portale e ampliare le funzionalità di quest’ultimo.
Il lavoro prodotto può essere suddiviso logicamente in due parti : Configurazione di servizi per la condivisione di codice del portale di monitoraggio della rete WiFi Unina, creazione e gestione del servizio di Mailing-list per la raccolta dei feed-back degli utenti e implementazione di un sistema per il tracciamento degli errori di programmazione ( bugtracker ) Realizzazione di un sistema multipiattaforma per l’installazione della Piattaforma LAMP ( Linux – Apache – Mysql – Php ) e configurazione del tool di monitoraggio di rete ( Cacti )
Il lavoro sviluppato è stato preceduto dal Porting del Portale di monitoraggio su macchine virtuali. In origine i servizi erano distribuiti su 3 macchine nel modo seguente : Wifed02 – Configurazione e monitoraggio dei Dispositivi wifi sulla quale risiedono il web server apache2, il DB mysql , il tool di monitoraggio di rete Cacti. Poiché il portale fornisce anche le statistiche della rete wifi, su tale macchina è presente il DataServer Wifed03 – Configurazione e monitoraggio dei Dispositivi wired sulla quale risiedono il web server apache2, il DB mysql, il tool di monitoraggio di rete Cacti , il CMS Joomla, Tomcat6 e il DataClient per le Statistiche Wifed.scope.unina.it – macchina Server che effettua il redirect alla wifed03 Per effettuare il Porting del portale su macchine virtuali è stato utilizzato il tool di virtualizzazione di sistemi operativi ( VMware Workstation 7 ) Il sistema operativo scelto per le macchine virtuali è “Ubuntu Server 10.10” Dopo la creazione delle macchine virtuali è stata replicata la configurazione che era presente sulle macchine “originali” installando e configurando tutti i Servizi per effettuare il monitoraggio dei dispositivi di rete Nello schema è possibile osservare le macchine utilizzate per effettuare il Porting ( azzurro ) e quella per i Servizi ( in giallo ) che saranno discussi nelle slides successive
Architetura generale dell’applicazione realizzata La maggior parte delle classi implementate sono JFrame, dunque utilizzano i metodi del Framework JavaSwing e usufruiscono di tutti i componenti di quest’ultimo, come ad esempio i JButton e i JText. L’applicazione per essere eseguita necessita della JDK a RunTime vengono lanciati gli script bash contenenti i comandi di installazione e configurazione dei pacchetti. Infine grazie al supporto del visualizzatore di Documenti Evince viene garantita l’apertura della miniguida .pdf ( per i sistemi Unix-Linux ) per i sistemi Windows è previsto il supporto di Acrobat Reader
Passiamo ad analizzare le caratteristiche dell’applicazione realizzata : Il software è stato realizzato usando principalmente il Framework Java Swing per la creazione e gestione dell’interfaccia grafica Per l’esecuzione è necessaria la JDK ( questo rende l’applicazione altamente performante e portabile ) La struttura generale è molto semplice : si passa da un frame all’altro per effettuare l’installazione e la configurazione di ogni singolo pacchetto. Nell’home page dell’applicazione si carica il Logo dell’Ateneo, mentre nella schermata successiva si seleziona il SO in uso, dopodichè si effettua l’installazione dei pacchetti. L’installazione e la configurazione viene lanciata da script bash, il tutto è supportato da una mini-guida ( .pdf ) creata ad hoc Installati e configurati i servizi è possibile accedere alla pagina per l’iscrizione alle Mailing-List ( sviluppatori.wifed , utenti-generici.wifed ) *DEMO per ogni click viene caricato un Frame dell’applicazione
La Versione Redhat presenta le medesime caratteristiche della Versione Debian, la differenza sostanziale sta negli script in particolare nei comandi di installazione e configurazione presenti in essi Distribuzioni differenti – comandi differenti per l’installazione e configurazione dei pacchetti
Per la versione Windows è stato utilizzato il software open source AppServ. Quest’ultimo permette di installare su qualsiasi piattaforma Windows il web Server Apache, il DB Mysql e Php
A questo punto andiamo a descrivere i Servizi implementati : Il software utilizzato per la Creazione e Gestione delle Mailing-list è Mailman GNU Permette di gestire una o più liste, il tutto semplicemente tramite interfaccia web. In particolare sono state realizzate 2 liste : sviluppatori.wifed riservata ai programmatori e sviluppatori utenti-generici.wifed riservata agli utenti generici Grazie a questo sistema è possibile raccogliere i feed-back di utenti e sviluppatori e aggiornare continuamente il software
Per la condivisione del codice sorgente è stato utilizzato Subversion SVN ( successore di CVS ) Implementa il controllo versione ed è caratterizzato da un architettura Client/Server I comandi principali sono : commit – permette di aggiornare la copia del progetto presente nel Repository checkout – permette di aggiornare la working copy sul client
Bugzilla ( tracciamento degli errori di programmazione ) Grazie al sistema di tracciamento degli errori di programmazione, sviluppatori e programmatori possono individuare bug e contribuire al miglioramento del codice realizzato I progetti di successo sono il frutto di un’organizzazione di sviluppo e di comunicazione Aumenta la produttività, la soddisfazione dei clienti e migliora la comunicazione tra gli sviluppatori
L’Applicazione realizzata è disponibile nella sezione download del portale del monitoraggio della rete WiFi Unina http://wifed.scope.unina.it È possibile accedere singolarmente al download del codice sorgente dell’applicazione realizzata , dell’eseguibile o della miniguida Inoltre è possibile accedere alla pagina di iscrizione alle Mailing-list ( sviluppatori.wifed - utenti-generici.wifed )
Lavoro sviluppato : Installer multipiattaforma per il portale di monitoraggio della rete WiFi di Ateneo Implementazione di Servizi ( condivisione del codice sorgente , mailing-list e tracciamento errori di programmazione ) L’applicazione realizzata è un sorgente aperto, dunque in continua evoluzione grazie ai servizi implementati Per sostenere lo sviluppo futuro dell’applicazione inoltre sono stati realizzati : Diagrammi UML – Documentazione JavaDoc – Documentazione interna
Grazie per l’attenzione. Sarò lieto di rispondere alle Vostre domande.