SlideShare une entreprise Scribd logo
1  sur  49
Pimp my Legacy
   par François Ostyn
  @ostynf / @soatexpert

     http://blog.soat.fr




                           1
Disclaimer




             2
Résumé

•   Pourquoi parler de legacy ?

•   Qui n’a jamais dû reprendre une application développée avec de mauvaises
    pratiques ?

•   Comment améliorer les choses ?




                                                                               3
Speaker
•   Depuis plus d’une dizaine d’année dans l’informatique

•   Actuellement responsable du pôle Expert Java chez So@t

•   Architecte applicatif Java

•   Une devise que j’apprécie :
    «La simplicité est la sophistication ultime» (Léonard De Vinci : 1452-1519)




                                                                                  4
Mais pourquoi vous parler de
    « Pimp My Legacy ?»



                               5
Un nouveau film ?

Pimp My Legacy


                    6
Un nouvelle émission ?
       Pimp
        My
      Legacy

                         7
Un peu d’Histoire de l’Informatique




                                      8
Les premiers ordinateurs datent des années 1940...




                                                     9
...et les langages de programmations sont arrivés.




                                                     10
Le langage Java
              2000                 2005                 2010
96 97 98 99          01 02 03 04          06 07 08 09          11 12 13




                            16 ans



                                                                          11
Le langage Java
                2000                 2005                 2010
  96 97 98 99          01 02 03 04          06 07 08 09          11 12 13



JDK 1.0



                              16 ans



                                                                            11
Le langage Java
                2000                 2005                 2010
  96 97 98 99          01 02 03 04          06 07 08 09          11 12 13



JDK 1.0
     JDK 1.1


                              16 ans



                                                                            11
Le langage Java
                  2000                 2005                 2010
  96 97 98 99            01 02 03 04          06 07 08 09          11 12 13



JDK 1.0 J2SE1.2
     JDK 1.1


                                16 ans



                                                                              11
Le langage Java
                  2000                    2005                 2010
  96 97 98 99               01 02 03 04          06 07 08 09          11 12 13



JDK 1.0 J2SE1.2   J2SE1.3
     JDK 1.1


                                   16 ans



                                                                                 11
Le langage Java
                  2000                     2005                 2010
  96 97 98 99               01 02 03 04           06 07 08 09          11 12 13



JDK 1.0 J2SE1.2   J2SE1.3    J2SE1.4
     JDK 1.1


                                       16 ans



                                                                                  11
Le langage Java
                  2000                      2005                 2010
  96 97 98 99               01 02 03 04            06 07 08 09          11 12 13



JDK 1.0 J2SE1.2   J2SE1.3    J2SE1.4   J2SE1.5
     JDK 1.1


                                       16 ans



                                                                                   11
Le langage Java
                  2000                      2005                  2010
  96 97 98 99               01 02 03 04             06 07 08 09          11 12 13



JDK 1.0 J2SE1.2   J2SE1.3    J2SE1.4   J2SE1.5     Java SE1.6
     JDK 1.1


                                       16 ans



                                                                                    11
Le langage Java
                  2000                      2005                  2010
  96 97 98 99               01 02 03 04             06 07 08 09          11 12 13



JDK 1.0 J2SE1.2   J2SE1.3    J2SE1.4   J2SE1.5     Java SE1.6       Java SE1.7
     JDK 1.1


                                       16 ans



                                                                                    11
Que veut le client ?

•   Que son application ne coûte pas cher

•   Ajouter beaucoup de fonctionnalités

•   Pour hier

•   Ne pas perturber les utilisateurs




                                            12
Solutions

•   Modifier l’espace-temps

•   Travailler 24h/24

•   Négocier




                             13
Conclusion
Ne faisons rien, ça fonctionne déjà...




    Avant                 Après
                                         14
Questions ?




              15
Ne faisons rien ?

    NON



                    16
Ne faisons rien ?

           NON
On peut toujours améliorer les
           choses

                                 16
Mais que pouvons-nous améliorer ?




                                    17
La stabilité




               18
La stabilité
Les performances



                   19
La stabilité
Les performances
L’exploitation


                   20
La stabilité
Les performances
L’exploitation
Le confort de l’utilisateur

                              21
Existe-t-il une recette magique ?




                                    22
Existe-t-il une recette magique ?




            NON                     23
Juste des bonnes pratiques basées
         sur l’expérience.



                                    24
Règle

 Être humble et ne pas dénigrer ce
 qui a été fait.




                                     25
Règle

  Être capable de retrouver les
  sources et documentations.




                                  26
Règle

Quand on ne sait pas où l’on va, il faut une
carte pour se guider.



                                               27
Règle

Ne pas mélanger le code «métier» et le
code «technique».




                                         28
