Università degli Studi di Trieste Facoltà di Ingegneria Tesi di Laurea Triennale in Ingegneria Informatica Studio e Realiz...
Profilo (I) <ul><li>La personalizzazione (o  Profilo ) può riguardare la  </li></ul><ul><li>configurazione di risorse stat...
Profilo (II) <ul><li>Il Profilo può anche riguardare la più complessa  </li></ul><ul><li>integrazione di moduli applicativ...
Definizione del Problema (I) <ul><li>La personalizzazione degli applicativi, dovuta alla difformità della clientela, non è...
Definizione del Problema (II) <ul><li>Applicazioni fortemente personalizzabili richiedono spesso maggiore difficoltà duran...
Perché è importante <ul><li>La mancanza di una adeguata gestione dei profili  </li></ul><ul><li>comporta: </li></ul><ul><l...
Soluzione <ul><li>Una applicazione web che sia in grado di:  </li></ul><ul><li>Gestire i riferimenti ai clienti e ai proge...
Situazione antecedente <ul><li>La situazione all’inizio dello sviluppo della tesi </li></ul><ul><li>Applicazioni Maven </l...
Maven (I) <ul><li>La definizione di Maven è complessa: </li></ul><ul><li>Insieme di best practice </li></ul><ul><li>Strutt...
Maven (II) <ul><li>Le aree prese in considerazione da Maven </li></ul><ul><li>Processo di build </li></ul><ul><li>Testing ...
Continuous Integration (I) <ul><li>A chi si applica: </li></ul><ul><li>Progetti in evoluzione </li></ul><ul><li>Team numer...
Continuous Integration (II) <ul><li>Ad intervalli predefiniti o su richiesta un  CIS  effettua </li></ul><ul><li>Checkout ...
Realizzazione <ul><li>La applicazione web si occupa di </li></ul><ul><li>Prelevare, dal repository SVN del progetto, un te...
Interazione tra Sistemi e Attori
Architettura del Progetto
Diagrammi di Sequenza
 
Progettazione Base Dati <ul><li>Il procedimento per la progettazione di una base di dati  </li></ul><ul><li>segue i seguen...
 
 
Conclusioni (I) <ul><li>Il progetto realizzato ha rispettato l’obiettivo prefisso. </li></ul><ul><li>Creazione dei profili...
Conclusioni (II) <ul><li>Inoltre </li></ul><ul><li>Immediata integrazione in sistemi esistenti </li></ul><ul><li>Possibili...
Upcoming SlideShare
Loading in …5
×

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

