Aux frontières des frameworks - Bdx.io 2015

Aux frontières des frameworks - Bdx.io 2015

Certains les disent indispensables, d’autre inutiles… à travers une étude de cas, nous essayerons de répondre à cette question.

Beb422437c1dfb5366f197919e41ac50?s=128

Arnaud LEMAIRE

October 16, 2015
Tweet

Transcript

  1. None
  2. None
  3. AUX FRONTIÈRES DES FRAMEWORK @lilobase Arnaud LEMAIRE @BodySplash Jean-Baptiste Dusseaut

  4. COMPLEXITÉ

  5. Notre métier consiste à maintenir sous contrôle, la complexité intellectuelle

    des systèmes logiciels
  6. Complexité essentielle Complexité accidentelle

  7. Complexité Complexité essentielle Complexité accidentelle La complexité d’un projet est

    une somme :
  8. Notre métier consiste à faire tendre la complexité d’un système

    logiciel vers sa complexité essentielle
  9. Notre profession est fière de la complexité

  10. Quantité de Code & Couplages La complexité est fonction de

    Eliminez le « au cas où » (YAGNI)
  11. ENTROPIE

  12. Glissement inexorable et naturel vers un désordre croissant

  13. dette technique ≠ décomposition du logiciel L’entropie est la première

    source de décomposition logicielle
  14. L’entropie est accélérée par la complexité L’entropie est accéléré par

    l’utilisation d’un framework
  15. Projet Legacy

  16. INDUSTRIALISATION

  17. Il y a une vrai incompréhension derrière la notion d’industrialisation

    logicielle
  18. Temps Fonctionnalités

  19. Temps Fonctionnalités exp(temps) log(temps) 6 mois

  20. L’accent à été mis sur les procédures et non sur

    l’expertise des développeurs Un framework c’est de la bureaucratie applicative
  21. MÉTIER VS TECHNIQUE

  22. Les problématiques que nous devons résoudre sont métier Nous sommes

    payés pour résoudre ces problème métier Nous sommes payés pour écrire du code métier
  23. Les problématiques que nous devons résoudre sont métier Les frameworks

    ont été conçu pour résoudre des problèmes techniques L’on essaye d’appliquer le cadre de solution du framework sur la problématique métier
  24. Business-technique mismatch Où est ce que je mets ce p*tain

    de code ?
  25. Technique Métier Le métier se retrouve obfusqué par la technique

  26. Métier Technique La technique doit venir en soutien du métier

  27. MVC est un pattern de présentation V C M MVC

    n’est pas une architecture applicative V C M
  28. HOLLYWOOD

  29. Don’t call us We call you Inversion de contrôle

  30. Framework Code applicatif Un framework est une inversion de contrôle

  31. C’est le framework qui interprète l’intention utilisateur et qui appelle

    le code correspondant Vous n’avez plus la maîtrise de l’intention utilisateur Pourquoi ce foutu code est ici ?
  32. Code applicatif bibliothèque C’est vous qui appelez la bibliothèque !

  33. LE MONOLITHE

  34. Une application à plusieurs contextes métier

  35. None
  36. None
  37. DB DB DB DB

  38. La philosophie UNIX Architecture orientés services Micro-services

  39. PROTOTYPES

  40. Le principe des 80/20 facile trivial difficile impossible

  41. Ce que le management voit, le management garde ! Les

    prototypes partent toujours en production
  42. Culture replication

  43. LET THE MAGIC DIES

  44. - Grady Booch « The amateur programmer is always in

    search of magic » Ne nous jetons pas sur tout ce qui brille
  45. Apprenez les concepts, pas les outils Développer en … Développer

    dans … Acquérez du savoir sur le long terme
  46. OUI MAIS…

  47. OUI MAIS, C’EST BIEN POUR PROTOTYPER • Vous allez prototyper

    facilement la partie technique, celle qui apporte le moins de valeur • Ça va se retrouver en production…
  48. OUI MAIS, C’EST BIEN POUR LES DÉBUTANTS • ça ne

    donne pas les meilleurs réflexes • vous n’avez que des débutants ?
  49. OUI MAIS, ÇA PERMET D’ALLER PLUS VITE • Pas tant

    que ça, • que sur les 6 premiers mois…
  50. OUI MAIS, C’EST UN PROJET JETABLE • … • Souvent

    même les projets mort reviennent à la vie
  51. OUI MAIS, J’AI PAS DE BUDGET • Faîtes vous accompagner

  52. L’innovation ne viendra jamais de ce que vous pouvez faire

    avec un framework
  53. DÉCOUPLAGE

  54. None
  55. ORCHESTRATOR

  56. Traitements métiers Render Traitements des paramètres Paramètres HTTP

  57. Paramètres HTTP Orchestrator

  58. BRIDGES

  59. Code métier Bridge Framework Configuration Dépendances Enregistrement

  60. Code métier Bridge Framework A Code métier Bridge Framework B

  61. COMMAND-BUS

  62. Command bus Decorator Decorator Decorator Cache Validation Transaction CommandHandler CommandHandler

    CommandHandler Intention utilisateur
  63. LE FRAMEWORK SERT À QUOI FINALEMENT ?

  64. Les framework savent très bien gérer les I/O web

  65. Le framework Votre code Le monde extérieur

  66. MERCI @lilobase @bodysplash Aller plus loin : • Models and

    Service Layers, Hemoglobin and Hobgoblins • Architecture the lost years