THÉMATIQUES Comprendre les frameworks productifs Découvrir leurs usages Synthèse 2
LES ENJEUX DES FRAMEWORKS D ENTREPRISE EN 2012 LE CONSTAT Ressources Recrutement Flexibilité Intérêt Montée en compétence Techniques HTML5 Cloud NoSQL Performances Enjeux Organisationnels Time-to-market Planification Maintenance Agilité Usages Web 2.0 Réseaux sociaux Mobilité API 3
NOUVEAUX SOCLES TECHNIQUES INTÉGRATION CLASSIQUE Struts Spring Hibernate GWT JMS EJB 5
NOUVEAUX SOCLES TECHNIQUES INTÉGRATION PRODUCTIVE Struts Spring Hibernate Framework productif GWT JMS EJB 6
NOUVEAUX SOCLES TECHNIQUES RUBY ON RAILS + DEPUIS 2005 + OBJECTIFS SIMPLIFIER LE DÉVELOPPEMENT WEB CONCENTRER LES BONNES PRATIQUES 7
NOUVEAUX SOCLES TECHNIQUES ACTEURS PRINCIPAUX Ruby PHP Java Groovy Scala Python 8
NOUVEAUX SOCLES TECHNIQUES ÉVOLUTION 2005 2006 2007 2008 2009 2010 2011 2012 2013 Rails 1.x Rails 2.x Rails 3.x Play! 1.x 2.x Grails 1.x 2.x Spring Roo 1.x Symfony 1.x 2.x CakePHP 1.x 2.x J2EE 1.4 Java EE 5.0 Java EE 6.0 7.0 9
POURQUOI SONT-ILS PRODUCTIFS? Définition Conception Réalisation Recette Déploiement Maintenance 11
POURQUOI SONT-ILS PRODUCTIFS? INTÉGRATION NATURELLE + AVEC DES MÉTHODOLOGIES LEAN (KANBAN, KAIZEN, ) AGILES (SCRUM, XP, ) DEVOPS + AVEC LES TECHNOLOGIES MONTANTES CLOUD PAAS NOSQL BIGDATA RÉSEAUX SOCIAUX OAuth, OpenID Définition Conception Réalisation Recette Déploiement Maintenance 12
POURQUOI SONT-ILS PRODUCTIFS? ARCHITECTURE + BASÉE SUR LES PRINCIPES DU WEB HTTP, REST : client-serveur, sans état, qui peut se mettre en cache + «FULLSTACK» DE LA PERSISTANCE A L IHM «CA FONCTIONNE» + AJOUT DE FONCTIONNALITÉS PAR «PLUGINS» SERVICES TIERS Emails, BDD, GED, CRUD RÉSEAUX SOCIAUX Définition Conception Réalisation Recette Déploiement Maintenance 1 3
POURQUOI SONT-ILS PRODUCTIFS? DÉVELOPPEMENT Code Build Déploiement Test + CONVENTION OVER CONFIGURATION + LANGAGES DYNAMIQUES RUBY JAVA PYTHON GROOVY + ARCHITECTURE SIMPLE Couche DAO nécessaire? Code Test Définition Conception Réalisation Recette Déploiement Maintenance 1 4
POURQUOI SONT-ILS PRODUCTIFS? OUTILLAGE + GÉNÉRATION DE CODE CRUD à partir du modèle de données + TÂCHES AUTOMATISÉES Build : préprocesseurs JS, CSS + ENVIRONNEMENT DE DÉVELOPPEMENT STABILISÉ + INTÉGRATION NATIVE DES TESTS AUTOMATISÉS Définition Conception Réalisation Recette Déploiement Maintenance 15
POURQUOI SONT-ILS PRODUCTIFS? DÉPLOIEMENT STANDARD EN INTERNE Environnement de déploiement Java EE Définition Conception Réalisation Recette Déploiement Maintenance 16 16
POURQUOI SONT-ILS PRODUCTIFS? RESSOURCES + PLAISIR DE DÉVELOPPER + MONTÉE EN COMPÉTENCE RAPIDE FORMATION RÉDUITE DÉVELOPPEUR EFFICACE RAPIDEMENT + RECRUTEMENT CIBLÉ + PERMET D ATTIRER DE NOUVEAUX TALENTS 17
USAGES PERFORMANCES + PERFORMANCES AU CŒUR DE CES FRAMEWORKS ASYNCHRONISME API NON BLOQUANTES PATTERNS INNOVANTS NoSQL, + ARCHITECTURE SCALABLE Horizontale Klout : 1 milliard de requêtes par jour 19
USAGES «VITE-FAIT, BIEN FAIT» + CHARGES RÉDUITES + DÉLAIS DE RÉALISATION COURTS + MAINTENANCE AISÉE 20
USAGES MANIPULATION DE DONNÉES + FORMULAIRES DE SAISIE + RESTITUTION D INFORMATIONS FORMATÉES + CRUD AUTOMATISÉ À PARTIR DU MODÈLE DE DONNÉES 21
USAGES PROTOTYPAGE + TESTER UNE IDÉE OU UN CONCEPT, MÊME À GRANDE ÉCHELLE + GESTION D ÉVÈNEMENTIELS Concours, évènements spéciaux (sportifs, ) Intégration avec réseaux sociaux souvent nécessaire + EXPÉRIENCES DE VALIDATION FONCTIONNELLE + EXPERIMENTATIONS 22
USAGES EXPOSITION D API OU DE SERVICES + BACK-END D APPLICATIONS MOBILES Services métiers permettant d alimenter les applications mobiles + API DE DÉVELOPPEMENT Open-data, 23
USAGES FAQ + ILS PEUVENT ÊTRE LE SOCLE D UN SYSTÈME D INFORMATION NON Si applications monolithiques ou construites pour 10+ ans OUI Si architecture SOA ou WOA ou durées de vie courte ou moyenne + CE SONT DES BRIQUES INCOMPATIBLES AVEC UN EXISTANT NON, ELLES PEUVENT S INSÉRER DANS VOTRE SI Web Services, plateforme d intégration continue (PIC), + ILS SONT UN SACRIFICE DE LA QUALITE NON Plateformes d intégration continue, outils d analyse de code, reporting, 24
SYNTHÈSE ANALYSE SWOT Forces Intégrés Mûrs et répandus Plaisir Full HTML5 Projets < 300 J/H Opportunités WOA Cloud PaaS Méthodes Agiles Réseaux sociaux Faiblesses Adaptation à certains contextes d Entreprise Ecosystèmes parfois restreint Projets > 1500 J/H Menaces Pérennité éditeurs Développeurs compétents 26