SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Rex Flex Spring & Agilité*
    Toulouse JUG - 21 avril 2011




 Nicolas Deverge – Bert Poller
                                   * Et des chats
>qui sommes-nous ?
Nicolas – Architecte Java, Agiliste
twitter.com/ndeverge

Bert – Architecte Java
skype: bpoller
>contexte
• Diatta Consulting
• Ingénierie en restauration collective
>architecture client
• Flex – On n’est pas expert
>architecture client
• Flex – On n’est pas expert
• PureMVC ++
>architecture client
• Flex – On n’est pas expert
• PureMVC ++
• Codage Maison : Automapper VO<->DTO,
  Cache DTO
>architecture client
• Flex – On n’est pas expert
• PureMVC ++
• Codage Maison : Automapper VO<->DTO,
  Cache DTO
• Découpage en modules
>architecture client
• Flex – On n’est pas expert
• PureMVC ++
• Codage Maison : Automapper VO<->DTO,
  Cache DTO
• Découpage en modules
• Remoting avec BlazeDS
Vues          VO
                        *.mxml
Présentation,
Logique des vues
et métier

                    Mediators
                    Mediators                             Commands
                                                          Commands



Façade,
Logique technique   ActionHandler/                          Gestion de           Gestion de
                                      VO Mapping
                        Actions                             notification          modules


Gestion de
données                                    API d’appels
                     Proxies
                    Proxies                asynchrones


                    Remote Services
                    Remote Services         DTO                            Notification
Services d’appel
au serveur                                                                 Notification de vue
(générés)
                                                                           Retour asynchrone

                                                                           Appel directe
>architecture client/ Agilité
What’s hot ?
•Graphisme vectoriel, animations
•ActionScript et MXML simples à apprendre
>architecture client/ Agilité
What’s hot ?
•Graphisme vectoriel, animations
•ActionScript et MXML simples à apprendre

What’s not ?
•Temps de compilation
•Refactoring assez limité
•Adobe Flashbuilder 4 sous Windows et Mac (pas
Linux)
>architecture serveur
•Au début MDA (Xtext, Acceleo)
•Spring 3 – IoC classique
•Full Hibernate 3.6 - mapping en hbm.xml
>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
>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
>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
>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
BlazeDS




          DTO
Façade




          Domain
Service



 DAO



 BDD
>architecture serveur
Flyway :   - initialisation du schéma bdd
           - migration des données
>architecture serveur
Flyway :      - initialisation du schéma bdd
              - migration des données
en 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')");
         }
       }
>architecture serveur/ Agilité
What’s hot ?
•Flyway (migration de schéma bdd)
•Data Provider (données métier, TU)
>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
>scrum/ Agilité
>scrum/ Agilité
What’s hot ?
•Radiateur d’information (post-it)
•Daily scrum
•Revue de sprint
•Gizmo
>scrum/ Agilité
What’s hot ?
•Radiateur d’information (post-it)
•Daily scrum
•Revue de sprint
•Gizmo
What’s not ?
•Rétrospective
•Adoption du support informatique
(GreenHopper)
•Product owner proxy
>build
>build
What’s hot ?
•Maven profiles
•Intégration continue
•Documentation intégrée (mvn site, umlGraphDoc)
•Conception émergente
>build/ Agilité
What’s hot ?
•Maven profiles
•Intégration continue
•Documentation intégrée (mvn site, umlGraphDoc)
•Conception émergente

What’s not ?
•Adoption limitée de TDD
•Pas assez de TU
>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
>copyright



Présentation sous licence
  Creative Commons CC BY-NC 2.0
  creativecommons.org/licenses/by-nc/2.0/fr/

Contenu connexe

Tendances

HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express jsAbdoulaye Dieng
 
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Aurelien Navarre
 
Architecture de services web de type ressource
Architecture de services web de type ressourceArchitecture de services web de type ressource
Architecture de services web de type ressourceAntoine Pouch
 
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Ouadie LAHDIOUI
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partageraliagadir
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFBoubker ABERWAG
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les basesAntoine Rey
 
