© SQLI GROUP – 2012
THÉMATIQUES
Comprendre les frameworks productifs
Découvrir leurs usages
Synthèse
2
© SQLI GROUP – 2012
LES ENJEUX DES FRAMEWORKS D’ENTREPRISE EN 2012
3
LE CONSTAT
Usages • Web 2.0 • Réseaux sociaux • Mobilité • API
Enjeux
Techniques • HTML5 • Cloud • NoSQL • Performances
Ressources • Recrutement • Flexibilité • Intérêt • Montée en
compétence
Organisationnels • Time-to-market • Planification • Maintenance • Agilité
© SQLI GROUP – 2012
NOUVEAUX SOCLES TECHNIQUES INTÉGRATION CLASSIQUE
5
Struts Hibernate
GWT EJB
Spring
JMS
© SQLI GROUP – 2012
NOUVEAUX SOCLES TECHNIQUES INTÉGRATION PRODUCTIVE
6
Struts Hibernate
GWT EJB
Spring
JMS
Framework productif
© SQLI GROUP – 2012
NOUVEAUX SOCLES TECHNIQUES
+ DEPUIS 2005
+ OBJECTIFS
SIMPLIFIER LE DÉVELOPPEMENT WEB CONCENTRER LES BONNES PRATIQUES
7
RUBY ON RAILS
© SQLI GROUP – 2012
NOUVEAUX SOCLES TECHNIQUES
8
ACTEURS PRINCIPAUX
Ruby
PHP
Python
Java Groovy Scala
© SQLI GROUP – 2012
2005 2006
2007 2008 2009 2010 2011 2012 2013
NOUVEAUX SOCLES TECHNIQUES
9
ÉVOLUTION
Rails 1.x Rails 2.x Rails 3.x
Play! 1.x 2.x
Spring Roo 1.x
Symfony 1.x 2.x
CakePHP 1.x
Grails 1.x
2.x
2.x
Java EE 5.0 Java EE 6.0 J2EE 1.4
7.0
© SQLI GROUP – 2012
POURQUOI SONT-ILS PRODUCTIFS ?
11
Définition Conception Réalisation Recette Déploiement Maintenance
© SQLI GROUP – 2012
POURQUOI SONT-ILS PRODUCTIFS ?
+ AVEC DES MÉTHODOLOGIES LEAN (KANBAN, KAIZEN, …) AGILES (SCRUM, XP, …) DEVOPS
+ AVEC LES TECHNOLOGIES MONTANTES
CLOUD PAAS NOSQL BIGDATA RÉSEAUX SOCIAUX
•OAuth, OpenID …
INTÉGRATION NATURELLE
12 Définition Conception Réalisation Recette Déploiement Maintenance
© SQLI GROUP – 2012
POURQUOI SONT-ILS PRODUCTIFS ?
+ 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 …
13
ARCHITECTURE
Définition Conception Réalisation Recette Déploiement Maintenance
© SQLI GROUP – 2012
POURQUOI SONT-ILS PRODUCTIFS ?
+ CONVENTION OVER CONFIGURATION
+ LANGAGES DYNAMIQUES RUBY JAVA PYTHON GROOVY …
+ ARCHITECTURE SIMPLE
•Couche DAO nécessaire ?
14
DÉVELOPPEMENT
Code
Build
Déploiement
Test
Code
Test
Définition Conception Réalisation Recette Déploiement Maintenance
© SQLI GROUP – 2012
POURQUOI SONT-ILS PRODUCTIFS ?
+ 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
OUTILLAGE
15 Définition Conception Réalisation Recette Déploiement Maintenance
© SQLI GROUP – 2012
POURQUOI SONT-ILS PRODUCTIFS ?
16
DÉPLOIEMENT STANDARD EN INTERNE
16
Environnement de déploiement Java EE
Définition Conception Réalisation Recette Déploiement Maintenance
© SQLI GROUP – 2012
POURQUOI SONT-ILS PRODUCTIFS ?
+ 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
RESSOURCES
© SQLI GROUP – 2012
USAGES
+ 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
PERFORMANCES
© SQLI GROUP – 2012
USAGES
+ CHARGES RÉDUITES
+ DÉLAIS DE RÉALISATION COURTS
+ MAINTENANCE AISÉE
20
« VITE-FAIT, BIEN FAIT »
© SQLI GROUP – 2012
USAGES
+ FORMULAIRES DE SAISIE
+ RESTITUTION D’INFORMATIONS FORMATÉES
+ CRUD AUTOMATISÉ À PARTIR DU MODÈLE DE DONNÉES
21
MANIPULATION DE DONNÉES
© SQLI GROUP – 2012
USAGES
+ 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
PROTOTYPAGE
© SQLI GROUP – 2012
USAGES
+ BACK-END D’APPLICATIONS MOBILES •Services métiers permettant d’alimenter les applications mobiles
+ API DE DÉVELOPPEMENT •Open-data, …
23
EXPOSITION D’API OU DE SERVICES
© SQLI GROUP – 2012
USAGES
+ 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
FAQ
© SQLI GROUP – 2012
SYNTHÈSE
26
ANALYSE SWOT
Forces • Intégrés • Mûrs et répandus • Plaisir • Full HTML5 • Projets < 300 J/H
Faiblesses • Adaptation à
certains contextes d’Entreprise
• Ecosystèmes parfois restreint
• Projets > 1500 J/H
Opportunités • WOA • Cloud PaaS • Méthodes Agiles • Réseaux sociaux
Menaces • Pérennité éditeurs • Développeurs
compétents