S CUOLA DI  S CIENZE E  T ECNOLOGIE Corso di laurea in Informatica e Management   (Classe 26) Review-It: un social network...
S CUOLA DI  S CIENZE E  T ECNOLOGIE Corso di laurea in Informatica e Management   (Classe 26) SOMMARIO: <ul><li>Obiettivi
Presentazione tecnologie
Dimostrazione Review-It
Struttura interna Review-It
Conclusioni </li></ul>
S CUOLA DI  S CIENZE E  T ECNOLOGIE Corso di laurea in Informatica e Management   (Classe 26) Individuare tecnologie e met...
S CUOLA DI  S CIENZE E  T ECNOLOGIE Corso di laurea in Informatica e Management   (Classe 26) RIA difficoltà di sviluppo: ...
- Mancanza di tipi
- Conflitti tra librerie di script  </li><ul><li>- scelta   framework (Troppi) </li></ul><li>Debug difficile
- window.alert() </li><ul><ul><li>- Firebug </li></ul></ul><li>Browser quirks
-   riscrittura del codice
Utilizzo di più linguaggi in contemporanea
- Manutenzione software critica
Mancanza di IDE di sviluppo specifici </li></ul>Con il termine  RIA (Rich Internet Application)  vengono indicate applicaz...
S CUOLA DI  S CIENZE E  T ECNOLOGIE Corso di laurea in Informatica e Management   (Classe 26) <ul><li>Come raggiungere gli...
S CUOLA DI  S CIENZE E  T ECNOLOGIE Corso di laurea in Informatica e Management   (Classe 26) Enterprise Edition
S CUOLA DI  S CIENZE E  T ECNOLOGIE Corso di laurea in Informatica e Management   (Classe 26) Google Web Toolkit è un tool...
Integrazione con framework di test Junit </li></ul>PRESENTATION TIER
S CUOLA DI  S CIENZE E  T ECNOLOGIE Corso di laurea in Informatica e Management   (Classe 26) Framework  in generale C ont...
Upcoming SlideShare
Loading in …5
×

Presentazione review it_20min

308 views
277 views

Published on

My Graduation discussion (20 mins version), for thesis : Review - IT a Social Network for Scientific documents discussion; developed by integrating GWT,SPRING, HIBERNATE, MAVEN.

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

  • Be the first to like this