De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013Stephane Manciot
 
Symfony with angular.pptx
Symfony with angular.pptxSymfony with angular.pptx
Symfony with angular.pptxEsokia
 
Configuration Management avec Drupal 8
Configuration Management avec Drupal 8Configuration Management avec Drupal 8
Configuration Management avec Drupal 8Aurelien Navarre
 
Microbox : Ma toolbox microservices - Julien Roy
Microbox : Ma toolbox microservices - Julien RoyMicrobox : Ma toolbox microservices - Julien Roy
Microbox : Ma toolbox microservices - Julien Royekino
 
Utilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérienceUtilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expériencelouschwartz
 
DrupalCamp Lyon 2012 - Optimiser les performances Drupal depuis les tranchées
DrupalCamp Lyon 2012 -  Optimiser les performances Drupal depuis les tranchéesDrupalCamp Lyon 2012 -  Optimiser les performances Drupal depuis les tranchées
DrupalCamp Lyon 2012 - Optimiser les performances Drupal depuis les tranchéesAurelien Navarre
 
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8Aurelien Navarre
 
Réu technodejs
Réu technodejsRéu technodejs
Réu technodejsnaholyr
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Antoine Rey
 

Tendances (20)

HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express js
 
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...
 
Architecture de services web de type ressource
Architecture de services web de type ressourceArchitecture de services web de type ressource
Architecture de services web de type ressource
 
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
 
Cours JSP
Cours JSPCours JSP
Cours JSP
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les bases
 
De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013De Maven à SBT ScalaIO 2013
De Maven à SBT ScalaIO 2013
 
Symfony with angular.pptx
Symfony with angular.pptxSymfony with angular.pptx
Symfony with angular.pptx
 
Configuration Management avec Drupal 8
Configuration Management avec Drupal 8Configuration Management avec Drupal 8
Configuration Management avec Drupal 8
 
Microbox : Ma toolbox microservices - Julien Roy
Microbox : Ma toolbox microservices - Julien RoyMicrobox : Ma toolbox microservices - Julien Roy
Microbox : Ma toolbox microservices - Julien Roy
 
Jsp
JspJsp
Jsp
 
Les Servlets et JSP
Les Servlets et JSPLes Servlets et JSP
Les Servlets et JSP
 
Utilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérienceUtilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérience
 
DrupalCamp Lyon 2012 - Optimiser les performances Drupal depuis les tranchées
DrupalCamp Lyon 2012 -  Optimiser les performances Drupal depuis les tranchéesDrupalCamp Lyon 2012 -  Optimiser les performances Drupal depuis les tranchées
DrupalCamp Lyon 2012 - Optimiser les performances Drupal depuis les tranchées
 
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8
DrupalCamp Nantes 2016 - Migrer un site Drupal 6 ou Drupal 7 vers Drupal 8
 
Réu technodejs
Réu technodejsRéu technodejs
Réu technodejs
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?
 

Similaire à ToulouseJUG - REX Flex, Spring & Agilité

System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...Microsoft Technet France
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...Jasmine Conseil
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...Microsoft Technet France
 
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014Benoît de CHATEAUVIEUX
 
Session GWT Devoxx France 2012 Cobra
Session GWT Devoxx France 2012 CobraSession GWT Devoxx France 2012 Cobra
Session GWT Devoxx France 2012 CobraDNG Consulting
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesChristophe Furmaniak
 
Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?Trader's - Quick Software Line
 
Migration des réseaux d agence : les apports de Windows Server 2012 R2
Migration des réseaux d agence : les apports de Windows Server 2012 R2Migration des réseaux d agence : les apports de Windows Server 2012 R2
Migration des réseaux d agence : les apports de Windows Server 2012 R2Microsoft
 
Meetup - Construire des applications serverless avec Azure
Meetup - Construire des applications serverless avec AzureMeetup - Construire des applications serverless avec Azure
Meetup - Construire des applications serverless avec AzureSamir Arezki ☁
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 
Sécurité Active Directory: Etablir un référentiel
Sécurité Active Directory: Etablir un référentielSécurité Active Directory: Etablir un référentiel
Sécurité Active Directory: Etablir un référentielMicrosoft Décideurs IT
 
