SlideShare a Scribd company logo
1 of 54
Download to read offline
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.
A propos de Netfective/Blu Age

                 Fondée en 2000 (Implantations Paris(FR) , Bordeaux (FR), Plano (TX),
                 Casablanca (MA) , 2Q 2012 Bangalore (IN) )




                 135 employés, 35 en R&D (depuis 2004) , 10 Millions $ CA



                 BLU AGE® « 2011 Edition » (4ième version majeure) pour windows
                 7 64 bit, Linux RedHat et Debian Juillet 2011




                 16 M$ investissements R&D depuis 2004




                 OMG Member, SOA consortium member, Eclipse foundation member




                 Partenaires: Sopra Group, HP Enterprise Services, HCL, Accenture.


                                                                          2             © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated
                                                                                        without prior authorization of NETFECTIVE TECHNOLOGY

                                                                                                                                 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.
Solutions Blu Age de gestion du cycle de vie applicatif




                                                                       3             © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated
                                                                                     without prior authorization of NETFECTIVE TECHNOLOGY

                                                                                                                              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.
Aperçu des solutions Blu Age
                                                                                                                                                        Spring MVC                    JSF RI
            Reverse Modeling                                                             Forward Engineering
                                                                                                                                                          FLEX                      JSF

                                                                                                                                                        STRUTS                IMPROVE

JEE/.NET
                                                                                                                                                         JASPER                  BIRT

                                                                                                                                                           CXF                   AXIS
NATSTAR
/ Power
 Builder                                                                                                                                                SPRING                   EJB3

                                                                                                                                                                   DROOLS
PL / SQL
                                                                                                                                                        HIBERNATE                      JPA
                       KB: Knowledge Base                                   BSP: BLU AGE Shared Plugin                                                   SPRING
                                                                                                                                                                                      WCG
                                                                                                                                                          BATCH
PACBASE
                                                                                                                                                       App Server

                                                                                                                                                        WebSphere                  Oracle
                                                                                                                                                                                 Application
                                                                                                                                                         WebLogic                  Server
COBOL
                                                                                                                                                           JBoss               GlassFish

                                                                                                                                                           JOnAS                WASCE

                                                                                                                                                         TOMCAT                 Apache
    VSAM

     IMS                                                                                          DB2                 ORACLE               MS SQL Server

                                                                                                Informix               MySQL                 PostgreSQL
   ORACLE
                                                                                               Apache Derby
     DB2

                                                                                    4             © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated
                                                                                                  without prior authorization of NETFECTIVE TECHNOLOGY

                                                                                                                                           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.
Quelques exemples


                 Telecom         Air et espace                   Santé/social                                   Distribution                                    Transports


   Taille        1,5 M loc         900 K loc                        28,1 M loc                                      16 M loc                                     2,5 M loc

Technologies       Cobol         Client serveur               Cobol Pacbase                                    3 dialects                                 Cobol Pacbase
                                                                                                                Cobols                                          +
  Ancinnes                                                                                                         +                                      Powerbuilder
                                                                                                              Powerbuilder
 Nouvelle        JEE/Flex           JEE/Flex                                 JEE                                           JEE                                           JEE
Architecture
      N°           2,000               450                                   550                                        3,000                                            500
utilisateurs
Importance      Haute(CRM et
                 facturation)
                                     Maximale
                                   (certification
                                                                   Maximale
                                                               (application cœur
                                                                                                                 Maximale
                                                                                                             (application cœur
                                                                                                                                                           Maximale (gère 8
                                                                                                                                                             Milliards de
                                     iso 9000)                    de métier)                                    de métier)                                     revenu)

    POC         3 semaines de
                modernisation
                                 2 mois, 15% de
                                   l’application
                                                                  2x 3 semaines                                3 semaines par
                                                                                                                  langage
                                                                                                                                                           « Due diligence »
                                                                                                                                                               à venir
               puis 3 semaines     modernisée
                  d’évolution




                                                                                     5             © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated
                                                                                                   without prior authorization of NETFECTIVE TECHNOLOGY

                                                                                                                                            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.
Qualité applicative: selon vos exigences et mesurée par des tiers de
confiance
 Blu Age produit le code selon vos exigences (normes de codage, normes
  d’architecure, normes de commentaire),

 Le code produit est de très haute qualité, sans runtime, sans dépendance à
  Blu Age,

 L’architecture est nativement SOA et est séparée en couches d’architecture
  (IHM, services, batch, reporting, accès au données).




                                                                         6             © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated
                                                                                       without prior authorization of NETFECTIVE TECHNOLOGY

                                                                                                                                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.
