1. MDDAY 2011
BLU AGE®
Modernisation d’application avec
Blu Age
Jeudi 24 Novembre 2011
Contact:
a.henry@bluage.com
Trademarks are property of their respective owners.
Eclipse, Built on Eclipse and Eclipse Ready, BIRT, Higgins are trademarks of Eclipse Foundation, Inc.
MDA, UML and MDD are either registered trademarks or trademarks of Object Management Group, Inc. in the United States and/or other countries.
20. Le projet de modernisation
La voie de l’Ingénierie des Modèles est ouverte..
Unissons nos Talents
TALENTED TOGETHER
Le projet de modernisation – MDDAY 2011 20
21. Sommaire
Motivations
Solutions candidates
Principes de l’Ingénierie des modèles
Démarche de modernisation par les modèles
Phase de Reverse Ingénierie
Phase de Forward Ingénierie
Qualification en boîte noire
La gestion des évolutions
Le choix de Bluage en modernisation
Retour d’expérience projet
Conclusion
Le projet de Modernisation – MDDAY 2011 21
22. Motivation : Les déclencheurs
Motivations à la modernisation des applications Fréquence
de citation
Changement ou refonte des processus métiers 8/10
Incapacité à servir correctement la chaine de valeurs 8/10
Limitations intrinsèques liées à leur conception 7/10
« Pappy boom » et perte de connaissances 7/10
Le projet de Modernisation – MDDAY 2011 22
23. Motivation : Les applications cibles
Classification des applications à moderniser Fréquence
de citation
Non maintenables, non évolutives, 8/10
Incapables de servir le métier et l’organisation.
Manque d’agilité.
Matériels et/ou Logiciels obsolètes ou non supportés 8/10
Incompatibilité avec les choix d’architecture d’entreprise 7/10
Risques sur la sécurité, l’intégrité, la confidentialité 5/10
Documentation non disponible, limitée ou dépassée 4/10
Performances limites 3/10
Le projet de Modernisation – MDDAY 2011 23
24. Sommaire
Motivations
Solutions candidates
Principes de l’Ingénierie des modèles
Démarche de modernisation par les modèles
Phase de Reverse Ingénierie
Phase de Forward Ingénierie
Qualification en boîte noire
La gestion des évolutions
Le choix de Bluage en modernisation
Retour d’expérience projet
Conclusion
Le projet de Modernisation – MDDAY 2011 24
25. Quelles solutions ? avec quels risques ?
1- Faire durer
Evolution du code en l’état
Rénovations frontales
Modernisation des infrastructures
2 - Découpler et architecturer extérieurement
Systèmes d’échanges inter-applications
Isolation des périmètres pour des interventions ciblées
3 – Modernisation du code
Portage
4 - Modernisation par l’ingénierie des modèles
Raffiner la valeur de l’existant
Produire industriellement
5 - Réécriture
Nouveau développement
Cycle long
Le projet de Modernisation – MDDAY 2011 25
26. Sommaire
Motivations
Solutions candidates
Principes de l’Ingénierie des modèles
Démarche de modernisation par les modèles
Phase de Reverse Ingénierie
Phase de Forward Ingénierie
Qualification en boîte noire
La gestion des évolutions
Le choix de Bluage en modernisation
Retour d’expérience projet
Conclusion
Le projet de Modernisation – MDDAY 2011 26
27. Ingénierie Des Modèles – Acronymes
MDE : Model Driven Engineering
Discipline
MDD : Model Driven Development
Développement de logiciels
MDA® : Model Driven Architecture
Démarche de l’OMG
Le projet de Modernisation – MDDAY 2011 27
28. Les plans du MDA
CIM : Computational Independant Model
le plan Métier
+
PIM : Platform Independant Model
PIM
le modèle Logique
+
PSM : Platform Specific Model
Le modèle logique appliqué à une plate-forme Technique PSM
+
Transformations
M2M Model to Model
M2C Model to Code
Code
Le projet de Modernisation – MDDAY 2011 28
29. Les plans du MDA
CIM : le plan métier
Modèles de Processus
Modèles Métier
Règles métier
Cas d’usage : Scénarios fonctionnels
Vues externes ( maquettes et prototypes visuels )
PIM : Le plan logique
Diagrammes de classes
Diagrammes d’activités
Diagrammes de séquence
Modélisation des Services et des messages
Modélisation des cinématiques d’écrans et des flux échangés
Langage d’expression des règles métier
PSM : Le plan technique
Choix techniques (IHM, framework, Composants,Transaction, Persistance,
SGBD, … )
CODE
Ecrans de présentation : développés
Application : générée
Interactions : « tissées »
Le projet de Modernisation – MDDAY 2011 29
30. Sommaire
Motivations
Solutions candidates
Principes de l’Ingénierie des modèles
Démarche de modernisation par les modèles
Phase de Reverse Ingénierie
Phase de Forward Ingénierie
Qualification en boîte noire
La gestion des évolutions
Le choix de Bluage en modernisation
Retour d’expérience projet
Conclusion
Le projet de Modernisation – MDDAY 2011 30
31. Phase de reverse Ingénierie
PIM
Patrimoine
Technique
PSM
Code
legacy
Le projet de Modernisation – MDDAY 2011 31
32. La démarche de modernisation par les modèles
Phase de « reverse » Ingénierie
Qualification préalable
POC sur échantillons, transactionnels et batchs
Rétro-modélisation outillée à partir du code
Facilitée si le code répond déjà à un « PSM »
– Pacbase , L4G, Frameworks java, …
Retour d’expérience
Code -> PIM : 65 à 80% en automatique
Niveau PIM suffisant pour régénérer l’application
Nécessité d’une reformalisation CIM (Métier)
pour la compréhension des MOA
Le projet de Modernisation – MDDAY 2011 32
33. Sommaire
Motivations
Solutions candidates
Principes de l’Ingénierie des modèles
Démarche de modernisation par les modèles
Phase de Reverse Ingénierie
Phase de Forward Ingénierie
Qualification en boîte noire
La gestion des évolutions
Le choix de Bluage en modernisation
Retour d’expérience projet
Conclusion
Le projet de Modernisation – MDDAY 2011 33
34. Phase de Forward Ingénierie
PIM
Patrimoine
Technique
PSM PSM
Code Code
Le projet de Modernisation – MDDAY 2011 34
35. Sommaire
Motivations
Solutions candidates
Principes de l’Ingénierie des modèles
Démarche de modernisation par les modèles
Phase de Reverse Ingénierie
Phase de Forward Ingénierie
Qualification en boîte noire
La gestion des évolutions
Le choix de Bluage en modernisation
Retour d’expérience projet
Conclusion
Le projet de Modernisation – MDDAY 2011 35
36. La qualification d’une boite noire nécessite
des scénarios et des données de production.
Scénarios
de tests PIM
Patrimoine
Technique
PSM PSM
?
Code
Code
Tests iso-Fonctionnels
Le projet de Modernisation – MDDAY 2011 36
37. Sommaire
Motivations
Solutions candidates
Principes de l’Ingénierie des modèles
Démarche de modernisation par les modèles
Phase de Reverse Ingénierie
Phase de Forward Ingénierie
Qualification en boîte noire
La gestion des évolutions
Le choix de Bluage en modernisation
Retour d’expérience projet
Conclusion
Le projet de Modernisation – MDDAY 2011 37
38. Les évolutions par les modèles préservent le
patrimoine.
PIM PIM
Patrimoine
Technique
PSM PSM
Code Code
Le projet de Modernisation – MDDAY 2011 38
39. Les évolutions par le code restent classiques
PIM
Patrimoine
Technique
PSM PSM
Code Code
Le projet de Modernisation – MDDAY 2011 39
40. Sommaire
Motivations
Solutions candidates
Principes de l’Ingénierie des modèles
Démarche de modernisation par les modèles
Phase de Reverse Ingénierie
Phase de Forward Ingénierie
Qualification en boîte noire
La gestion des évolutions
Le choix de Bluage en modernisation
Retour d’expérience projet
Conclusion
Le projet de Modernisation – MDDAY 2011 40
41. Bluage a été validé en génération.
MDA « forward » validé sur projet
Code source (java) de qualité
Indépendance de l’outillage : validée
Le projet de Modernisation – MDDAY 2011 41
42. Bluage a été préqualifié en Modernisation
Outillage de rétro- modélisation
Démarche de validation par Proof Of Concept successifs
Le projet de Modernisation – MDDAY 2011 42
43. Bluage dispose d’un outillage pour les données.
Outillage de reprise des données : DB Modernisation
Le projet de Modernisation – MDDAY 2011 43
44. Sommaire
Motivations
Solutions candidates
Principes de l’Ingénierie des modèles
Démarche de modernisation par les modèles
Phase de Reverse Ingénierie
Phase de Forward Ingénierie
Qualification en boîte noire
La gestion des évolutions
Le choix de Bluage en modernisation
Retour d’expérience
Conclusion
Le projet de Modernisation – MDDAY 2011 44
45. Un projet de rénovation PAC 700
Motivations :
Application et environnement dépassés
Développée en Pac700
Mise en production en 1978,
Machines HVX (Unix émulateur GCOS 6)
Matériels et émulateurs ne sont plus supportés
Connaissances perdues
Solutions envisagées :
Faire Durer
Déjà joué: IHM simplificatrices (NSDK) dans une autre application
Réécriture
Trop risqué, trop stratégique, manque de connaissances
Evolutions techniques
Performances et disponibilité ne sont pas les sujets majeurs
« Code to code » ne résout pas les questions de maintenance/évolution
Le projet de Modernisation – MDDAY 2011 45
46. Proof Of Concept avec Bluage – Etape 1
Objectifs
Valider la capacité de modernisation à partir du code à iso-fonctionnalité
Identifier les risques sur la migration PAC700
Définir les plans d’actions pour lever ces risques
Stratégie : isolation et migration d’un périmètre significatif
Migration du code PAC700 du périmètre
Migration du JCL
Migration des données
Maquettage écrans (infographiste) sur base écrans transactionnels
Installation de la solution
Recette : Tests identiques sur les deux versions de l’application
Conclusion : Migrations validées
PAC700 vers code Java
Fichiers GCOS en BDD relationnelle (Oracle pour le POC)
Ecrans transactionnels en HTML
Modèles UML générés conformes à la norme UML2
Aucune perte fonctionnelle identifiée
Le projet de Modernisation – MDDAY 2011 46
47. Proof Of Concept avec Bluage – Etape 2
Objectif :
Comparer évolution et maintenance avec & sans outils MDA
Ajouter des cas, modéliser des WebServices,
Produire une matrice de traçabilité des exigences (CMMI)
Valider la fusion de données
Plusieurs bases regroupées en une seule.
Stratégie :
1 solution en modifiant les sources à la main
1 solution en modifiant les modèles + régénération
Evolution des modèles métier et logique (CIM-PIM)
Gestion de configuration des modèles (UML avec Magic Draw)
Tester la fusion de données avec 2 bases de production
Conclusions
Evolution par les modèles : Validée
Construction sans la solution Blu Age Possible
Regroupement de bases de données Possible
Maintenance en mode projet Pas de difficulté majeure
Ouverture au SI via WebServices Validée
Qualité du code vérifiée via Cast Note > 3.4
Le projet de Modernisation – MDDAY 2011 47
48. Projet Bluage – Etape 3
Etude des impacts de la migration sur l’écosystème
Catalogues
Interfaces
Etude des Performances
Actuelle, Cible
Optimisation du code généré
Structure et normalisation de la BDD cible
Simplifications /Réorganisation des Batchs
Définition de la stratégie de Bascule
Etude du PRA
Le projet de Modernisation – MDDAY 2011 48
49. Démarche : Processus séquentiel et itératif
Le processus de production (delivery process) est le processus temporel
de production du projet depuis son lancement jusqu’à sa clôture
eMedia
I0
I1
I2
I3
I4
I5
VABF
MEP
Le projet de Modernisation – MDDAY 2011 49
50. Sommaire
Les motivations
Les solutions
Principes de l’Ingénierie des modèles
Démarche de modernisation par les modèles
Phase de Reverse Ingénierie
Phase de Forward Ingénierie
Qualification en boîte noire
La gestion des évolutions
Le choix de Bluage en modernisation
Retour d’expérience projet
Conclusion
Le projet de Modernisation – MDDAY 2011 50
51. Conclusion : un projet qui se mène à trois
Mobilisation générale
Client
Mobilisation de compétences fonctionnelles
Sopra Group
Expertise sur langage, BDD et produits Middleware
Maîtrise du langage de modélisation UML et de l’outil Magic Draw
Connaissances fonctionnelles du métier et de l’application
Netfective
Mise en œuvre et support outillage Reverse et Code Generation
Aspects organisationnels
Mobiliser des compétences sur les process de fabrication
Process du client – Démarche agile Sopragroup eMedia
Chercher à limiter l’effet tunnel « iso fonctionnalités »
Prise en compte d’évolutions fonctionnelles sans risques majeurs.
Points de vigilance
Stratégie de déploiement
Implication des parties prenantes
Le projet de Modernisation – MDDAY 2011 51
52. Centres de Services « RobotShore »
Ingénierie des modèles rouille technologique
Le projet de Modernisation – MDDAY 2011 52