Séminaire novembre 2010 - Les CMS Open Source au service d'un web performant
Solutions Linux 2010
1. Industrialisation projet J2EE
dans un contexte SOA
REX Ministère Éducation nationale
SolutionsLinux 2010
FDL, CC-by-sa
2010-02-26
Franck VILLAUME
mailto:franck.villaume@capgemini.com
xmpp:fvill@im.apinc.org
2. Agenda
Contexte
Focus Architecture SOA et J2EE
Notre approche
Les outils sélectionnés
Architecture générale de la solution
Les points d'attention
Relations avec les communautés
Les gains immédiats
2
3. Contexte général
Refonte du système d'informations des ressources
humaines du ministère :
• gestion de + de 1,1M de personnes
• + de 100 corps et grades.
Marché de plusieurs années
Répartition géographique des équipes pilotage /
développement : Suresnes, Versailles, Aix-en-Provence,
Toulouse, Casablanca.
Fenêtre de mise en production : 3 fois par an
3
4. Focus architecture SOA et J2EE
Typologie de modules, de composants techniques.
Version des services, des modules portant les services,
des composants techniques inclus dans les modules.
Dépendances de versions des services et de versions
des composants techniques.
4
5. Notre approche : Nos besoins
Domaine humain
• Qui travaille sur quoi ?
• Augmenter la communication sans faire de bruits
• Péréniser la connaissance
• Assurer la distribution géographique (être capable d'être au plus
proche)
Domaine technique
• Démarrage rapide de projets
• Outillage J2EE
• Standardisation de la méthode de développement, de livraison
5
6. Notre approche : Forge logicielle hiérarchisée
Vision globale organisationnelle
• Programe > Produits > Projects > Modules Applicatifs
− SIRHEN est un “programme”. Ce programme est un ensemble de
produits. Un produit contient des projets. Les projets incluent des
modules applicatifs.
• Les modules applicatifs s'appuient sur des composants techniques
transverses.
Point d'accès unique tous profils d'utilisateur
• Du développeur au manager
•
Travail d'urbanisation important
• S'assurer au plus tôt du découpage fonctionnel pour assurer l'unicité
des services et la cohérence
6
7. Notre approche : La sélection des outils
Critères internes Capgemini
• Réutilisation de composants connus et éprouvés
• Compétences
•
Critères Ministère
• Réutilisation de composants déjà existants pour migration
Critères spécifiques par outil
• Communauté existante, reconnue, ouverte et fiable
• Solidité technique
• API disponible
• Documentation du code
• Maturité dans le domaine
7
8. Notre approche : Les outils sélectionnés 1/2
Gestion de la structure du programme
• Hiérarchisation des éléments et création de filation entre les objets
Gestion de la durée
• Pérénnité de la documentation
• Qualité et revue du code
• Roadmap, anomalies
8
9. Notre approche : Les outils sélectionnés 2/2
Gestion des dépendances et de la dette technique
Gestion des versions
Gestion géographique
• Architecture décentralisée
9
10. Notre approche : L'équipe
Pour construire la solution :
• 5 personnes temps plein
− 1 architecte
− 1 spécialiste Continuum / Archiva / Maven
− 2 développeurs
Pour faire vivre la solution :
• 2 personnes temps plein
− 1 exploitant / support
− 1 développeur
• 1 personne pilotage / architecture à temps partiel
10
12. Les points d'attention
Gestion des branches
• Subversion : merge ?
• Connaître l'état d'un projet dans une branche donnée
• Qualimétrie Sonar, Continuum build des branches
Sonar :
• Vue hiérarchisée (Plugin existant mais propriétaire)
Gestion du cycle de vie des services
• Annuaire UDDI ? JUDDI ? Choix actuel : Centrasite (outil propriétaire)
Conduite du changement
• Prise en main des outils par les acteurs
12
13. Relation avec les communautés
FusionForge :
• Communauté très ouverte, accueillante.
• Excellent dynamisme.
• Intégration de l'équipe de développement
MantisBT :
• Ouverture d'anomalies
• En cours d'analyse pour création de patchs pour reversement
• Reversement via bugtracker
Archiva :
• Ouverture d'anomalies
• En cours d'intégration de la nouvelle version d'archiva.
Pas de contacts pris avec les autres communautés.
13
14. Les gains immédiats : Automatisation J2EE
• Provisionning au sein de la forge depuis des archetypes maven
• Ajout au sein de la chaîne d'intégration continue
14
15. Les gains immédiats : Communication
• Outils disponibles immédiatement
−
− Mailing-lists
− Wikis
− Espace documentaire
− Gestion de tickets / Roadmap
− Page personnelle
− XMPP
15
18. Le futur
Continuer le reversement vers les projets :
• MantisBT : API
• FusionForge : plugin MantisBT
Capable de faire une release en un clic
• Améliorer l'intégration Continuum
Mise en place de plusieurs usines intégration continue
Gestion de la dette technique hiérarchisée
• Augmenter la visibilité du reporting
Enrichir les fonctionnalités de l'espace documentaire
FusionForge
Améliorer la prise en main des outils
18