architecture héxagonale

19
ARCHITECTURE ARCHITECTURE HÉXAGONALE HÉXAGONALE HUMAN TALKS LYON HUMAN TALKS LYON 11 OCTOBRE 11 OCTOBRE 2016 2016

Upload: jean-detoeuf

Post on 15-Feb-2017

13 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Architecture héxagonale

ARCHITECTUREARCHITECTUREHÉXAGONALEHÉXAGONALE

HUMAN TALKS LYONHUMAN TALKS LYON11 OCTOBRE 11 OCTOBRE 20162016

Page 2: Architecture héxagonale

EN 10 MINUTES !EN 10 MINUTES !

Page 3: Architecture héxagonale

JEAN DETOEUFJEAN DETOEUFDÉVELOPPEURDÉVELOPPEUR

Passionné de nouvelles technologies

#jvm #docker #craftsmanship #rpi #diy

Page 4: Architecture héxagonale

Qui a déjà tenté de changer de framework (DI, ORM, ...) ?

C'est galère ?

Page 5: Architecture héxagonale

Code framework au milieu du code métierDifficulté pour changer de frameworkTests trop lourds

Page 6: Architecture héxagonale

ARCHITECTURE EN COUCHEARCHITECTURE EN COUCHESimple à comprendreMontre le flux de données

Page 7: Architecture héxagonale

ARCHITECTURE EN COUCHEARCHITECTURE EN COUCHESimple avec une couche de présentation et une couche depersistenceLes couches se mélangent dans le code

Page 8: Architecture héxagonale

ARCHITECTURE HÉXAGONALEARCHITECTURE HÉXAGONALEPermet d'isoler le code métier du code d'infrastructureAgnostique : amenez votre langage préféréFramework killer

Page 9: Architecture héxagonale

LANCEMENT D'UN PROJETLANCEMENT D'UN PROJETReporter les choix techniquesConnaissance métier limitée en début de projet

Temps

Connaissancemétier

Page 10: Architecture héxagonale

CONCEPTCONCEPTCode métier sans bibliothèque ni frameworkCode technique dans des modules séparés

Métier

API REST

BDD Oracle BDDCassandra

IHM

Alertes

Messaging

Page 11: Architecture héxagonale

TESTS SIMPLIFIÉSTESTS SIMPLIFIÉSDécoupage des taches simplifiéTDD : dev/test métier, puis autres modulesTests métier sans avoir à gérer l'infraValidation rapide du métier

Page 12: Architecture héxagonale

ON COMMENCE QUAND ?ON COMMENCE QUAND ?nouveau projet : simple à mettre en placeprojet existant : démêlage de spaghettis

Page 13: Architecture héxagonale

PERSPECTIVESPERSPECTIVESChanger de frameworkChanger de BDDMigrer une partie des données (ie. SQL vers NoSQL)Ajouter une interface (API, messaging, autre IHM)

Page 14: Architecture héxagonale

PERMÉABILITÉPERMÉABILITÉImpossible d'utiliser du code "infra" dans le module"métier"Rien n'empêche d'avoir du code "métier" qui se retrouvedans les modules "infra"

Page 15: Architecture héxagonale

RETOUR D'EXPÉRIENCERETOUR D'EXPÉRIENCEC'est le code "métier" qui va diriger le code "infra"Penser à la performance (ie requête SQL dans une boucle)

Page 16: Architecture héxagonale

DANS QUELS CAS NE PAS L'UTILISERDANS QUELS CAS NE PAS L'UTILISERFrameworkLibrairieModule technique

Page 17: Architecture héxagonale

PREMIER PAS VERS LE DDDPREMIER PAS VERS LE DDDFaire communiquer plusieurs héxagones, chacunreprésentant un métier séparéUn amateur pour faire une présentation du DDD ?

Page 18: Architecture héxagonale

QUESTIONS ?QUESTIONS ?

Page 19: Architecture héxagonale

MERCI POUR VOTRE ÉCOUTEMERCI POUR VOTRE ÉCOUTE

Cette présentation :

@thebignetthebignet

talk-archi-hexa