Qualité applicative: éléments de comparaison avec des références
 connues

              The code has been analyzed using sonar static code analysis tool. Two well known and
              well implemented open source projects serve as reference for the quality of the
              implementation:
                       Hibernate project
                        http://nemo.sonarsource.org/dashboard/index/286206?page_id=2,
                        Apache Tomcat, http://nemo.sonarsource.org/dashboard/index/50544)


              Line of code   Package         LCOM            Comments%          Duplication               Complexity               Rule
              / violations   Tangle                                             Ratio                     Distribution             Compliance
                             Index
              16 to 20       20%             2 to 3          16 to 25%          2 to 7%                   2 to 3                   84 to 88%
              The higher     0% is the       1    is the     Above 30%          The    lower              The    lower             The higher
              the better.    best grade      best grade      is                 the better,               the better.              the better.
              Major,                         (grade          considered         should    be              Curves                   Good     is
              Critical and                   should   be     good               0%                        should    be             above 85%
              Blocker are                    1)                                                           decreasing,
              considered                                                                                  camel
                                                                                                          curves     is
                                                                                                          bad




              Line of code   /   Package    Tangle   LCOM              Comments%                         Duplication Ratio                Complexity                        Rule Compliance
              violations         Index                                                                                                    Distribution
POC grade     279                0%                  1                 46%                               0%                               1,8                               98,9%
Better than
                    Yes                Yes                  Yes                   Yes                               Yes                              Yes                               Yes
reference?




                                                                                                        7             © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated
                                                                                                                      without prior authorization of NETFECTIVE TECHNOLOGY

                                                                                                                                                               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.
Préservation du patrimoine et besoin en évolution

 Une application est modernisée:
     Quand le remplacement par un ERP n’est pas une solution,
     Quand la valeur de ses processus métiers est capitale,
     Quand l’application a besoin d’évoluer en support du métier.


 Vue subjective d’une application
     Cas d’utilisation, processus, enchainement d’écrans,


 Vue objective de l’application « legacy »
     La connaissance qui reste est … le code source,
     Les cas d’utilisation sont une vue de l’esprit et ne sont pas dans le code,
     Les enchainements de processus ou d’écrans sont en général
      dynamiques/factorisés.


 Les questions sont donc:
     Comment faire évoluer ce qu’on ne connait plus ?
     Comment faire un recette d’un système qu’on ne connait plus et que nous faisons
      évoluer en cours de modernisation ?




                                                                               8             © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated
                                                                                             without prior authorization of NETFECTIVE TECHNOLOGY

                                                                                                                                      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.
Comment ne rien oublier derrière ?

 Méthode usuelle: recueil d’information sans traçabilité envers le code

                                                                                                                        Contractuellement le cahier
                                                                                                                         des charges fait foi, et non
                                                                                                                              l’application existante
                        Regarder les
                        utilisateurs




                         Réunion de
                         travail: que fait
                         l’application?



                                                                                                                                          Application
                                                                              Spécifications
                                                                                                                                          d’après les
Application                                                                                                                               spécifications
existante                Réunion de
                         travail: préserver
                         ou remplacer?




                             Quel est l’écart ?
                             Qu’a t il été oublié derrière ?
                             Comment faire la recette de règles modifiées vis-à-vis de l’existant?




                                                                                    9             © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated
                                                                                                  without prior authorization of NETFECTIVE TECHNOLOGY

                                                                                                                                           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.
Ingénierie de tests

 Les écrans:
     Facile tant est si bien qu’il y a une phase iso fonctionnelle




                                     Résultat = « 12 € »

      Val = « 4 »
                                                                                                    Val = « 4 »
                                                                                                                                                             Résultat = « 12 € »




 Les batch et les rapports: cas avec données hiérarchiques vers relationnelles
     Comment capturer les entrées ?
     Comment valider les sortie ?
                                                                                                                                             Batch
                    Batch




 Il faut instrumenter les captures des données et les résultats attendus.
 Il faut savoir convertir les données
                                                                                10             © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated
                                                                                               without prior authorization of NETFECTIVE TECHNOLOGY

                                                                                                                                        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.
