• Like
ToulouseJUG - REX Flex, Spring & Agilité
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

ToulouseJUG - REX Flex, Spring & Agilité

  • 2,819 views
Published

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

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
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,819
On SlideShare
0
From Embeds
0
Number of Embeds
14

Actions

Shares
Downloads
11
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Rex Flex Spring & Agilité* Toulouse JUG - 21 avril 2011 Nicolas Deverge – Bert Poller * Et des chats
  • 2. >qui sommes-nous ?Nicolas – Architecte Java, Agilistetwitter.com/ndevergeBert – Architecte Javaskype: bpoller
  • 3. >contexte• Diatta Consulting• Ingénierie en restauration collective
  • 4. >architecture client• Flex – On n’est pas expert
  • 5. >architecture client• Flex – On n’est pas expert• PureMVC ++
  • 6. >architecture client• Flex – On n’est pas expert• PureMVC ++• Codage Maison : Automapper VO<->DTO, Cache DTO
  • 7. >architecture client• Flex – On n’est pas expert• PureMVC ++• Codage Maison : Automapper VO<->DTO, Cache DTO• Découpage en modules
  • 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. 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. >architecture client/ AgilitéWhat’s hot ?•Graphisme vectoriel, animations•ActionScript et MXML simples à apprendre
  • 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. >architecture serveur•Au début MDA (Xtext, Acceleo)•Spring 3 – IoC classique•Full Hibernate 3.6 - mapping en hbm.xml
  • 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. >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. >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. >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. BlazeDS DTOFaçade DomainService DAO BDD
  • 18. >architecture serveurFlyway : - initialisation du schéma bdd - migration des données
  • 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. >architecture serveur/ AgilitéWhat’s hot ?•Flyway (migration de schéma bdd)•Data Provider (données métier, TU)
  • 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. >scrum/ Agilité
  • 23. >scrum/ AgilitéWhat’s hot ?•Radiateur d’information (post-it)•Daily scrum•Revue de sprint•Gizmo
  • 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. >build
  • 26. >buildWhat’s hot ?•Maven profiles•Intégration continue•Documentation intégrée (mvn site, umlGraphDoc)•Conception émergente
  • 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. >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. >copyrightPrésentation sous licence Creative Commons CC BY-NC 2.0 creativecommons.org/licenses/by-nc/2.0/fr/