Architecture Agile et développement durable

Documents pareils
Introduction Big Data

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

1 Actuate Corporation de données. + d analyses. + d utilisateurs.

Vision prospective et obstacles à surmonter pour les assureurs

Big Data? Big responsabilités! Paul-Olivier Gibert Digital Ethics

Ne renvoyez pas vos architectes! Utilisez-les avec agilité

Architecture Orientée Service, JSON et API REST

Les cinq premiers pas pour devenir vraiment agile à XP Day Suisse 2009 par Pascal Van Cauwenberghe et Portia Tung: La Rétrospective

accompagner la transformation digitale grâce au Big & Fast Data Orange Business Services Confidentiel 02/10/2014

L EFFET PARALLAXE N EST

Conditions gagnantes pour démarrer sa transition Agile

Comment utiliser les Réseaux Sociaux à des fins de conservation

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Devenez un véritable développeur web en 3 mois!

Augmenter la vélocité Agile avec l usine-service sur Azure

FINI LA RÉCRÉ PASSONS AUX MÉGADONNÉES

Assurer l avenir de votre activité grâce à l open marketing. Par David Mennie, Senior Director, Product Marketing, Acquia

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée

Les méthodes Agiles Introduction. Intervenant : Tremeur Balbous tremeur@agilegardener.com 04/09/2008

Les Bonnes PRATIQUES DU TEST LOGICIEL

HADOOP ET SON ÉCOSYSTÈME

Corrigés des premiers exercices sur les classes

Guide de référence pour l achat de Business Analytics

Doter votre organisation d une veille web automatisée à l aide de la technologie RSS! V. MAINJOT

Zoom sur le Software-Defined Datacenter EMC

Le cycle de développement des produits à la Société GRICS : une nouvelle approche

Enfants Agiles. La méthode Agile appliquée à l éducation

Cloud Computing. La révolution industrielle informatique Alexis Savin

Scrum + Drupal = Julien Dubois

Compte-rendu du petit-déjeuner. Vers l entreprise Agile

Votre laisser-passer pour les. Big Data Guide visuel

1 Chapitre Chapitre. Le coaching QU EST-CE QUE C EST?

Big Data. Concept et perspectives : la réalité derrière le "buzz"

Lisez ATTENTIVEMENT ce qui suit, votre avenir financier en dépend grandement...

Les offres de Xebia : Agilité, Big Data, Cloud, DevOps, Java & Friends, Mobilité et Web Oriented Architecture.

Cassandra et Spark pour gérer la musique On-line

Pour débuter sur LinkedIn

TOP. année promet d être BIG (Business Intelligence Growth) PRINCIPALES TENDANCES EN MATIÈRE DE SOLUTIONS DÉCISIONNELLES POUR 2013

BIGDATA AN 3 : UNE NOUVELLE ERE DE B.I.

Mettre en place une infrastructure Web nouvelle génération avec Drupal et Acquia

Cours en ligne Développement Java pour le web

HISTOIRE D UNE DIGITAL FACTORY

Gestion de projet Agile. STS IRIS Module «Gérer et organiser un projet informatique»

Les technologies du Big Data

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Master Informatique Aix-Marseille Université

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

De Zéro à Construire des expériences digitales uniques toujours à la pointe du web avec Acquia Cloud Site Factory

Agile Maroc 24 Novembre Méthodes agiles. Thierry Cros. Agile Maroc 24 novembre 2010

Guide des formations Formations aux Architectes et professionnels du bâtiment conformes aux crédits à la formation continue

Notre processus d embauche

Titre : La BI vue par l intégrateur Orange

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl , 17 novembre, Lyon. Alexis Sukrieh

Présentation du Club Info Saison 2010/2011

Germe Grenoble 4 22/06/2012. Intervenant: Bruno Sbille

Logiciels de Gestion de Projet: Guide de sélection

De à 4 millions. Khanh Tuong

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Les BRMS Business Rules Management System. Groupe GENITECH

Le BigData, aussi par et pour les PMEs

Guide de référence pour l achat de Business Analytics

«Est-ce que mon enfant est à risques?» Sécurité sur la rue

Urbanisation des systèmes d information

Architecture pragmatique pour la gestion du cycle de vie des applications (ALM)

DocForum 18 Juin Réussites d un projet Big Data Les incontournables

BIG DATA. Veille technologique. Malek Hamouda Nina Lachia Léo Valette. Commanditaire : Thomas Milon. Encadré: Philippe Vismara

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

KIT DE DÉMARRAGE SHAREPOINT DANS MICROSOFT AZURE

Collab : bâtir un réseau collaboratif d entreprise. Christian Roy Conseiller centre d expertise en collaboration Desjardins

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Vos données sont-elles adaptées à l informatique en nuage?

GT Big Data. Saison Bruno Prévost (Safran), Marc Demerlé (GDF SUEZ) CRiP Thématique Mise en œuvre du Big Data 16/12/14

REX Scrum Master du terrain