Grands patrimoines et équipes distribuées
Exemple d’une application « Sécurité Sociale »

                                  La réforme Obama
                                  c’est l’occasion de
                                 vendre de nouveaux
                                        services
                                                                                                                              Sécurité sociale ?
                          Client HQ                                                                                            C’est quoi ?????

                                                            Delivery 2
                         Delivery 1




                                                                                                            Delivery 3
                                                          C’est quoi un
                                                          Redifine ????                                     TMA 2
        Voici les
  programmes à faire
       évoluer et
  l’architecture Java.                 TMA 1




                                               Ce programme je le
                                               maintiens depuis 10
                                                ans mais je n’ose
                                                 plus le modifier
                                                                                                   11




 Extraction: Base de connaissance partagée pour automatiser, segmenter et
  partagé les artefacts (pattern d’extraction et modèles extraits).

 Gestion de version: partitionnement par modules UML et génération
  partielle.
                                                                                                                  © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated
                                                                                                                  without prior authorization of NETFECTIVE TECHNOLOGY

                                                                                                                                                           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.
Moderniser une application qui s’exécute depuis avant ma naissance




               1980: Première SSII TMA     2003: Deuxième SSII TMA                           2006: Troisième SSII TMA




    1973: mise en    1980: démantèlement       1990: fin de                  2003: dernier                                  2007: j’ai                    2011:
    production       de l’équipe               vie du langage                départ à la                                    mon diplôme                   Modernisation
                                                                             retraite équipe
                                                                             métier




 Blu Age affranchit de la compréhension du langage source (Texte => PSM)
 Blu Age restitue les savoirs (PSM => UML2)
 Blu Age permet la génération vers la nouvelle architecture (Forward
  Engineering)
 Blu Age permet les évolutions de la nouvelle application (Forward
  Engineering)
                                                                                             12             © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated
                                                                                                            without prior authorization of NETFECTIVE TECHNOLOGY

                                                                                                                                                     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.
Comment ne rien oublier derrière ? Comment restaurer le patrimoine et
  le faire évoluer?

   Proposition de valeur Blu Age:
                                  Retiré/Conservé/Modifié
                                                                                  Blu Age Forward Engineering




                Modèles UML2




                                                                                                          « No Left Behind »
Blu Age Reverse Modeling       Blu Age Forward Engineering




                                                     Validation des utilisateurs




                                                                                                                                     Iso fonctionnalité

                                                                                                                                     Patrimoine restauré

                                                                                                                                     Patrimoine conforme




                                                                       Automatisation des tests fonctionnels


                                                                                13             © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated
                                                                                               without prior authorization of NETFECTIVE TECHNOLOGY

                                                                                                                                        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.
Choix et pertinence des architectures techniques

                      Legacy architecture
                      Legacy architecture                                            New architecture
                                                                                     New architecture
                      Cobol            Client Serveur                                Java/.Net                                            Java/.Net +RIA
                      Cobol            Client Serveur                                Java/.Net                                            Java/.Net +RIA
Code source                              Powerbuilder
Code source               S cobol
              Batch
              Batch           X                                                             Java: ok
               IHM                                   x                                       .Net: ?
                                                                                         Pas d’équivalent à                               Flex et Silverligth
                                                                                           Datawindow =>
               IHM            X                                                                 any
                                                                                             régressions
                                                                                                                                             sont adaptés
                                                                                            fonctionnelles
       Evènements                                                                       Pas d’équivalent en                                 Inclus avec Flex,
                                                                                        html (JEE ou .Net)
                                                                                                                                               GWT, WPF
Procédures stockées
Procédures stockées                                  x                                   Possible
                                                                                       Augmente le
          Rapports            X                                                      BI ou Rapport de
                                                                                          budget
                                                                                     masse ou IHM ?
          Rapports                                   x                                      oui                                                               oui
Base de données           Tandem
          Triggers
Base de données                              Sybase
           Triggers                                  x                                Point d’attention                                     Point d’attention
               GIS

               GIS
   Type de données      Hiérarchique     Non, dans le                                      PostgreSQL
                                                                                          Relationnelle
                                            code                                            inclus des
                                                                                                ou
                                                                                             fonctions
                                                                                          Hiérarchique?
   Type de données                       Relationnelle                          14             © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated
                                                                                               without prior authorization of NETFECTIVE TECHNOLOGY

                                                                                                                                        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.