Règle

Avant de réinventer un framework, regarder
s’il n’en existe pas un.




                                             29
Règle

 Quand une modification est effectuée, il
 faut être capable de revenir en arrière.




                                            30
Règle
 Les frameworks ont été créés pour
 simplifier les applications et non pas
 pour les complexifier.



                                         31
Règle


        Maîtriser le build.




                              32
Règle

 Ne pas être tenté par le FOA
 (Fashion Oriented Architecture).




                                    33
Règle

 Ne pas penser au performances
 en premier lieu.
  Donald Knuth : «premature optimization is the root of all evil»




                                                                    34
Règle

 Ce qui fait la valeur d’une société,
 ce sont ses données et son savoir
 faire.


                                        35
Conclusion



             36
Il existe aussi CQRS
Séparation architecturale entre les commandes et les
requêtes. (voir conférence à laquelle vous n’avez pas
assisté... ;-) ).




                                                        37
Rendez-vous l’année prochaine à
Devoxx France !




                                  38
Merci à tous



               39
Questions ?




              40

Contenu connexe

En vedette

MALCOLM X (BUILDING BRIDGES-Getting The DEVIL OFF YOUR BACK)-french
MALCOLM X (BUILDING BRIDGES-Getting The DEVIL OFF YOUR BACK)-frenchMALCOLM X (BUILDING BRIDGES-Getting The DEVIL OFF YOUR BACK)-french
MALCOLM X (BUILDING BRIDGES-Getting The DEVIL OFF YOUR BACK)-frenchVogelDenise
 
Le projet de décret "parité homme femme"
Le projet de décret "parité homme femme"Le projet de décret "parité homme femme"
Le projet de décret "parité homme femme"lesoirbe
 
Revue Education & Formation - e-304-01 - Pratiques parentales d’éducation et ...
Revue Education & Formation - e-304-01 - Pratiques parentales d’éducation et ...Revue Education & Formation - e-304-01 - Pratiques parentales d’éducation et ...
Revue Education & Formation - e-304-01 - Pratiques parentales d’éducation et ...Bruno De Lièvre
 
French Right of REVOLUTION & Political CORRUPTION
French   Right of REVOLUTION & Political CORRUPTIONFrench   Right of REVOLUTION & Political CORRUPTION
French Right of REVOLUTION & Political CORRUPTIONVogelDenise
 
Donner un style moderne à votre application grâce à la suite Expression
Donner un style moderne à votre application grâce à la suite ExpressionDonner un style moderne à votre application grâce à la suite Expression
Donner un style moderne à votre application grâce à la suite ExpressionSOAT
 
Internet en Chine 2013
Internet en Chine 2013Internet en Chine 2013
Internet en Chine 2013IZIASIA
 
Obama read my lips -obama fraudgate (french)
Obama   read my lips -obama fraudgate (french)Obama   read my lips -obama fraudgate (french)
Obama read my lips -obama fraudgate (french)VogelDenise
 
091815 - TOWNSEND BANKRUPTCY HEARING (FRENCH)
091815 - TOWNSEND BANKRUPTCY HEARING (FRENCH)091815 - TOWNSEND BANKRUPTCY HEARING (FRENCH)
091815 - TOWNSEND BANKRUPTCY HEARING (FRENCH)VogelDenise
 
Atopica coverage
Atopica coverage Atopica coverage
Atopica coverage atopica
 
Communiqué tabac europe
Communiqué tabac europeCommuniqué tabac europe
Communiqué tabac europelesoirbe
 
Louaize bc conference summary french
Louaize bc conference summary frenchLouaize bc conference summary french
Louaize bc conference summary frenchIAU_Past_Conferences
 
Le savant mélange d'une image de marque et du style moderne
Le savant mélange d'une image de marque et du style moderneLe savant mélange d'une image de marque et du style moderne
Le savant mélange d'une image de marque et du style moderneSOAT
 
Automatisation et Gestion de Cluster de Bases de Données MariaDB Roadshow
Automatisation et Gestion de Cluster de Bases de Données MariaDB RoadshowAutomatisation et Gestion de Cluster de Bases de Données MariaDB Roadshow
Automatisation et Gestion de Cluster de Bases de Données MariaDB RoadshowMariaDB Corporation
 
I Tnation 2 0 Fr 111001 3
I Tnation 2 0 Fr 111001 3I Tnation 2 0 Fr 111001 3
I Tnation 2 0 Fr 111001 3louismaerten
 
122912 public notification (obama & pay pal attacks) - french
122912   public notification (obama & pay pal attacks) - french122912   public notification (obama & pay pal attacks) - french
122912 public notification (obama & pay pal attacks) - frenchVogelDenise
 