CENTAI : Big Data & Big Analytics Réunion DGPN / Thales Octobre 2013

Libérez votre intuition

Labs Hadoop Février 2013

Analyse comparative entre différents outils de BI (Business Intelligence) :

LES RESEAUX SOCIAUX SONT-ILS UNE MODE OU UNE REELLE INVENTION MODERNE?

Développement guidé par les tests d acceptation (ATDD/BDD) au Ministère de la défense nationale

Big data et données géospatiales : Enjeux et défis pour la géomatique. Thierry Badard, PhD, ing. jr Centre de Recherche en Géomatique

Présentation du PL/SQL

LIVRE BLANC Décembre 2014

Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de

Offre de services Revolution-rh.com

EXAMEN MODULE. «U4 Le client au cœur de la stratégie des entreprises» Jeudi 5 septembre h30 11h30. Durée 2 heures

ÉTAT DES LIEUX DE LA GESTION DE LA SÉCURITÉ ET DU BIG DATA

L étiquette des affaires: Les nouvelles règles à l ère du numérique

Edmond Cissé. URÆUS Consult Ingénierie & Sécurité des Données edcisse@uraeus-consult.com

Le présent chapitre porte sur l endettement des

Découverte et investigation des menaces avancées PRÉSENTATION

Business Intelligence, Etat de l art et perspectives. ICAM JP Gouigoux 10/2012

MANUFACTURIER. Cahier de candidature. Date limite pour soumettre votre candidature : 21 novembre 2014, 12 h

AVRIL Au delà de Hadoop. Panorama des solutions NoSQL

Transformation IT de l entreprise BPM ET APPROCHE MÉTIER

Dossier Special LE SOFTWARE DEFINED STORAGE

Les solutions ARCAD Software et Profound Logic pour la Modernisation d Entreprise sur IBM i

Le markéting en ligne. Joanie Mailhot Agente aux communications chez Mon Réseau Plus

Transcription:

Architecture Agile et développement durable FÉLIX-ANTOINE BOURBONNAIS B.ING., M.SC., PSM Agile Tour Québec 2014 5 novembre 2014

http://www.internetlivestats.com/ ^ 2

Je suis formateur et coach Je fournis à mes clients des outils techniques (architecture, tests ) et d équipe (Scrum) pour les aider à développer durablement Félix-Antoine Bourbonnais Elapse Technologies Image de gordonr / Flickr 3

Scrum sans pratiques de développement pour soutenir le rythme 4

Développement logiciel durable Gestion de projets durables + Architecture durable + Pratiques durables Image : http://robcleary photo. blogs pot.ca/2012/ 06/g reen-roof- cookfox.html 5

Nos prochains 75 minutes 6

Le FUTUR DU DÉVELOPPEMENT 7

L informatique est l ADN de nos entreprises 8

Ça bougeait vite Et ça bouge encore plus vite! 9

L infonuagique et «Big-Data» https://twitter.com/schmittma ddy/sta tus/453437767293624320 10

La base de données SQL n est plus la seule On a des entrepôts de données SQL NoSQL Hadoop WebServices Difficile de prédire le futur? Faut-il vraiment faire un choix? 11

Pouvons-nous changer demain? Est-ce que nos architecture permettent de changer et de nous adapter comme si de rien n était en maintenant notre vélocité? 12

Le défi moderne La maintenabilité! 13

Mais il ne faut surtout pas ralentir pour autant! Il faut livrer vite, sans compromis sur la qualité Il faut un code malléable! 14

Le développement logiciel est désormais un flot perpétuel Évitez de laisser la graisse s accumuler dans le tuyau! 15

Comment augmenter ma maintenabilité alors? Les principes d architecture durable existent! 16

L ARCHITECTURE LOGICIELLE DURABLE 17

Architecture durable On veut une architecture durable, modulaire et la plus indépendante que possible de la technologie On veut concilier l environnement avec l économie pour que la croissance perdure Hum 18

Mais Ceci n est pas une invitation au BDUF! (Big Design Up Front) 19

«A good architect maximizes the number of decisions not made» -- Robert C. Martin 20

OK Et concrètement? Décollage Notre petite abeille aura besoin d une bonne carte pour repérer toutes les fleurs offrant les divers nutriments pour faire le meilleur miel. 21

Architecture durable 2 e partie QUELQUES PISTES 22

Avertissement Rien n est noir ou blanc Tout est une question de connaître pour appliquer ou non les concepts selon le contexte 23

Le constat Les bases de l orientation objet ne sont peut-être pas aussi solides qu on le pense 24

Résultat 25

Le problème Faire une architecture durable, distribuée, découplée, etc. demande de faire des choix Mais sans maîtrise des modèles? 26

Quelques pistes LES BLOCS LÉGOS 27

Le POLYMORPHISME et les DÉPENDANCES 28

Inversion des dépendances La grande contribution de l OO est la capacité à inverser la dépendance par rapport au flot d exécution 29