Sécurité Active Directory: Etablir un référentiel
Sécurité Active Directory: Etablir un référentielSécurité Active Directory: Etablir un référentiel
Sécurité Active Directory: Etablir un référentielMicrosoft Technet France
 
Intellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsIntellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsNeil Armstrong
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Cellenza
 
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private CloudLe Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private CloudMicrosoft Technet France
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent Biret
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...Microsoft Technet France
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesXavier MARIN
 
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenterMSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenterMickaelLOPES91
 

Similaire à ToulouseJUG - REX Flex, Spring & Agilité (20)

System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
System Center 2012 | SCO : Retours d’expériences projets et déploiements Syst...
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...
 
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
"La Performance en Continue" à JMaghreb 3.0 - 05/11/2014
 
Session GWT Devoxx France 2012 Cobra
Session GWT Devoxx France 2012 CobraSession GWT Devoxx France 2012 Cobra
Session GWT Devoxx France 2012 Cobra
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?Continuité de service informatique : comment ça fonctionne ?
Continuité de service informatique : comment ça fonctionne ?
 
Migration des réseaux d agence : les apports de Windows Server 2012 R2
Migration des réseaux d agence : les apports de Windows Server 2012 R2Migration des réseaux d agence : les apports de Windows Server 2012 R2
Migration des réseaux d agence : les apports de Windows Server 2012 R2
 
Meetup - Construire des applications serverless avec Azure
Meetup - Construire des applications serverless avec AzureMeetup - Construire des applications serverless avec Azure
Meetup - Construire des applications serverless avec Azure
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 
Sécurité Active Directory: Etablir un référentiel
Sécurité Active Directory: Etablir un référentielSécurité Active Directory: Etablir un référentiel
Sécurité Active Directory: Etablir un référentiel
 
Sécurité Active Directory: Etablir un référentiel
Sécurité Active Directory: Etablir un référentielSécurité Active Directory: Etablir un référentiel
Sécurité Active Directory: Etablir un référentiel
 
Intellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server InternalsIntellicore Tech Talk 10 - Apache Web Server Internals
Intellicore Tech Talk 10 - Apache Web Server Internals
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1Au coeur du framework .net 4.5.1
Au coeur du framework .net 4.5.1
 
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private CloudLe Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...System Center Operations Manager et la supervision des applications (.Net et ...
System Center Operations Manager et la supervision des applications (.Net et ...
 
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenterMSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
 

Plus de Nicolas Deverge

Le Lean Startup depuis les tranchées
Le Lean Startup depuis les tranchéesLe Lean Startup depuis les tranchées
Le Lean Startup depuis les tranchéesNicolas Deverge
 
BBL - Scala Intro / Coding Dojo
BBL - Scala Intro / Coding DojoBBL - Scala Intro / Coding Dojo
BBL - Scala Intro / Coding DojoNicolas Deverge
 
A story of my incoming product using LeanStartup
A story of my incoming product using LeanStartupA story of my incoming product using LeanStartup
A story of my incoming product using LeanStartupNicolas Deverge
 
How to bootstrap your idea when you are a developer
How to bootstrap your idea when you are a developerHow to bootstrap your idea when you are a developer
How to bootstrap your idea when you are a developerNicolas Deverge
 
L'agilité en quelques slides
L'agilité en quelques slidesL'agilité en quelques slides
L'agilité en quelques slidesNicolas Deverge
 

Plus de Nicolas Deverge (6)

Le Lean Startup depuis les tranchées
Le Lean Startup depuis les tranchéesLe Lean Startup depuis les tranchées
Le Lean Startup depuis les tranchées
 
BBL - Scala Intro / Coding Dojo
BBL - Scala Intro / Coding DojoBBL - Scala Intro / Coding Dojo
BBL - Scala Intro / Coding Dojo
 
A story of my incoming product using LeanStartup
A story of my incoming product using LeanStartupA story of my incoming product using LeanStartup
A story of my incoming product using LeanStartup
 
How to bootstrap your idea when you are a developer
How to bootstrap your idea when you are a developerHow to bootstrap your idea when you are a developer
How to bootstrap your idea when you are a developer
 
L'agilité en quelques slides
L'agilité en quelques slidesL'agilité en quelques slides
L'agilité en quelques slides
 
AgileIUT
AgileIUTAgileIUT
AgileIUT
 

ToulouseJUG - REX Flex, Spring & Agilité

  • 1. Rex Flex Spring & Agilité* Toulouse JUG - 21 avril 2011 Nicolas Deverge – Bert Poller * Et des chats
  • 2.
  • 3. >qui sommes-nous ? Nicolas – Architecte Java, Agiliste twitter.com/ndeverge Bert – Architecte Java skype: bpoller
  • 4. >contexte • Diatta Consulting • Ingénierie en restauration collective
  • 5. >architecture client • Flex – On n’est pas expert
  • 6. >architecture client • Flex – On n’est pas expert • PureMVC ++
  • 7. >architecture client • Flex – On n’est pas expert • PureMVC ++ • Codage Maison : Automapper VO<->DTO, Cache DTO
  • 8. >architecture client • Flex – On n’est pas expert • PureMVC ++ • Codage Maison : Automapper VO<->DTO, Cache DTO • Découpage en modules
  • 9. >architecture client • Flex – On n’est pas expert • PureMVC ++ • Codage Maison : Automapper VO<->DTO, Cache DTO • Découpage en modules • Remoting avec BlazeDS
  • 10. Vues VO *.mxml Présentation, Logique des vues et métier Mediators Mediators Commands Commands Façade, Logique technique ActionHandler/ Gestion de Gestion de VO Mapping Actions notification modules Gestion de données API d’appels Proxies Proxies asynchrones Remote Services Remote Services DTO Notification Services d’appel au serveur Notification de vue (générés) Retour asynchrone Appel directe
  • 11. >architecture client/ Agilité What’s hot ? •Graphisme vectoriel, animations •ActionScript et MXML simples à apprendre
  • 12. >architecture client/ Agilité What’s hot ? •Graphisme vectoriel, animations •ActionScript et MXML simples à apprendre What’s not ? •Temps de compilation •Refactoring assez limité •Adobe Flashbuilder 4 sous Windows et Mac (pas Linux)
  • 13. >architecture serveur •Au début MDA (Xtext, Acceleo) •Spring 3 – IoC classique •Full Hibernate 3.6 - mapping en hbm.xml
  • 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
  • 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
  • 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
  • 17. >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
  • 18. BlazeDS DTO Façade Domain Service DAO BDD
  • 19. >architecture serveur Flyway : - initialisation du schéma bdd - migration des données
  • 20. >architecture serveur Flyway : - initialisation du schéma bdd - migration des données en 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')"); } }
  • 21. >architecture serveur/ Agilité What’s hot ? •Flyway (migration de schéma bdd) •Data Provider (données métier, TU)
  • 22. >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
  • 24. >scrum/ Agilité What’s hot ? •Radiateur d’information (post-it) •Daily scrum •Revue de sprint •Gizmo
  • 25. >scrum/ Agilité What’s hot ? •Radiateur d’information (post-it) •Daily scrum •Revue de sprint •Gizmo What’s not ? •Rétrospective •Adoption du support informatique (GreenHopper) •Product owner proxy
  • 27. >build What’s hot ? •Maven profiles •Intégration continue •Documentation intégrée (mvn site, umlGraphDoc) •Conception émergente
  • 28. >build/ Agilité What’s hot ? •Maven profiles •Intégration continue •Documentation intégrée (mvn site, umlGraphDoc) •Conception émergente What’s not ? •Adoption limitée de TDD •Pas assez de TU
  • 29.
  • 30. >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
  • 31. >copyright Présentation sous licence Creative Commons CC BY-NC 2.0 creativecommons.org/licenses/by-nc/2.0/fr/