En vedette (20)

MALCOLM X (BUILDING BRIDGES-Getting The DEVIL OFF YOUR BACK)-french
MALCOLM X (BUILDING BRIDGES-Getting The DEVIL OFF YOUR BACK)-frenchMALCOLM X (BUILDING BRIDGES-Getting The DEVIL OFF YOUR BACK)-french
MALCOLM X (BUILDING BRIDGES-Getting The DEVIL OFF YOUR BACK)-french
 
Pitch1 ballrina
Pitch1 ballrinaPitch1 ballrina
Pitch1 ballrina
 
Le projet de décret "parité homme femme"
Le projet de décret "parité homme femme"Le projet de décret "parité homme femme"
Le projet de décret "parité homme femme"
 
Revue Education & Formation - e-304-01 - Pratiques parentales d’éducation et ...
Revue Education & Formation - e-304-01 - Pratiques parentales d’éducation et ...Revue Education & Formation - e-304-01 - Pratiques parentales d’éducation et ...
Revue Education & Formation - e-304-01 - Pratiques parentales d’éducation et ...
 
Le climat a chypre
Le climat a chypreLe climat a chypre
Le climat a chypre
 
French Right of REVOLUTION & Political CORRUPTION
French   Right of REVOLUTION & Political CORRUPTIONFrench   Right of REVOLUTION & Political CORRUPTION
French Right of REVOLUTION & Political CORRUPTION
 
Donner un style moderne à votre application grâce à la suite Expression
Donner un style moderne à votre application grâce à la suite ExpressionDonner un style moderne à votre application grâce à la suite Expression
Donner un style moderne à votre application grâce à la suite Expression
 
Internet en Chine 2013
Internet en Chine 2013Internet en Chine 2013
Internet en Chine 2013
 
Bon usage
Bon usageBon usage
Bon usage
 
Journee oenotourisme
Journee oenotourismeJournee oenotourisme
Journee oenotourisme
 
Obama read my lips -obama fraudgate (french)
Obama   read my lips -obama fraudgate (french)Obama   read my lips -obama fraudgate (french)
Obama read my lips -obama fraudgate (french)
 
GAT part 1 2552#3
GAT part 1 2552#3GAT part 1 2552#3
GAT part 1 2552#3
 
091815 - TOWNSEND BANKRUPTCY HEARING (FRENCH)
091815 - TOWNSEND BANKRUPTCY HEARING (FRENCH)091815 - TOWNSEND BANKRUPTCY HEARING (FRENCH)
091815 - TOWNSEND BANKRUPTCY HEARING (FRENCH)
 
Atopica coverage
Atopica coverage Atopica coverage
Atopica coverage
 
Communiqué tabac europe
Communiqué tabac europeCommuniqué tabac europe
Communiqué tabac europe
 
Louaize bc conference summary french
Louaize bc conference summary frenchLouaize bc conference summary french
Louaize bc conference summary french
 
Le savant mélange d'une image de marque et du style moderne
Le savant mélange d'une image de marque et du style moderneLe savant mélange d'une image de marque et du style moderne
Le savant mélange d'une image de marque et du style moderne
 
Automatisation et Gestion de Cluster de Bases de Données MariaDB Roadshow
Automatisation et Gestion de Cluster de Bases de Données MariaDB RoadshowAutomatisation et Gestion de Cluster de Bases de Données MariaDB Roadshow
Automatisation et Gestion de Cluster de Bases de Données MariaDB Roadshow
 
I Tnation 2 0 Fr 111001 3
I Tnation 2 0 Fr 111001 3I Tnation 2 0 Fr 111001 3
I Tnation 2 0 Fr 111001 3
 
122912 public notification (obama & pay pal attacks) - french
122912   public notification (obama & pay pal attacks) - french122912   public notification (obama & pay pal attacks) - french
122912 public notification (obama & pay pal attacks) - french
 

Plus de SOAT

Back from Microsoft //Build 2018
Back from Microsoft //Build 2018Back from Microsoft //Build 2018
Back from Microsoft //Build 2018SOAT
 
L'entreprise libérée
L'entreprise libéréeL'entreprise libérée
L'entreprise libéréeSOAT
 
Amélioration continue, c'est l'affaire de tous !
Amélioration continue, c'est l'affaire de tous !Amélioration continue, c'est l'affaire de tous !
Amélioration continue, c'est l'affaire de tous !SOAT
 
JAVA 8 : Migration et enjeux stratégiques en entreprise
JAVA 8 : Migration et enjeux stratégiques en entrepriseJAVA 8 : Migration et enjeux stratégiques en entreprise
JAVA 8 : Migration et enjeux stratégiques en entrepriseSOAT
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESSOAT
 
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
3/3 : The path to CDI 2.0 - Antoine Sabot-DurandSOAT
 