675 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
675
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. 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
  2. 2. Profilo (I) <ul><li>La personalizzazione (o Profilo ) può riguardare la </li></ul><ul><li>configurazione di risorse statiche: </li></ul><ul><li>riferimenti a basi di dati, </li></ul><ul><li>risorse JNDI, </li></ul><ul><li>posizioni su file system </li></ul>
  3. 3. Profilo (II) <ul><li>Il Profilo può anche riguardare la più complessa </li></ul><ul><li>integrazione di moduli applicativi: </li></ul><ul><li>metodologia di autenticazione, </li></ul><ul><li>integrazione con applicazioni esterne </li></ul><ul><li>differenti fonti di dati </li></ul><ul><li>implementazioni aggiuntive </li></ul>
  4. 4. Definizione del Problema (I) <ul><li>La personalizzazione degli applicativi, dovuta alla difformità della clientela, non è gestita con un sistema “standard” </li></ul><ul><li>Le personalizzazioni effettuate debbono essere mantenute nei passaggi di versione </li></ul><ul><li>Ad ogni rilascio dovrebbe corrispondere una tracciatura </li></ul>
  5. 5. Definizione del Problema (II) <ul><li>Applicazioni fortemente personalizzabili richiedono spesso maggiore difficoltà durante l’installazione </li></ul><ul><li>La figura dell’addetto alla messa in produzione (“Deployer”) non si può slegare da quella dello sviluppatore </li></ul>
  6. 6. Perché è importante <ul><li>La mancanza di una adeguata gestione dei profili </li></ul><ul><li>comporta: </li></ul><ul><li>Aumento di tempi e costi per le installazioni </li></ul><ul><li>Disponibilità degli sviluppatori per le fasi di rilascio </li></ul><ul><li>Maggiore presenza di bug </li></ul><ul><li>Difficoltà nel realizzare nuovi sviluppi </li></ul><ul><li>Impossibilità di effettuare statistiche </li></ul>
  7. 7. Soluzione <ul><li>Una applicazione web che sia in grado di: </li></ul><ul><li>Gestire i riferimenti ai clienti e ai progetti </li></ul><ul><li>Creare profili di compilazione dei progetti partendo da template e/o da precedenti versioni </li></ul><ul><li>Memorizzare i profili </li></ul><ul><li>Stand-alone o mediante altre soluzioni esterne, compilare i progetti per un dato profilo </li></ul><ul><li>Permettere ricerche sulla base di clienti o progetti </li></ul>
  8. 8. Situazione antecedente <ul><li>La situazione all’inizio dello sviluppo della tesi </li></ul><ul><li>Applicazioni Maven </li></ul><ul><li>Repository SVN </li></ul><ul><li>Ricerca di un sistema di Continuous Integration </li></ul><ul><li>Rilasci su fTP </li></ul>
  9. 9. Maven (I) <ul><li>La definizione di Maven è complessa: </li></ul><ul><li>Insieme di best practice </li></ul><ul><li>Struttura di repository </li></ul><ul><li>Tool per la gestione e la descrizione di progetti </li></ul>
  10. 10. Maven (II) <ul><li>Le aree prese in considerazione da Maven </li></ul><ul><li>Processo di build </li></ul><ul><li>Testing </li></ul><ul><li>Gestione delle dipendenze </li></ul><ul><li>SCM (Software Configuration Management) </li></ul><ul><li>Rilasci e relativa configurazione (deployment) </li></ul><ul><li>Documentazione e reportistica </li></ul>
  11. 11. Continuous Integration (I) <ul><li>A chi si applica: </li></ul><ul><li>Progetti in evoluzione </li></ul><ul><li>Team numerosi </li></ul><ul><li>Casi di frequente integrazione </li></ul><ul><li>Sistemi complessi </li></ul><ul><li>Uso di test </li></ul>
  12. 12. Continuous Integration (II) <ul><li>Ad intervalli predefiniti o su richiesta un CIS effettua </li></ul><ul><li>Checkout del progetto dal sistema di versionamento </li></ul><ul><li>Compilazioni automatiche </li></ul><ul><li>Esecuzione di test </li></ul><ul><li>Notifica eventuali errori </li></ul>
  13. 13. Realizzazione <ul><li>La applicazione web si occupa di </li></ul><ul><li>Prelevare, dal repository SVN del progetto, un template del profilo </li></ul><ul><li>Permettere da interfaccia web la creazione di un profilo sulla base del template e registrarlo nel db </li></ul><ul><li>Far eseguire la compilazione del progetto, con il profilo selezionato, ad un CIS </li></ul>
  14. 14. Interazione tra Sistemi e Attori
  15. 15. Architettura del Progetto
  16. 16. Diagrammi di Sequenza
  17. 18. Progettazione Base Dati <ul><li>Il procedimento per la progettazione di una base di dati </li></ul><ul><li>segue i seguenti passi: </li></ul><ul><li>Stesura dei requisiti in linguaggio naturale </li></ul><ul><li>Glossario ed identificazione delle entità </li></ul><ul><li>Realizzazione del Modello ER </li></ul><ul><li>Eliminazione delle generalizzazioni </li></ul><ul><li>Identificazione delle chiavi primarie </li></ul><ul><li>Traduzione di entità e associazioni in schemi di relazioni </li></ul>
  18. 21. Conclusioni (I) <ul><li>Il progetto realizzato ha rispettato l’obiettivo prefisso. </li></ul><ul><li>Creazione dei profili </li></ul><ul><li>Tracciatura delle personalizzazioni </li></ul><ul><li>Mantenimento dei Profili nel progredire delle versioni dei progetti </li></ul><ul><li>Indipendenza tra Sviluppatori e Deployer </li></ul>
  19. 22. Conclusioni (II) <ul><li>Inoltre </li></ul><ul><li>Immediata integrazione in sistemi esistenti </li></ul><ul><li>Possibilità di ulteriore sviluppo </li></ul>

×