Industrialisation des développements NovaForge, l usine de développement logiciel de Bull Emmanuel Rias emmanuel.rias@bull.net 1
Agenda Introduction NovaForge Processus d un projet dans NovaForge et Fonctionnalités Architecture et RoadMap NovaForge et BULL dans Qualipso et OW2 Conclusion 2
NovaForge L usine de développement logiciel de Bull : Une plateforme industrielle partagée et sécurisée pour améliorer la productivité des développements en environnement distribué,» Inspirée du modèle de développement de logiciel Open Source : travail collaboratif, partage de l information, organisation projet, Adaptée aux contraintes industrielles de l entreprise par une utilisation en interne Bull depuis plusieurs années, Composée de produits Open Source, intégrée à l offre Libre Énergie, NovaForge bénéficie du support Libre Accès. 3
NovaForge Cinq Fonctions Contrôler en temps réel l avancement de vos projets Améliorer la qualité grâce à un processus industriel d intégration, de tests et de déploiement Capitaliser sur les meilleures pratiques Partager les informations de façon structurée et sécurisée Bénéficier d un environnement flexible et évolutif de développement logiciel 4
Agenda Introduction NovaForge Processus d un projet dans NovaForge et Fonctionnalités Architecture et RoadMap NovaForge et BULL dans Qualipso et OW2 Conclusion 5
NovaForge Processus projet dans NovaForge 6
Accès à Novaforge2 7
NovaForge Référentiel Référentiel documentaire Template de documents Spécification fonctionnelle, technique Exemples Documents Architecture User Guide Bonnes pratiques Livrables Possibilités de construire dynamiquement son référentiel à partir de ses propres documents 8
Gestion documentaire Manage Versions 9
Gestion des versions de documents 10
Accès WebDav au référentiel documentaire 11
NovaForge Pilotage Intégration et adaptation de Salomé Permet de Saisir les exigences d un projet et de les lier avec les tests unitaires ou fonctionnels Décrire les cas de tests, les suites de tests les familles de test (automatiques ou manuels) Precondition, Postcondition, Action Générer les cahiers de tests Définir les campagnes de tests et les exécuter Faire le lien avec le bugtracker Mantis en insérant automatiquement un bug avec la description du test réalisé «Pont» entre Enterprise Architect et NovaForge 12
Gestion des exigences dans Entreprise Architect 13
Tracabilité Exigence Use Case 14
Matrice de Traçabilité Exigence / Use Case - EA Use Case Exigences 15
Gestion des exigences dans Salomé 16
Exigences vs scénario de tests dans Salomé 17
Couverture Exigences / Tests dans Salomé 18
NovaForge Intégration Continue Portail de l intégration continue Possibilité de publier des composants applicatifs pour d autres projets (Hiérarchie de repository avec Archiva) Pilotage de l intégration continue (avec Hudson) Gestion de l automatisation Configuration et process de l intégration continue permettant de :» Checkout des sources» Compilation» Exécuter les tests» Générer la javadoc» Vérifier la qualité du code» Vérifier la couverture des tests» Configuration des rapports de synthèse Possibilité de dissocier la configuration de la construction de l application (Développement, NovaStudio) de la configuration de l intégration continue (Intégration) 19
NovaForge Intégration Description technique Hiérarchie de repositories Maven Remote Repository 1 central Remote repository 2 Remote repository N Enterprise Repository Project Repository 1 Project Repository 2 Project Repository N Project 2 Developer Repository Project 2 Developer Repository Project 2 Developer Repository 20
Intégration continue - Hudson État de santé du projet 21
Détail des builds d un projet 22
Historique des builds 23
État des violations qualité 24
NovaForge Collaboratif Gestion de sources CVS Subversion BugTracker Mantis GForge Tracker Forum Mail Calendar Agenda Wiki DocuWiki 25
Gestion des anomalies dans Mantis 26
Roadmap Mantis 27
Tableaux de bord Mantis 28
NovaForge Développement Modélisation UML Enterprise Architect Guide du concepteur de l IHM(Existant) Guide du concepteur du Métier (Existant) Guide du concepteur des Tests Unitaires (Août 2008) Guide du concepteur des Tests fonctionnels (Fin janvier 2008) Fichier d échange XMI Environnement de Développement Générateur du code IHM Struts et Struts Portlet (Existant) JSF (Août 2008) Générateur des tests unitaires Sur Junit (Août 2008) Générateur du code Métier Sur J2EE (EJB3, EJB2, Classes) (Existant) Sur PHP (Avril 2008) Sur.NET (Août 2008) Générateur des tests fonctionnels Sur Selenium (Fin janvier 2008) 29
NovaForge Développement NovaStudio, Architecture applicative 30
NovaForge Développement NovaStudio, Génération de code Génération de code basé sur le choix de l implémentation 31 Même architecture logique classespour toutes classesles implémentations JDK Session Facade Business Services Persistent Framework J2EE framework (EJB3) 1.5 EJB3 EJB3 EJB3 J2EE framework (EJB2) 1 J2EE framework (EJB2) 2 WEB framework (1.4) 1 1.4 Simple classes WEB framework (1.4) 2 1.4 Simple 1.4 EJB2 EJB2 Hibernate 3 1.4 EJB2 EJB2 JDO (Speedo) Simple classes Simple Hibernate 3 JDO (Speedo)
Agenda Introduction NovaForge Processus d un projet dans NovaForge et Fonctionnalités Architecture et RoadMap NovaForge et BULL dans Qualipso et OW2 Conclusion 32
NovaForge : Architecture basée sur un portail Développement IHM Services Métier Collaboratif Collaboratif Infos projet Contexte utilisateur Mantis GForge GCL / SCM Portlets Intégration Continue Intégration Maven Archiva Hudson Pilotage Pilotage Salomé-tmf NovaCockpit TBD NovaForge v2 33
NovaForge : Architecture cible (V3) IHM Services Interfaces Métier Référentiel I Référentiel Référentiel Collaboratif I BugTracker I Forum I Wiki I GCL Mantis phpbb xwiki/mediawiki SVN Portlets I Project Maven Intégration Continue Pilotage I Repositories I Scheduler I Avancement I Exigence Test I TBD Maven Repositories Maven Scheduler NovaCockpit Salomé-tmf TBD NovaForge v3 34
NovaForge Roadmap des Fonctionnalités 35
Agenda Introduction NovaForge Processus d un projet dans NovaForge et Fonctionnalités Architecture et RoadMap NovaForge et BULL dans Qualipso et OW2 Conclusion 36
Qualipso Une grande ambition pour l Open Source Cadre administratif Projet européen FP6-IST, lancé le 1er Novembre 2006, 22 partenaires Européens, Brésiliens et Chinois, sur 4 ans pour un investissement de 22 M (14 financés). Une forge de nouvelle génération qui s appuie sur l existant Un point de départ sur un existant métier qui a fait ses preuves : ( Vulcano Gforge (Novaforge, NovaForge est la forge de développement de la forge Qualipso L intégration de cet existant dans une architecture dynamique de services web distants articulés autour de l'esb Petals d'ow2 Approche permettant l évolution des forges existantes Capacité de factoriser la gestion des utilisateurs, l authentification et le contrôle d accès La capacité d intégrer de nouveaux services ou des services spécialisées dans cette architecture, notamment du synchrone : ( jabber voix sur IP (base asterisk), instant messenging (base 37
NovaForge Open Source sur OW2 Décision de BULL de passer NovaForge en OpenSource Toutes les parties collaboratives Toutes les parties d intégration Toutes les parties de développement incluant la génération de code Création d un projet NovaForge sur OW2 avec publication des sources et des releases 38
Agenda Introduction NovaForge Processus d un projet dans NovaForge et Fonctionnalités Architecture et RoadMap NovaForge et BULL dans Qualipso et OW2 Conclusion 39
NovaForge En résumé NovaForge, l outil de développement industriel de Bull : L expression de notre expérience et notre méthodologie de développement Basé sur les outils de référence du marché, majoritairement Open Source La capitalisation de dizaines de projets R&D et de nos centres de services NovaForge, un outil à la disposition de nos clients : NovaForge outille et instrumente vos processus pour faciliter l industrialisation Plate-forme de développement collaboratif complète et à l état de l art Mode hébergé sécurisé ou mise à disposition dans les centres de développement client Avec tous les services d accompagnement Bull (formation, conseil, exploitation, assistance au développement, ) 40
41