Download - Refonte du système d’information de l’ASP
Refonte du système d’information de l’ASPMarc HERMANCapgemini 2009
SommaireCapgeminiL’Agence de Service et de
PaiementLe projet DEFIGestion des anomaliesIntégration continueTests de performancesRefactoring et développement
CapgeminiUne des
premières SSII mondiales
1 octobre 1967 par Serge Kampf
9%
38%
37%
16%
Part des activités dans le CA
Conseil Intégration
Infogérance Services de proximité
Capgemini91 621
collaborateurs32 pays France
24%
Espagne / Por-tugal et
Amérique latine4% Italie
1%Pays nordiques7%
Royaume-Uni22%
Allemagne7%
Amérique du Nord19%
Asie-Pacifique1%
Benelux15%
Capgemini
2004 2005 2006 2007 2008
-800,000
-600,000
-400,000
-200,000
0
200,000
400,000
600,000
800,000
1,000,000
CA/10Résultat opéra-tionnelRésultat Net
L’ASPASP = Agence de Service et de
PaiementFusion de :
◦CNASEA = Centre National pour l’Aménagement des Structures des Exploitations Agricoles
◦AUP = Agence Unique de Paiement
L’ASP 454 436 stagiaires
◦ 301 millions d'euros pour l'Etat
◦ 395 millions d'euros pour les Régions
267 243 bénéficiaires de contrats emploi-solidarité (CES) ◦ 0,786 milliard d'euros
104 193 bénéficiaires de contrats emploi-consolidé (CEC)◦ 0,896 milliard d'euros
17 887 bénéficiaires de contrats nouveaux services, emplois-jeunes ◦ 1,228 milliard d'euros
2.3 Milliards €
4.9 Milliards €
7.2 Milliards €
Formation professionnelle
Domaine agricole
DEFIPourquoi
◦Transfert de compétence de l’Etat aux régions pour la formation professionnelle
◦Etat = Livre IX◦Régions = ?
Comment◦Refonte du système d’information
pour répondre aux exigences des régions
DEFI4000 jours hommes60 personnes sur 3 sitesContrat au forfait
Gestion de projet◦Méthode Y◦Scrum
DEFIArchitecture Complexe
◦Imposée par le client◦Inscrite dans l’architecture logicielle
de l’ASP◦Réutilisation des services existants
Nouvelles technologies◦SOA light◦J2EE Struts◦Maven 2
DEFI
Client
Serveurs HTTP
Serveurs applicatifs
Moteurs de base de données
Client
Services distants
Internet
NPS
TIMTAM
DEFI
Gestion des anomalies
Tests fonctionnels
Correction des anomalies
Validation par le responsable
des tests
Assignation d’une anomalie au responsable du processus
Passage de l’anomalie à l’état : résolu
Réouverture de l’anomalie
Confirmation de la correction
fermeture de l’anomalie
Gestion des anomaliesTests fonctionnels
◦Lectures de scénarii décrivant un cas fonctionnel
◦Exécution du scénario et vérification des résultats
◦Référence aux SFD si besoin◦Ouverture d’un bug sur Bugzilla
Rébarbatif mais utile à la compréhension fonctionnelle du projet
Gestion des anomaliesCorrection des anomalies
Compréhension du problème au niveau du code
Lecture du bug compréhension de la nature du problème
Répétition de l’erreur sur le serveur de test ainsi que sur le projet déployé localement sur son poste
de travail
Recherche de l’origine du problème
Correction de l’anomalie
Confirmation par les testeurs de la correction
Niveau général : couche
Niveau détaillé : processus, service, classes concernées
Problème technique : erreur de codage,
régression,…Problème
fonctionnel : oubli ou conflit au niveau des
spécifications
Gestion des anomaliesInstructif sur la manière de coder
◦S’imprégner du code du projet◦Rencontrer les principales sources
d’erreurs
Intégration continuePassage régulier (continu) de
tests et d’outils de qualité de code afin de connaître l’état du projet, son évolution et détecter les régressions◦Donne un référentiel
Serveur d’intégration en panne depuis mon arrivée sur le projet
Intégration continueCycle de production basé sur
Maven 2◦Fichier de configuration (POM) de
type XMLPrincipaux problèmes
◦Version des librairies utilisées◦Non configuration des outils
M’a permis de comprendre de manière précise l’architecture technique du projet
Intégration continue
Tests de performancePerception
mauvaise des performances de l’application
Besoin de définir un périmètre
OpenSTA
Nombre d’utilisateurs simultanés <100 >100
Temps d'affichage des pages de connexion 1 sec. 1 sec
Temps d'affichage des pages de consultation simple
1 sec. 3 sec
Temps d'affichage des pages de transaction simple de mise à jour
3 sec. 5 sec
Temps d'affichage des pages de transaction complexe de mise à jour
10 sec. 15 sec
Temps d'affichage des interactions ponctuelles - mise à jour de données métiers
2 sec. 4 sec
Temps d'affichage des éditions (type pdf) 4 sec. 4 sec
Tests de performance
Tests de performance
1
•Définition des scénarii
2
•Enregistrement des scénarii
3
•Définition des métriques mises en œuvre
4
•Analyse des résultats
5
•Redéfinition des exigences
Tests de performance
14:24:00 14:38:24 14:52:48 15:07:12 15:21:36 15:36:00 15:50:24 16:04:480
5
10
15
20
25
30
35
40
0
5
10
15
20
25
30
Timer secondes
Moving average (Timer secondes)
VU
secondes
VU
Refactoring et développement
Inversion de contrôle◦Découplage des couches◦Framework Hivemind
Injection de dépendances pour la conversion des objets métiers◦Découplage de la couche de
coordination avec les converters◦Framework Dozer
Refactoring et développementProblèmes de qualité de codeAntériorité du code avec des
standards mis en place sur le projet
Présence de nombreux bouchonsManques de fonctionnalités
=> Réécriture de certains écrans de l’application
Conclusion