Background and Business Drivers
     Background
     A Blue Cross Blue Shield Payer utilizes legacy Real Time Membership System – highly customized and tuned
     to meet their business requirements over 3 decades.
     HP Enterprise Services operates, maintains and enhances system as part of base contract with per customer
     per month (PCPM) pricing.
     System is written in Pacbase and utilizes an IMS database.
     In 2007, IBM announced they would sunset Pacbase in 2015.

  Options Considered:                                                                                     Business Drivers
  1. Do nothing – continue to run on unsupported                                                          •    Pacbase end of life support 2015
     Pacbase system                                                                                       •    Retain 20+ years of customization
  2. System replacement                                                                                   •    Flexibility to support business changes
  3. Modernize Real Time Membership System                                                                •    Lower Price to modernize and maintain
      a. Code Conversion                                                                                  •    Vendor neutrality
      b. Through Model Driven Architecture                                                                •    Integration with newer technologies


  Highlights                                                                                               Key Legacy Facts
 •     Evaluation included pilot for validation                                                           •   130 Online Screens
 •     Netfective partnership reduced price, timeline and                                                 •   Approx 1000 Batch Jobs running CA/7 Scheduling Sys
       improve quality                                                                                    •   Maintained on IBM Z/OS
                                                                                                          •   65 IMS Databases
 •     Stable and scalable delivery platform
                                                                                                          •   Approx 2000 Pacbase programs generate 28.1M lines
 •     Winning response!                                                                                      of COBOL


15 © Copyright 2011 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Une application cobol de 20 ans vis-à-vis de JBoss




Exemple de dette technique: densité de violation x volume de code

Volume de code divisé par 10
Densité de violation: celle des meilleurs applications Java modernes




                                                                                                                                     Cobol application
                                                                                                                                           was
                                                                                                                                      5 millions LOC




                                                                     16             © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated
                                                                                    without prior authorization of NETFECTIVE TECHNOLOGY

                                                                                                                             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.
Audit de vulnérabilité du code source: 5 étoiles aux tests Fortify




                                                                      17             © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated
                                                                                     without prior authorization of NETFECTIVE TECHNOLOGY

                                                                                                                              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.
Benefits
                                                Benefits                                                       Examples of Results in the Industry

            Lower cost and risk to organization, when compared to  25% reduction in technical development time after
             system replacement, in light of industry dynamics       modernization (a commercial healthcare payer)
            Adapt to business needs – quicker, easier, and with                                           30% user productivity achieved from redesign of
             more options to interface with vendor solutions                                                screens, taking advantage of modern web screen
            Ease of maintenance – large market for needed skills,                                          capabilities (a commercial healthcare payer)
             more available and efficient solution options                                                 $150k annual savings to the Blue Cross Blue Shield
            Customizable for the Blue Cross Blue Shield payer                                              payer after modernizing PGE function within Claims
             needs, according to their priorities
            Easier to maintain and enhance
            Transportability to alternate platform
            Data access flexibility
            Provide data structure elements as required to support
             known future enhancements




                                                      Embrace New Capabilities => Drive Savings
                                                            Use new tools, technologies, and solutions
                                                            Evolve business processes



18 © Copyright 2011 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Challenges and Lessons Learned

• Release and change management – running parallel systems

• Technical vs. functional modernization, combined approach

    – Just technical, less risk but risk alienating the business

    – Implement a process to manage required functionality, builds business support

• Strong due diligence prior to project confirmation a must

• Complete proof of concept to establish client support of the technology

• Client sponsor must be well positioned within business (senior leadership and IT)

• Plan time/resource to manage proportional performance accounting




19 © Copyright 2011 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
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
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
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
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
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
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
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
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
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
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
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
Phase de reverse Ingénierie




               PIM
                                                         Patrimoine
                                                         Technique




         PSM




 Code
legacy



               Le projet de Modernisation – MDDAY 2011                31
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
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
Phase de Forward Ingénierie




             PIM
                                                       Patrimoine
                                                       Technique




       PSM                    PSM




Code                                    Code




             Le projet de Modernisation – MDDAY 2011                34
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
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
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
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
Les évolutions par le code restent classiques




            PIM
                                                             Patrimoine
                                                             Technique




                              PSM                      PSM




                                        Code                 Code




             Le projet de Modernisation – MDDAY 2011                      39
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
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
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
Bluage dispose d’un outillage pour les données.
   Outillage de reprise des données : DB Modernisation




                  Le projet de Modernisation – MDDAY 2011   43
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
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
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
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
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
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
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
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
Centres de Services « RobotShore »




Ingénierie des modèles                                    rouille technologique




                Le projet de Modernisation – MDDAY 2011                           52
Questions




Le projet de Modernisation – MDDAY 2011   53
Merci de votre attention




   Le projet de Modernisation – MDDAY 2011   54

More Related Content

Similar to Blu age@md day2011

