ToulouseJUG - REX Flex, Spring & Agilité

3,450 views

Published on

Retour d'expérience sur un projet agile, avec les technos Flex, Spring, Hibernate, donné lors du ToulouseJug du 21/04/2011.
Bert Poller & Nicolas Deverge

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,450
On SlideShare
0
From Embeds
0
Number of Embeds
1,011
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ToulouseJUG - REX Flex, Spring & Agilité

  1. 1. Rex Flex Spring & Agilité* Toulouse JUG - 21 avril 2011 Nicolas Deverge – Bert Poller * Et des chats
  2. 2. >qui sommes-nous ?Nicolas – Architecte Java, Agilistetwitter.com/ndevergeBert – Architecte Javaskype: bpoller
  3. 3. >contexte• Diatta Consulting• Ingénierie en restauration collective
  4. 4. >architecture client• Flex – On n’est pas expert
  5. 5. >architecture client• Flex – On n’est pas expert• PureMVC ++
  6. 6. >architecture client• Flex – On n’est pas expert• PureMVC ++• Codage Maison : Automapper VO<->DTO, Cache DTO
  7. 7. >architecture client• Flex – On n’est pas expert• PureMVC ++• Codage Maison : Automapper VO<->DTO, Cache DTO• Découpage en modules
  8. 8. >architecture client• Flex – On n’est pas expert• PureMVC ++• Codage Maison : Automapper VO<->DTO, Cache DTO• Découpage en modules• Remoting avec BlazeDS
  9. 9. Vues VO *.mxmlPrésentation,Logique des vueset métier Mediators Mediators Commands CommandsFaçade,Logique technique ActionHandler/ Gestion de Gestion de VO Mapping Actions notification modulesGestion dedonnées API d’appels Proxies Proxies asynchrones Remote Services Remote Services DTO NotificationServices d’appelau serveur Notification de vue(générés) Retour asynchrone Appel directe
  10. 10. >architecture client/ AgilitéWhat’s hot ?•Graphisme vectoriel, animations•ActionScript et MXML simples à apprendre
  11. 11. >architecture client/ AgilitéWhat’s hot ?•Graphisme vectoriel, animations•ActionScript et MXML simples à apprendreWhat’s not ?•Temps de compilation•Refactoring assez limité•Adobe Flashbuilder 4 sous Windows et Mac (pasLinux)
  12. 12. >architecture serveur•Au début MDA (Xtext, Acceleo)•Spring 3 – IoC classique•Full Hibernate 3.6 - mapping en hbm.xml
  13. 13. >architecture serveur•Au début MDA (Xtext, Acceleo)•Spring 3 – IoC classique•Full Hibernate 3.6 - mapping en hbm.xml•Spring-Flex •Intégration BlazeDS, Spring-Security, Log4j
  14. 14. >architecture serveur•Au début MDA (Xtext, Acceleo)•Spring 3 – IoC classique•Full Hibernate 3.6 - mapping en hbm.xml•Spring-Flex •Intégration BlazeDS, Spring-Security, Log4j•Dozer : mapping domain <-> DTO
  15. 15. >architecture serveur•Au début MDA (Xtext, Acceleo)•Spring 3 – IoC classique•Full Hibernate 3.6 - mapping en hbm.xml•Spring-Flex •Intégration BlazeDS, Spring-Security, Log4j•Dozer : mapping domain <-> DTO•DataProviders codés maison
  16. 16. >architecture serveur•Au début MDA (Xtext, Acceleo)•Spring 3 – IoC classique•Full Hibernate 3.6 - mapping en hbm.xml•Spring-Flex •Intégration BlazeDS, Spring-Security, Log4j•Dozer : mapping domain <-> DTO•DataProviders codés maison•HSQLDB en dev+test, MySQL en prod
  17. 17. BlazeDS DTOFaçade DomainService DAO BDD
  18. 18. >architecture serveurFlyway : - initialisation du schéma bdd - migration des données
  19. 19. >architecture serveurFlyway : - initialisation du schéma bdd - migration des donnéesen sql : et en java : import org.springframework.jdbc.core.JdbcTemplate; import com.googlecode.flyway.core.migration.java.JavaMigration; /**Example of a Java-based migration.*/ public class V1_2__Another_user implements JavaMigration { public void migrate(final JdbcTemplate jdbcTemplate) throws Exception { jdbcTemplate.execute("INSERT INTO test_user (name) VALUES (Obelix)"); } }
  20. 20. >architecture serveur/ AgilitéWhat’s hot ?•Flyway (migration de schéma bdd)•Data Provider (données métier, TU)
  21. 21. >architecture serveur/ AgilitéWhat’s hot ?•Flyway (migration de schéma bdd)•Data Provider (données métier, TU)What’s not ?•Mille feuilles•Xml a go go <-> @Entity + @AutoWired
  22. 22. >scrum/ Agilité
  23. 23. >scrum/ AgilitéWhat’s hot ?•Radiateur d’information (post-it)•Daily scrum•Revue de sprint•Gizmo
  24. 24. >scrum/ AgilitéWhat’s hot ?•Radiateur d’information (post-it)•Daily scrum•Revue de sprint•GizmoWhat’s not ?•Rétrospective•Adoption du support informatique(GreenHopper)•Product owner proxy
  25. 25. >build
  26. 26. >buildWhat’s hot ?•Maven profiles•Intégration continue•Documentation intégrée (mvn site, umlGraphDoc)•Conception émergente
  27. 27. >build/ AgilitéWhat’s hot ?•Maven profiles•Intégration continue•Documentation intégrée (mvn site, umlGraphDoc)•Conception émergenteWhat’s not ?•Adoption limitée de TDD•Pas assez de TU
  28. 28. >références• Chats : lolcats.com, icanhascheezburger.com• Tag cloud : www.tagxedo.com• Diatta Consulting : www.diatta-consulting.com• Flyway : code.google.com/p/flyway• PureMVC : puremvc.org• Spring Source : www.springsource.com• Hibernate : www.hibernate.org• UMLGraph : www.umlgraph.org
  29. 29. >copyrightPrésentation sous licence Creative Commons CC BY-NC 2.0 creativecommons.org/licenses/by-nc/2.0/fr/

×