L abstraction Le paradigme OO implique l utilisation d abstractions et d interfaces Chaque abstraction est un point d inflexion qui permet de réduire le couplage et de développer durablement! 30

Les dépendances Le polymorphisme est à la base même de l OO C est un «briseur de dépendances» puissant! On veut brancher les dépendances, pas les souder! 31

Briser les dépendances X SQLDb MapDb if( dbtype == SQL )... sqldb.query("select id..." else... mapdb.get(id) X Repository repository.findbyid(id) SqlRepo MapRepo 32

TELL DON T ASK 33

Le «Tell don t Ask» Image: sheelamohan et jscreationzs / FreeDigitalPhotos.net 34

Les PRINCIPES «SOLID» 35

Principes S.O.L.I.D. SRP Single Responsibility OCP Open Closed LSP Liskov Substitution ISP Interface Segregation DIP Dependency Inversion Image http://lostechies.com/derickbailey/2009/02/11/s olid- development-principles -in- motivational-pictures/ 36

Patrons «REPOSITORY» ET «FACTORY» 37

La Factory Factory = Usine 38

Le «Repository» Repository = Un entrepôt Son but est de déshydrater et réhydrater des objets Image de toolstop 39

Pourquoi? Trop souvent, la création est mélangée avec l entreposage ou la logique d affaires 40

Concepts associés Créer Utiliser Persister Transporter Factory Objets du domaine Repository DTO Image Bob Jagendorf, Yutaka Tsutano, SteelCityHobbies, Team 19 41

Astuce Ces concepts servent également pour attaquer le code patrimonial 42

Quelques pistes LES GRANDS MODÈLES ET CHOIX ARCHITECTURAUX 43

Avoir un DOMAINE ANÉMIQUE ou PEUT-ÊTRE PAS 44

Domaine anémique Domaine où les objets ont des données mais pas de comportements. Les comportements sont uniquement dans des objets «Managers» qui gèrent le domaine 45

«[ ] recommend putting a layer of procedural services on top of a domain model, to form a Service Layer. But this isn't an argument to make the domain model void of behavior [ ]» -- Martin Fowler http://www.martinfowler.com/bliki/a nemicdomainmodel.html 46

Conséquences courantes Duplication de la logique (DRY) Les «contrôleurs» et «Managers» deviennent gros. On voit la «God Class» approcher Une modification demande de modifier plusieurs «services» Prévoir les effets des modifications devient difficile (fragilité d un système) Difficile d étendre le système facilement sans avoir à modifier plusieurs classes 47

Est-ce mauvais? Non pas forcément (ex.: Rails) Mais est-ce un choix conscient ou par défaut? Avez-vous mesuré les désavantages en fonction de votre contexte?? 48

Active Record? Mêmes questions! Est-ce un choix conscient? Quel type d application (CRUD )? Micro-services? 49

Alternatives s.v.p.?!? Domaine riche DDD Repository 50

Les modèles HEXAGONAL, DDD et CLEAN ARCHITECTURE 51

Modèles architecturaux Hexagonal et Port & Adapter Le domaine d affaires est au centre Les préoccupations bas-niveau sont des «plugins» Ce qui nous ramène à l utilisation astucieuse de l abstraction http://www.duncannisbet.co. uk/hexag ona l-architecture-for- testers- part-1 52

Remarque Architecture hurlante de Bob Martin Les plans architecturaux d une maison doivent crier: «Ceci est une maison» Source: Robert C. Martin 53

Modèles architecturaux DDD Destiné à résoudre des problèmes (logique) complexes de design Centré sur le domaine «client» * Diagramme non officiel. Retenir l idée générale. http://www.zankavtaskin.com/2013/09/applied-domain- driven-design-ddd- part-1.html 54

Modèles architecturaux Clean Architecture http://blog.8thlight.com/ uncle- bob/2012/ 08/13/the-clean-architecture.html 55

Architecture durable CONCLUSION 56

Savez-vous ce que sera votre produit et la technologie dans 5 ans? Il n est pas nécessaire de deviner. Il faut simplement s outiller pour évoluer avec eux! 57

Mais l architecture durable n est pas suffisante Il reste les pratiques durables Tests, code propre 58

Resté sur sa faim? Contribuez à écrire la suite! Envoyez-moi vos questions et sujets par courriel ou Twitter. 59

Merci Mon nom Félix-Antoine Bourbonnais Mon courriel fbourbonnais@elapsetech.com Notre blogue developpementagile.com Nos Twitter @fbourbonnais @elapsetech Mon LinkedIn linkedin.com/in/fbourbonnais/fr 60

Vous voulez approfondir le sujet? Le contenu de cette présentation est couvert dans notre formation: Conception OO avancée Elapse Besoin de conseils personnalisés? Demandez à notre professionnel d aller vous visiter pour une journée ou deux! Elapse Accompagnement et diagnostics 61

Diapositives Ces diapositives sont disponibles sur notre blogue: http://developpementagile.com/ www.elapsetech.com 62