The Spring of Adobe Flex Remoting
The Spring of Adobe Flex RemotingThe Spring of Adobe Flex Remoting
The Spring of Adobe Flex RemotingFrançois Le Droff
 
03 jus 2011 11 15 bilan2 011
03 jus 2011 11 15 bilan2 01103 jus 2011 11 15 bilan2 011
03 jus 2011 11 15 bilan2 011OpenCascade
 
Adobe Et Le Commerce V2
Adobe Et Le Commerce V2Adobe Et Le Commerce V2
Adobe Et Le Commerce V2Michael Chaize
 
Codedarmor 2012 - 09/10 - Eclipse 4 & Acceleo
Codedarmor 2012 - 09/10 - Eclipse 4 & AcceleoCodedarmor 2012 - 09/10 - Eclipse 4 & Acceleo
Codedarmor 2012 - 09/10 - Eclipse 4 & Acceleocodedarmor
 
BluAge sopra mdday2010
BluAge sopra mdday2010BluAge sopra mdday2010
BluAge sopra mdday2010MD DAY
 
Soutenance Stage Licence
Soutenance Stage LicenceSoutenance Stage Licence
Soutenance Stage LicenceMathias Kluba
 

Similar to Blu age@md day2011 (6)

The Spring of Adobe Flex Remoting
The Spring of Adobe Flex RemotingThe Spring of Adobe Flex Remoting
The Spring of Adobe Flex Remoting
 
03 jus 2011 11 15 bilan2 011
03 jus 2011 11 15 bilan2 01103 jus 2011 11 15 bilan2 011
03 jus 2011 11 15 bilan2 011
 
Adobe Et Le Commerce V2
Adobe Et Le Commerce V2Adobe Et Le Commerce V2
Adobe Et Le Commerce V2
 
Codedarmor 2012 - 09/10 - Eclipse 4 & Acceleo
Codedarmor 2012 - 09/10 - Eclipse 4 & AcceleoCodedarmor 2012 - 09/10 - Eclipse 4 & Acceleo
Codedarmor 2012 - 09/10 - Eclipse 4 & Acceleo
 
BluAge sopra mdday2010
BluAge sopra mdday2010BluAge sopra mdday2010
BluAge sopra mdday2010
 
Soutenance Stage Licence
Soutenance Stage LicenceSoutenance Stage Licence
Soutenance Stage Licence
 

More from MDDAY11

Yves caseau@md day2011
Yves caseau@md day2011Yves caseau@md day2011
Yves caseau@md day2011MDDAY11
 
W4 ucl@md day2011
W4 ucl@md day2011W4 ucl@md day2011
W4 ucl@md day2011MDDAY11
 
W4@md day2011
W4@md day2011W4@md day2011
W4@md day2011MDDAY11
 
Soft fluent@md day2011
Soft fluent@md day2011Soft fluent@md day2011
Soft fluent@md day2011MDDAY11
 
Objet direct@md day2011
Objet direct@md day2011Objet direct@md day2011
Objet direct@md day2011MDDAY11
 
Obeo thales@md day2011
Obeo thales@md day2011Obeo thales@md day2011
Obeo thales@md day2011MDDAY11
 
No magic@md day2011
No magic@md day2011No magic@md day2011
No magic@md day2011MDDAY11
 
Modeliosoft@md day2011
Modeliosoft@md day2011Modeliosoft@md day2011
Modeliosoft@md day2011MDDAY11
 
Modelio praxeme@md day2011
Modelio praxeme@md day2011Modelio praxeme@md day2011
Modelio praxeme@md day2011MDDAY11
 
Mia software@md day2011
Mia software@md day2011Mia software@md day2011
Mia software@md day2011MDDAY11
 
Axel uhl sap@md-day2011
Axel uhl sap@md-day2011Axel uhl sap@md-day2011
Axel uhl sap@md-day2011MDDAY11
 
Sogeti telosys@md day2011
Sogeti telosys@md day2011Sogeti telosys@md day2011
Sogeti telosys@md day2011MDDAY11
 

More from MDDAY11 (12)

Yves caseau@md day2011
Yves caseau@md day2011Yves caseau@md day2011
Yves caseau@md day2011
 
W4 ucl@md day2011
W4 ucl@md day2011W4 ucl@md day2011
W4 ucl@md day2011
 
W4@md day2011
W4@md day2011W4@md day2011
W4@md day2011
 
Soft fluent@md day2011
Soft fluent@md day2011Soft fluent@md day2011
Soft fluent@md day2011
 
Objet direct@md day2011
Objet direct@md day2011Objet direct@md day2011
Objet direct@md day2011
 