No Downloads
Views
Total views
308
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Presentazione review it_20min

  1. 1. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) Review-It: un social network per la discussione di articoli scientifici sviluppato integrando Maven, Spring, Hibernate, GWT Tesi Sperimentale in Ingegneria del Software Laureando Fabrizio Straccia Matricola: 72381 Relatore Dott. Andrea Polini
  2. 2. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) SOMMARIO: <ul><li>Obiettivi
  3. 3. Presentazione tecnologie
  4. 4. Dimostrazione Review-It
  5. 5. Struttura interna Review-It
  6. 6. Conclusioni </li></ul>
  7. 7. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) Individuare tecnologie e metodi per la creazioni di rich internet application, studiarle in maniera più o meno approfondita per le realizzazione di un social network. esigenze aziendali : <ul><li>riduzione dei costi per lo sviluppo del software </li></ul><ul><li>minimizzazione delle risorse umane per la scrittura e gestione del codice </li></ul><ul><li>tempi di sviluppo ridotti e competitivi rispetto alla concorrenza </li></ul><ul><li>compatibilità del prodotto su tutte le piattaforme disponibili </li></ul>
  8. 8. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) RIA difficoltà di sviluppo: <ul><li>Javascript
  9. 9. - Mancanza di tipi
  10. 10. - Conflitti tra librerie di script </li><ul><li>- scelta framework (Troppi) </li></ul><li>Debug difficile
  11. 11. - window.alert() </li><ul><ul><li>- Firebug </li></ul></ul><li>Browser quirks
  12. 12. - riscrittura del codice
  13. 13. Utilizzo di più linguaggi in contemporanea
  14. 14. - Manutenzione software critica
  15. 15. Mancanza di IDE di sviluppo specifici </li></ul>Con il termine RIA (Rich Internet Application) vengono indicate applicazioni capaci di fornire all'utente un'esperinza di navigazione accattivante, dinamica e in una sola parola: coinvolgenti .
  16. 16. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) <ul><li>Come raggiungere gli obiettivi prefissati ? </li></ul>PATTERN ARCHITETTURALI TOOL DI SUPPORTO TECNICHE DI SVILUPPO RIUTILIZZO DI CODICE
  17. 17. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) Enterprise Edition
  18. 18. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) Google Web Toolkit è un toolkit di sviluppo Open Source per la creazione e l’ottimizzazione di applicazioni Ajax complesse, basate su browser. . Google Web Toolkit In generale Sviluppo Applicazioni Ajax in Java e compilare il codice sorgente in JavaScript eseguito in tutti i browser, inclusi browser mobile per Android e Iphone .. Ottimizzazione Il compilatore GWT rimuove il codice non utilizzato, ottimizza le stringhe, suddivide il codice in più segmenti per un avvio più veloce. Debug È possibile effettuare il debug delle applicazioni direttamente dall’IDE preferito, oppure da browser web . Integrazione <ul><li>Supporto internazionalizzazione
  19. 19. Integrazione con framework di test Junit </li></ul>PRESENTATION TIER
  20. 20. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) Framework in generale C ontainer Web , capace di gestire l’intero flusso dell’applicazione spostando il controllo dallo sviluppatore al framework stesso. Implementa nuovi modelli di programmazione quali Aspect Oriented Programming (AOP) e l' Inversion of Control (IoC) . BUSINESS TIER
  21. 21. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) IoC & Dependency Injection Programmazione tradizionale: <ul><li>Control flow gestito dal programmatore </li></ul><ul>Basato su Hollywood principle , inverte il processo di risoluzione delle dipendenze, iniettandole dall'esterno. Obiettivi: Classi disaccoppiate e sviluppo modulare </ul><ul><li>Spring beans
  22. 22. Annotations </li></ul>< bean id=&quot;MovieLister&quot; class=&quot;spring.MovieLister&quot;> <constructor-arg value=&quot; finder&quot;/> <constructor-arg ref=&quot;MovieFinder&quot;/> </ bean > <bean id=&quot;MovieFinder&quot; class=&quot;spring.ColonMovieFinder&quot;> <property name=&quot;filename&quot;> <value>movies1.txt</value></property> </ bean > Es: SpringContext.xml
  23. 23. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) <ul>Vantaggi <li>escludere le parti del framework non necessarie all'applicazione
  24. 24. collegare assieme elementi diversi, realizzati da gruppi diversi con scarse conoscenze reciproche
  25. 25. Sviluppo modulare del codice
  26. 26. architettura più semplice ed elastica
  27. 27. piena compatibilità con le più diffuse infrastrutture e librerie opensource o commerciali (hibernate, JPA ecc)
  28. 28. un software più mantenibile </li></ul><ul>Svantaggi <li>Curva di apprendimento elevata </li></ul>
  29. 29. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) & JPA in generale ORM ( Object-Relational Mapping ) mapping di classi Java in tabelle di un database relazionale; Gestione completa delle persistenze. <ul><li>CRUD ( Create,Read,Update,Delete)
  30. 30. - Elimina codifica,test e debug
  31. 31. JPA Mapping con @annotation
  32. 32. Portabilità: </li><ul><li>- JPQL </li></ul></ul>Riduzione drastica dei tempi di sviluppo! DATA ACCESS TIER
  33. 33. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) Scopo principale l' utilizzo di best practice e pattern ben collaudati all'infrastruttura del build dei progetti. <ul><li>Gestione intero ciclo di vita </li><ul><li>- compilazione, test, deploy
  34. 34. - documentazione </li></ul><li>Gestione dipendenze dichiarative </li><ul><li>- POM.xml (transitive) </li></ul><li>Archetipi Maven
  35. 35. - strutture pre impostate </li></ul>- Ottimizzazione tempi sviluppo - Gestione grandi progetti semplificata
  36. 36. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) Struttura logica di un'applicazione realizzata sfruttando Maven, Hibernate, Spring, GWT
  37. 37. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) Funzionalità : <ul><li>Gestione Amicizia
  38. 38. Upload file
  39. 39. Commento su file di amici
  40. 40. Notifiche
  41. 41. Invio messaggi privati </li></ul>Il Social Network Review-It
  42. 42. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) DEMO APPLICAZIONE Review-It http://bertolt.cs.unicam.it:8080/ReviewIt-1.0-Beta REMOTO: LOCALE: http://localhost:8080/ReviewIt-1.0-Beta
  43. 43. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) <ul><li>Review-It come lavora: </li></ul>Moduli: - Indipendenti - Propri servizi di comunicazione Vantaggi: <ul><li>Codice disaccoppiato
  44. 44. Riutilizzo del codice per progetti futuri </li></ul>
  45. 45. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) <ul><li>L'architettura in profondità </li></ul>Pattern GWT Pattern DAO
  46. 46. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) Conclusioni: <ul><li>Lo studio delle tecnologie sopra elencate ha reso possibile la creazione del social network fissato come obiettivo in un periodo di tempo di 3 mese (1 per lo sviluppo). </li><ul><li>( tempi di sviluppo ridotti e competitivi rispetto alla concorrenza ) </li></ul><li>Le tecniche di sviluppo usate hanno reso il codice riutilizzabile e facilmente manutenibile </li><ul><li>( minimizzazione delle risorse umane per la scrittura e gestione del codice ) </li></ul><li>Linguaggio e framework basati su Java hanno ridotto i costi di produzione </li></ul>( riduzione dei costi per lo sviluppo del software ) <ul><li>L'applicazione sviluppata è a tutti gli effetti una RIA
  47. 47. ( compatibilità del prodotto su tutte le piattaforme disponibili ) </li></ul>
  48. 48. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) Sviluppi futuri delle tecnologie: <ul><li>Applicazioni dedicate per Smartphone </li></ul><ul><li>GWT e funzionalità HTML5 </li></ul><ul><li>SpringRoo versione di spring dedicata allo sviluppo di applicazioni con GWT </li></ul>
  49. 49. S CUOLA DI S CIENZE E T ECNOLOGIE Corso di laurea in Informatica e Management (Classe 26) Grazie a tutti per l'attenzione

×