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
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
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
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
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
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
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
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
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
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
Architecture générale




                        11
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
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
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
Les gains immédiats : Communication

 • Outils disponibles immédiatement



   −


   − Mailing-lists
   − Wikis
   − Espace documentaire
   − Gestion de tickets / Roadmap
   − Page personnelle
   − XMPP




                                      15
Les gains immédiats : Organisation technique




                                               16
Les gains immédiats : montée en charge




   Dans 3 mois : 500 personnes


                                         17
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
Questions ?

Merci pour votre écoute.




               Franck VILLAUME
               mailto:franck.villaume@capgemini.com
               xmpp:fvill@im.apinc.org

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 SOAet 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
  • 11.
  • 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 lescommunauté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
  • 16.
    Les gains immédiats: Organisation technique 16
  • 17.
    Les gains immédiats: montée en charge  Dans 3 mois : 500 personnes 17
  • 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
  • 19.
    Questions ? Merci pourvotre écoute. Franck VILLAUME mailto:franck.villaume@capgemini.com xmpp:fvill@im.apinc.org