Obeo thales@md day2011
Obeo thales@md day2011Obeo thales@md day2011
Obeo thales@md day2011
 
No magic@md day2011
No magic@md day2011No magic@md day2011
No magic@md day2011
 
Modeliosoft@md day2011
Modeliosoft@md day2011Modeliosoft@md day2011
Modeliosoft@md day2011
 
Modelio praxeme@md day2011
Modelio praxeme@md day2011Modelio praxeme@md day2011
Modelio praxeme@md day2011
 
Mia software@md day2011
Mia software@md day2011Mia software@md day2011
Mia software@md day2011
 
Axel uhl sap@md-day2011
Axel uhl sap@md-day2011Axel uhl sap@md-day2011
Axel uhl sap@md-day2011
 
Sogeti telosys@md day2011
Sogeti telosys@md day2011Sogeti telosys@md day2011
Sogeti telosys@md day2011
 

Blu age@md day2011

  • 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.
  • 2. A propos de Netfective/Blu Age Fondée en 2000 (Implantations Paris(FR) , Bordeaux (FR), Plano (TX), Casablanca (MA) , 2Q 2012 Bangalore (IN) ) 135 employés, 35 en R&D (depuis 2004) , 10 Millions $ CA BLU AGE® « 2011 Edition » (4ième version majeure) pour windows 7 64 bit, Linux RedHat et Debian Juillet 2011 16 M$ investissements R&D depuis 2004 OMG Member, SOA consortium member, Eclipse foundation member Partenaires: Sopra Group, HP Enterprise Services, HCL, Accenture. 2 © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated without prior authorization of NETFECTIVE TECHNOLOGY 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.
  • 3. Solutions Blu Age de gestion du cycle de vie applicatif 3 © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated without prior authorization of NETFECTIVE TECHNOLOGY 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.
  • 4. Aperçu des solutions Blu Age Spring MVC JSF RI Reverse Modeling Forward Engineering FLEX JSF STRUTS IMPROVE JEE/.NET JASPER BIRT CXF AXIS NATSTAR / Power Builder SPRING EJB3 DROOLS PL / SQL HIBERNATE JPA KB: Knowledge Base BSP: BLU AGE Shared Plugin SPRING WCG BATCH PACBASE App Server WebSphere Oracle Application WebLogic Server COBOL JBoss GlassFish JOnAS WASCE TOMCAT Apache VSAM IMS DB2 ORACLE MS SQL Server Informix MySQL PostgreSQL ORACLE Apache Derby DB2 4 © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated without prior authorization of NETFECTIVE TECHNOLOGY 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.
  • 5. Quelques exemples Telecom Air et espace Santé/social Distribution Transports Taille 1,5 M loc 900 K loc 28,1 M loc 16 M loc 2,5 M loc Technologies Cobol Client serveur Cobol Pacbase 3 dialects Cobol Pacbase Cobols + Ancinnes + Powerbuilder Powerbuilder Nouvelle JEE/Flex JEE/Flex JEE JEE JEE Architecture N° 2,000 450 550 3,000 500 utilisateurs Importance Haute(CRM et facturation) Maximale (certification Maximale (application cœur Maximale (application cœur Maximale (gère 8 Milliards de iso 9000) de métier) de métier) revenu) POC 3 semaines de modernisation 2 mois, 15% de l’application 2x 3 semaines 3 semaines par langage « Due diligence » à venir puis 3 semaines modernisée d’évolution 5 © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated without prior authorization of NETFECTIVE TECHNOLOGY 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.
  • 6. Qualité applicative: selon vos exigences et mesurée par des tiers de confiance  Blu Age produit le code selon vos exigences (normes de codage, normes d’architecure, normes de commentaire),  Le code produit est de très haute qualité, sans runtime, sans dépendance à Blu Age,  L’architecture est nativement SOA et est séparée en couches d’architecture (IHM, services, batch, reporting, accès au données). 6 © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated without prior authorization of NETFECTIVE TECHNOLOGY 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.
  • 7. Qualité applicative: éléments de comparaison avec des références connues The code has been analyzed using sonar static code analysis tool. Two well known and well implemented open source projects serve as reference for the quality of the implementation:  Hibernate project http://nemo.sonarsource.org/dashboard/index/286206?page_id=2,  Apache Tomcat, http://nemo.sonarsource.org/dashboard/index/50544) Line of code Package LCOM Comments% Duplication Complexity Rule / violations Tangle Ratio Distribution Compliance Index 16 to 20 20% 2 to 3 16 to 25% 2 to 7% 2 to 3 84 to 88% The higher 0% is the 1 is the Above 30% The lower The lower The higher the better. best grade best grade is the better, the better. the better. Major, (grade considered should be Curves Good is Critical and should be good 0% should be above 85% Blocker are 1) decreasing, considered camel curves is bad Line of code / Package Tangle LCOM Comments% Duplication Ratio Complexity Rule Compliance violations Index Distribution POC grade 279 0% 1 46% 0% 1,8 98,9% Better than Yes Yes Yes Yes Yes Yes Yes reference? 7 © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated without prior authorization of NETFECTIVE TECHNOLOGY 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.
  • 8. Préservation du patrimoine et besoin en évolution  Une application est modernisée:  Quand le remplacement par un ERP n’est pas une solution,  Quand la valeur de ses processus métiers est capitale,  Quand l’application a besoin d’évoluer en support du métier.  Vue subjective d’une application  Cas d’utilisation, processus, enchainement d’écrans,  Vue objective de l’application « legacy »  La connaissance qui reste est … le code source,  Les cas d’utilisation sont une vue de l’esprit et ne sont pas dans le code,  Les enchainements de processus ou d’écrans sont en général dynamiques/factorisés.  Les questions sont donc:  Comment faire évoluer ce qu’on ne connait plus ?  Comment faire un recette d’un système qu’on ne connait plus et que nous faisons évoluer en cours de modernisation ? 8 © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated without prior authorization of NETFECTIVE TECHNOLOGY 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.
  • 9. Comment ne rien oublier derrière ?  Méthode usuelle: recueil d’information sans traçabilité envers le code Contractuellement le cahier des charges fait foi, et non l’application existante Regarder les utilisateurs Réunion de travail: que fait l’application? Application Spécifications d’après les Application spécifications existante Réunion de travail: préserver ou remplacer? Quel est l’écart ? Qu’a t il été oublié derrière ? Comment faire la recette de règles modifiées vis-à-vis de l’existant? 9 © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated without prior authorization of NETFECTIVE TECHNOLOGY 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.
  • 10. Ingénierie de tests  Les écrans:  Facile tant est si bien qu’il y a une phase iso fonctionnelle Résultat = « 12 € » Val = « 4 » Val = « 4 » Résultat = « 12 € »  Les batch et les rapports: cas avec données hiérarchiques vers relationnelles  Comment capturer les entrées ?  Comment valider les sortie ? Batch Batch  Il faut instrumenter les captures des données et les résultats attendus.  Il faut savoir convertir les données 10 © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated without prior authorization of NETFECTIVE TECHNOLOGY 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.
  • 11. Grands patrimoines et équipes distribuées Exemple d’une application « Sécurité Sociale » La réforme Obama c’est l’occasion de vendre de nouveaux services Sécurité sociale ? Client HQ C’est quoi ????? Delivery 2 Delivery 1 Delivery 3 C’est quoi un Redifine ???? TMA 2 Voici les programmes à faire évoluer et l’architecture Java. TMA 1 Ce programme je le maintiens depuis 10 ans mais je n’ose plus le modifier 11  Extraction: Base de connaissance partagée pour automatiser, segmenter et partagé les artefacts (pattern d’extraction et modèles extraits).  Gestion de version: partitionnement par modules UML et génération partielle. © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated without prior authorization of NETFECTIVE TECHNOLOGY 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.
  • 12. Moderniser une application qui s’exécute depuis avant ma naissance 1980: Première SSII TMA 2003: Deuxième SSII TMA 2006: Troisième SSII TMA 1973: mise en 1980: démantèlement 1990: fin de 2003: dernier 2007: j’ai 2011: production de l’équipe vie du langage départ à la mon diplôme Modernisation retraite équipe métier  Blu Age affranchit de la compréhension du langage source (Texte => PSM)  Blu Age restitue les savoirs (PSM => UML2)  Blu Age permet la génération vers la nouvelle architecture (Forward Engineering)  Blu Age permet les évolutions de la nouvelle application (Forward Engineering) 12 © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated without prior authorization of NETFECTIVE TECHNOLOGY 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.
  • 13. Comment ne rien oublier derrière ? Comment restaurer le patrimoine et le faire évoluer?  Proposition de valeur Blu Age: Retiré/Conservé/Modifié Blu Age Forward Engineering Modèles UML2 « No Left Behind » Blu Age Reverse Modeling Blu Age Forward Engineering Validation des utilisateurs Iso fonctionnalité Patrimoine restauré Patrimoine conforme Automatisation des tests fonctionnels 13 © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated without prior authorization of NETFECTIVE TECHNOLOGY 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.
  • 14. Choix et pertinence des architectures techniques Legacy architecture Legacy architecture New architecture New architecture Cobol Client Serveur Java/.Net Java/.Net +RIA Cobol Client Serveur Java/.Net Java/.Net +RIA Code source Powerbuilder Code source S cobol Batch Batch X Java: ok IHM x .Net: ? Pas d’équivalent à Flex et Silverligth Datawindow => IHM X any régressions sont adaptés fonctionnelles Evènements Pas d’équivalent en Inclus avec Flex, html (JEE ou .Net) GWT, WPF Procédures stockées Procédures stockées x Possible Augmente le Rapports X BI ou Rapport de budget masse ou IHM ? Rapports x oui oui Base de données Tandem Triggers Base de données Sybase Triggers x Point d’attention Point d’attention GIS GIS Type de données Hiérarchique Non, dans le PostgreSQL Relationnelle code inclus des ou fonctions Hiérarchique? Type de données Relationnelle 14 © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated without prior authorization of NETFECTIVE TECHNOLOGY 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.
  • 15. Background and Business Drivers Background A Blue Cross Blue Shield Payer utilizes legacy Real Time Membership System – highly customized and tuned to meet their business requirements over 3 decades. HP Enterprise Services operates, maintains and enhances system as part of base contract with per customer per month (PCPM) pricing. System is written in Pacbase and utilizes an IMS database. In 2007, IBM announced they would sunset Pacbase in 2015. Options Considered: Business Drivers 1. Do nothing – continue to run on unsupported • Pacbase end of life support 2015 Pacbase system • Retain 20+ years of customization 2. System replacement • Flexibility to support business changes 3. Modernize Real Time Membership System • Lower Price to modernize and maintain a. Code Conversion • Vendor neutrality b. Through Model Driven Architecture • Integration with newer technologies Highlights Key Legacy Facts • Evaluation included pilot for validation • 130 Online Screens • Netfective partnership reduced price, timeline and • Approx 1000 Batch Jobs running CA/7 Scheduling Sys improve quality • Maintained on IBM Z/OS • 65 IMS Databases • Stable and scalable delivery platform • Approx 2000 Pacbase programs generate 28.1M lines • Winning response! of COBOL 15 © Copyright 2011 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 16. Une application cobol de 20 ans vis-à-vis de JBoss Exemple de dette technique: densité de violation x volume de code Volume de code divisé par 10 Densité de violation: celle des meilleurs applications Java modernes Cobol application was 5 millions LOC 16 © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated without prior authorization of NETFECTIVE TECHNOLOGY 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.
  • 17. Audit de vulnérabilité du code source: 5 étoiles aux tests Fortify 17 © 2011 NETFECTIVE TECHNOLOGY - can not be used or duplicated without prior authorization of NETFECTIVE TECHNOLOGY 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.
  • 18. Benefits Benefits Examples of Results in the Industry  Lower cost and risk to organization, when compared to  25% reduction in technical development time after system replacement, in light of industry dynamics modernization (a commercial healthcare payer)  Adapt to business needs – quicker, easier, and with  30% user productivity achieved from redesign of more options to interface with vendor solutions screens, taking advantage of modern web screen  Ease of maintenance – large market for needed skills, capabilities (a commercial healthcare payer) more available and efficient solution options  $150k annual savings to the Blue Cross Blue Shield  Customizable for the Blue Cross Blue Shield payer payer after modernizing PGE function within Claims needs, according to their priorities  Easier to maintain and enhance  Transportability to alternate platform  Data access flexibility  Provide data structure elements as required to support known future enhancements Embrace New Capabilities => Drive Savings Use new tools, technologies, and solutions Evolve business processes 18 © Copyright 2011 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 19. Challenges and Lessons Learned • Release and change management – running parallel systems • Technical vs. functional modernization, combined approach – Just technical, less risk but risk alienating the business – Implement a process to manage required functionality, builds business support • Strong due diligence prior to project confirmation a must • Complete proof of concept to establish client support of the technology • Client sponsor must be well positioned within business (senior leadership and IT) • Plan time/resource to manage proportional performance accounting 19 © Copyright 2011 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 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
  • 53. Questions Le projet de Modernisation – MDDAY 2011 53
  • 54. Merci de votre attention Le projet de Modernisation – MDDAY 2011 54