1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-Durand1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-DurandSOAT
 
2/3 : CDI advanced - Antoine Sabot-Durand
2/3 : CDI advanced - Antoine Sabot-Durand2/3 : CDI advanced - Antoine Sabot-Durand
2/3 : CDI advanced - Antoine Sabot-DurandSOAT
 
Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido SOAT
 
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu ParisotDans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu ParisotSOAT
 
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014SOAT
 
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...SOAT
 
Nio sur Netty par Mouhcine Moulou - 3 avril 2014
Nio sur Netty par Mouhcine Moulou - 3 avril 2014Nio sur Netty par Mouhcine Moulou - 3 avril 2014
Nio sur Netty par Mouhcine Moulou - 3 avril 2014SOAT
 
20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soatSOAT
 
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...SOAT
 
Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014SOAT
 
ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)SOAT
 
Xamarin et le développement natif d’applications Android, iOS et Windows en C#
 Xamarin et le développement natif d’applications Android, iOS et Windows en C# Xamarin et le développement natif d’applications Android, iOS et Windows en C#
Xamarin et le développement natif d’applications Android, iOS et Windows en C#SOAT
 
A la découverte du Responsive Web Design par Mathieu Parisot - Soat
A la découverte du Responsive Web Design par Mathieu Parisot - SoatA la découverte du Responsive Web Design par Mathieu Parisot - Soat
A la découverte du Responsive Web Design par Mathieu Parisot - SoatSOAT
 
MongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesMongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesSOAT
 

Plus de SOAT (20)

Back from Microsoft //Build 2018
Back from Microsoft //Build 2018Back from Microsoft //Build 2018
Back from Microsoft //Build 2018
 
L'entreprise libérée
L'entreprise libéréeL'entreprise libérée
L'entreprise libérée
 
Amélioration continue, c'est l'affaire de tous !
Amélioration continue, c'est l'affaire de tous !Amélioration continue, c'est l'affaire de tous !
Amélioration continue, c'est l'affaire de tous !
 
JAVA 8 : Migration et enjeux stratégiques en entreprise
JAVA 8 : Migration et enjeux stratégiques en entrepriseJAVA 8 : Migration et enjeux stratégiques en entreprise
JAVA 8 : Migration et enjeux stratégiques en entreprise
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
 
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
3/3 : The path to CDI 2.0 - Antoine Sabot-Durand
 
1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-Durand1/3 : introduction to CDI - Antoine Sabot-Durand
1/3 : introduction to CDI - Antoine Sabot-Durand
 
2/3 : CDI advanced - Antoine Sabot-Durand
2/3 : CDI advanced - Antoine Sabot-Durand2/3 : CDI advanced - Antoine Sabot-Durand
2/3 : CDI advanced - Antoine Sabot-Durand
 
Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido
 
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu ParisotDans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
Dans l'enfer du Web Mobile - un retour d'expérience - Mathieu Parisot
 
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
RxJava, Getting Started - David Wursteisen - 16 Octobre 2014
 
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
L'impact du Responsive Web Design sur vos équipes projet - Mathieu Parisot - ...
 
Nio sur Netty par Mouhcine Moulou - 3 avril 2014
Nio sur Netty par Mouhcine Moulou - 3 avril 2014Nio sur Netty par Mouhcine Moulou - 3 avril 2014
Nio sur Netty par Mouhcine Moulou - 3 avril 2014
 
20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat
 
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
Développer des applications iOS et Android avec c# grâce à Xamarin par Cyril ...
 
Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014Amazon Web Service par Bertrand Lehurt - 11 mars 2014
Amazon Web Service par Bertrand Lehurt - 11 mars 2014
 
ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)ASP.Net Web API - Léonard Labat (18 février 2014)
ASP.Net Web API - Léonard Labat (18 février 2014)
 
Xamarin et le développement natif d’applications Android, iOS et Windows en C#
 Xamarin et le développement natif d’applications Android, iOS et Windows en C# Xamarin et le développement natif d’applications Android, iOS et Windows en C#
Xamarin et le développement natif d’applications Android, iOS et Windows en C#
 
A la découverte du Responsive Web Design par Mathieu Parisot - Soat
A la découverte du Responsive Web Design par Mathieu Parisot - SoatA la découverte du Responsive Web Design par Mathieu Parisot - Soat
A la découverte du Responsive Web Design par Mathieu Parisot - Soat
 
MongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de donnéesMongoDB : la base NoSQL qui réinvente la gestion de données
MongoDB : la base NoSQL qui réinvente la gestion de données
 

Pimp My Legacy

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n