Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in...

22
Università degli Studi di Trieste Facoltà di Ingegneria Tesi di Laurea Triennale in Ingegneria Informatica Studio e Realizzazione di un SW per la gestione dei profili e delle versioni di applicazioni web in ambiente JEE Anno Accademico: 2009/2010 Laureando: Francesco FERONT Relatore: Prof. Maurizio FERMEGLIA

Transcript of Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in...

Page 1: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Università degli Studi di TriesteFacoltà di Ingegneria

Tesi di Laurea Triennale in Ingegneria Informatica

Studio e Realizzazione di un SW per la gestione dei profili e delle versioni di

applicazioni web in ambiente JEE

Anno Accademico: 2009/2010

Laureando:

Francesco FERONT

Relatore:

Prof. Maurizio FERMEGLIA

Page 2: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Profilo (I)

La personalizzazione (o Profilo) può riguardare la

configurazione di risorse statiche:

riferimenti a basi di dati, risorse JNDI, posizioni su file system

Page 3: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Profilo (II)

Il Profilo può anche riguardare la più complessa

integrazione di moduli applicativi:

metodologia di autenticazione, integrazione con applicazioni esterne differenti fonti di dati implementazioni aggiuntive

Page 4: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Definizione del Problema (I)

La personalizzazione degli applicativi, dovuta alla difformità della clientela, non è gestita con un sistema “standard”

Le personalizzazioni effettuate debbono essere mantenute nei passaggi di versione

Ad ogni rilascio dovrebbe corrispondere una tracciatura

Page 5: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Definizione del Problema (II)

Applicazioni fortemente personalizzabili richiedono spesso maggiore difficoltà durante l’installazione

La figura dell’addetto alla messa in produzione (“Deployer”) non si può slegare da quella dello sviluppatore

Page 6: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Perché è importante

La mancanza di una adeguata gestione dei profili

comporta:

Aumento di tempi e costi per le installazioni Disponibilità degli sviluppatori per le fasi di rilascio Maggiore presenza di bug Difficoltà nel realizzare nuovi sviluppi Impossibilità di effettuare statistiche

Page 7: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Soluzione

Una applicazione web che sia in grado di:

Gestire i riferimenti ai clienti e ai progetti Creare profili di compilazione dei progetti partendo

da template e/o da precedenti versioni Memorizzare i profili Stand-alone o mediante altre soluzioni esterne,

compilare i progetti per un dato profilo Permettere ricerche sulla base di clienti o progetti

Page 8: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Situazione antecedente

La situazione all’inizio dello sviluppo della tesi

Applicazioni Maven Repository SVN Ricerca di un sistema di Continuous Integration Rilasci su fTP

Page 9: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Maven (I)

La definizione di Maven è complessa:

Insieme di best practice Struttura di repository Tool per la gestione e la descrizione di progetti

Page 10: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Maven (II)

Le aree prese in considerazione da Maven

Processo di build Testing Gestione delle dipendenze SCM (Software Configuration Management) Rilasci e relativa configurazione (deployment) Documentazione e reportistica

Page 11: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Continuous Integration (I)

A chi si applica:

Progetti in evoluzione Team numerosi Casi di frequente integrazione Sistemi complessi Uso di test

Page 12: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Continuous Integration (II)

Ad intervalli predefiniti o su richiesta un CIS effettua

Checkout del progetto dal sistema di versionamento Compilazioni automatiche Esecuzione di test Notifica eventuali errori

Page 13: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Realizzazione

La applicazione web si occupa di

Prelevare, dal repository SVN del progetto, un template del profilo

Permettere da interfaccia web la creazione di un profilo sulla base del template e registrarlo nel db

Far eseguire la compilazione del progetto, con il profilo selezionato, ad un CIS

Page 14: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Interazione tra Sistemi e Attori

Page 15: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Architettura del Progetto

Page 16: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Diagrammi di Sequenza

Page 17: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee
Page 18: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Progettazione Base Dati

Il procedimento per la progettazione di una base di dati

segue i seguenti passi:

Stesura dei requisiti in linguaggio naturale Glossario ed identificazione delle entità Realizzazione del Modello ER Eliminazione delle generalizzazioni Identificazione delle chiavi primarie Traduzione di entità e associazioni in schemi di

relazioni

Page 19: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee
Page 20: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee
Page 21: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Conclusioni (I)

Il progetto realizzato ha rispettato l’obiettivo prefisso.

Creazione dei profili Tracciatura delle personalizzazioni Mantenimento dei Profili nel progredire delle

versioni dei progetti Indipendenza tra Sviluppatori e Deployer

Page 22: Studio e realizzazione di un sw per la gestione dei profili e delle versioni di applicazioni web in ambiente jee

Conclusioni (II)

Inoltre

Immediata integrazione in sistemi esistenti Possibilità di ulteriore sviluppo