SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
migration PacBase → UML /Java
    association Guépard – 09 octobre 2012
                    Paris


               didier durand
            didier.durand@eranea.com
eranea
➢   basée à Lausanne, Suisse
➢   spécialisée dans la migration automatique et iso-fonctionnelle des
    applications métier vers Linux et Java
➢   multiples références pour technologie : banque, média, assurance,
    distribution, édition logiciel, etc.
➢   projet de référence : grande banque privée (Genève) :
       système de « core banking » (10M lignes de Cobol) migré 100 %
        automatiquement et iso-fonctionnellement vers Linux et Java
       mainframes z/OS : 2'500 Mips, CICS, VSAM, DB2, MQ, Sysplex
agenda
➢   PacBase → Java / UML : étapes successives
➢   point de départ
➢   motivations du projet
➢   acteurs et attentes
➢   palette de solutions
➢   cible optimale
➢   technologie et méthodologie
➢   bénéfices, conclusions (1)
➢   PacBase → UML : comment + conclusion (2)
PacBase → UML / Java : 2 étapes
référentiel
 PacBase

                       générateur                    transcodeur
 modèle
                         Cobol
                                          Cobol          Java
                                                                      Java    tomcat
PacBase


                                             Transcodage Cobol → Java             dès
                                                                              aujourd'hui !
                                             économies massives rapides
              + partenaire                 + modernisation plate-forme & UI

                                    Nécessairement postérieur à l'arrêt mainframe
                                    (quand Cobol n'est plus nécessaire)


               modèle
                                     générateur
              PacBase
                                        Java
                                                    Java            tomcat
              modèle                    rétro-
               UML                    ingénierie
                                      Migration modèle PacBase → UML
         référentiel
                                               économies outils               développement
        multi-modèles                     + modernisation méthodes               en cours
point de départ
➢   une grande application critique au métier du client
➢   encapsulant tout son savoir-faire, solidement
    éprouvée sur des décennies
➢   représentant de lourds investissements (10s voire
    100s d'années-hommes)
➢   en route vers l'obsolescence technologique
➢   sur un système opérationnel (très) cher comparé
    aux standards 2012
motivations
➢   des économies en investissements (capex) et frais de
                                                                tactique
    fonctionnement (opex) massives

➢   une mutation technologique vers les standards actuels:
    
        technologies Web, interface RIA
       architecture technique: SOA, Java, Linux
                                                                stratégique
       productivité: IDE, tests automatisés, QA des sources,
       code coverage, etc
       N.B.: abandon des anciennes technologies


➢
    via solution     eranea, les 2 en même temps !
motivations - exemple
 100% = approx. 5 millions CHF/an

100%
                                          ➢   logiciel trop cher →
              logiciels tiers                 environnement compétitif
 90%
                                              base + tiers nécessaire
 80%
 70%                                      ➢   passage à OSS :
 60%
                  logiciels IBM
                                                 -70 % sur la facture
 50%           (z/OS, Cics, DB2, etc..)           logicielle
 40%
 30%
                                                 possibilité de
 20%        Périphériques                         changement HW
 10%
            Cpu
agenda
➢   PacBase → Java / UML : étapes successives
➢   point de départ
➢   motivations du projet
➢   acteurs et attentes
➢   palette de solutions
➢   cible optimale
➢   technologie et méthodologie
➢   bénéfices, conclusions (1)
➢   PacBase → UML : comment + conclusion (2)
acteurs et attentes (1)
➢   utilisateurs finaux :
       économies → informatique trop chère
       pas de gêne ni de formation
➢   CIO :
       acquérir agilité et indépendance
       moderniser et améliorer
       réduire les coûts d'exploitations
       pas de risques pour la société … et lui
acteurs et attentes (2)
➢   développeurs, ingénieurs système :
       nouvelles compétences
       meilleure efficacité et productivité
       « et mon job ? » …


➢   architectes
       modernisation
       pérennité
agenda
➢   PacBase → Java / UML : étapes successives
➢   point de départ
➢   motivations du projet
➢   acteurs et attentes
➢   palette de solutions
➢   cible optimale
➢   technologie et méthodologie
➢   bénéfices, conclusions (1)
➢   PacBase → UML : comment + conclusion (2)
palette de solutions                                                          mutation
                                                                               totale

solution          appl.
éditeur           dérivée                                                    DB
                                                              niveau 4
                                                                          sur Linux


                                               niveau 3   Java AS
                                                          sur Linux

                                        Cobol → Java
                            niveau 2
                                        CICS → Java AS
                                        autres : identiques
                                                               différentes étapes
    appl.                Cobol → Java                                  d'un
              niveau 1
  originale              autres : identiques                       même projet
                                                                        <>
                                                                différents projets
agenda
➢   PacBase → Java / UML : étapes successives
➢   point de départ
➢   motivations du projet
➢   acteurs et attentes
➢   palette de solutions
➢   cible optimale
➢   technologie et méthodologie
➢   bénéfices, conclusions (1)
➢   PacBase → UML : comment + conclusion (2)
cible optimale (1)
➢   devise Java → « write once, run anywhere »
       solution adaptable à tout système Java
➢   technologie eranea déjà testée sur
       linux, windows, z/Linux, z/OS, aix, solaris, etc.


➢   mais, il existe une cible optimale :
                 → linux sur serveurs x86
cible optimale (2)
                     ➢   architecture x86 → x1'000'000 en 40
                         ans
                     ➢   x86 rivalise avec les meilleurs
                         processeurs propriétaires
                     ➢   architecture exclusive chez Google,
                         Facebook, Twitter, etc.
                     ➢   cf benchmark TPC-C : meilleur ratio
                         prix / performance
                     ➢   projet eranea: 2 serveurs bi-
                         processeur pour 750'000 trans/j
cible optimale (3)
                     ➢   x86 domine le
                         marché en $ ( > 2/3)
                     ➢   … et en volume !
                            10'000 système z
                             actifs (3 ans de vie)
                            9 millions serveurs
                             x86 vendus par an
                            ratio 1 / 300'000
cible optimale (4)

                                     ➢   linux en croissance
                                         permanente
                                     ➢   OS propriétaires
            Windows = prédominance
                                         disparaissent
                      des
             serveurs bureautiques
                                     ➢   références Linux :
                                         London Stock Exchange,
                                          NYSE, Euronext, etc.
                                     ➢   pour les « 3S » : Speed,
                                         Stability, Security
agenda
➢   PacBase → Java / UML : étapes successives
➢   point de départ
➢   motivations du projet
➢   acteurs et attentes
➢   palette de solutions
➢   cible optimale
➢   technologie et méthodologie
➢   bénéfices, conclusions (1)
➢   PacBase → UML : comment + conclusion (2)
technologie et méthodologie (1)
➢   migration rapide et peu coûteuse :
       transcodage Cobol → Java 100% automatique
➢   risques quasi-nuls :
       construction // ancien et nouveau système
       partage de la même base de données ( « iso-
        fonctionnalité » 100%)
       tests automatisés récurrents
technologie et méthodologie (2)
➢   adaptation minimale des développeurs :
       code Java généré bien connu → iso-structurel et
        iso-syntaxique
➢   gêne réduite des utilisateurs:
       aucun décalage fonctionnel → transcodage
        quotidien
       formation minimale (nulle?) → iso-fonctionnalité
transcodage 100% automatique
➢   répétable sans coûts humains additionnels :
       fréquence quotidienne possible
       N.B. : 1% de changement manuel sur 10 millions de ligne =
        100'000 lignes !
➢   très rapide
       1 million de lignes → 4 minutes
➢   adaptations et améliorations faciles à l'échelle globale
       durant tout le projet !
       exemple : un web service (SOAP) généré par traitement
➢   qualité toujours identique
iso-fonctionnalité & -structure (1)
➢   cible du projet 100 % claire

➢   pas de mélange fonctionnel <> technologique

➢   construction :
       ancien et nouveau systèmes collaborent
       partage même base de données
iso-fonctionnalité & -structure (2)
➢   effort d'adaptation minimal
       syntaxe similaire
       structure des programmes préservée


➢   signe clair aux développeurs :
       leur job continue !
       ils sont aidés pour la transition
exemple avant <> après (1)
➢   référence : projet dans groupe média suisse
➢   contexte applicatif:
       20+ applications "maison" de gestion des
        commandes / ordres d'insertion dans la presse
       1'500 utilisateurs internes, 750'000 transactions /jour
        & 800'000 pages /mois
       400 travaux nocturnes en batch, 270 types de
        documents
       500 écrans applicatifs / 1'500 tables relationnelles
exemple avant <> après (2)
➢   avant:
       mainframe IBM z800 (350 mips) z/OS / CICS / COBOL / DB2
       réseau TCP/IP / émulation TN3270
       4 millions de lignes de Cobol à transcoder (2'150 programmes)
➢   après:
       cluster de serveurs Intel sous linux (Redhat) /Java / apache
        tomcat / UDB
       500 écrans html (+ Javascript / AJAX & CSS), 1'500 tables
        relationnelles
       4 millions de lignes de Java
outils : transcodeur & runtime
  Cobol                                                     NeaTranscoder
  pgm
  Cobol   Lexical           Syntax             Semantics        Code
  copy    Analysis          Analysis            Analysis      Generation
  BMS
  desc
                                                              NeaRuntime
             Java              XML
           Program            Screen                 Online
          (incl SQL)


                           “Cobol” support
                            SQL support
                                                      SOA
              Internal
  DBMS         Object      Display support
          implementation
                           CICS Emulation
                           Tracing / logging
                                                     Batch
intégration continue
   Application “historique”
              +
     Base de données



                              1. échanges automatisés
                                   via «clonage»
                               symétrique et traçable
               Moteur                                                 Moteur
                CI                                                     CI
                                       Internet
                                                         VPN
      Entrepôt         DB                                      Entrepôt      DB
      sources         ERIT      2. copie (partielle)           sources      ERIT
                              des assets propriétaires
              Integrate          3. réplication des                  Integrate
                                     processus
                                    et systèmes
   Client                                                  Eranea
migration (très) progressive
                                                                              Java
                                                                           becomes
                                               activity                    reference
                   tomcat

                                                    • 100% of data on DB2
                                                    • Cobol remains reference
                                             100%




                                                                                migration to new
                                                                       Java
                                          DRDA
instantaneous   progressive                                         on Tomcat




                                                                                      data
   way back
                migration




                                                                                       DB
to old system
                                                           Cobol
                                                          on Cics

                      CICS             DB2
                                              0%                                                   time
                                                                6-9              2-3
                                                               months           months

                                                                                       mainframe
                                                                                       switched
                                                                                          off
                            pas de Big Bang = clef du succès !!
capture et replay des tests
                      3270

                                              CICS             DB2           COBOL
                              (1)
                      XML                                        transcoder or
                     screen                                    run-time or Cobol
                      data                                         bug fixes



           (2)
                                              (4)
   XML
  screen
                                    when (1) & (3) different
   data           XML
                 screen       (3)
                  data

                                             Tomcat




                      HTML
agenda
➢   PacBase → Java / UML : étapes successives
➢   point de départ
➢   motivations du projet
➢   acteurs et attentes
➢   palette de solutions
➢   cible optimale
➢   technologie et méthodologie
➢   bénéfices, conclusions (1)
➢   PacBase → UML : comment + conclusion (2)
bénéfices (1)
➢   économies massives
       habituellement > 70 %
       > 90 % dans les cas favorables (mainframe → x86)
       exemple : 4.5 millions CHF / 5 → groupe média
➢   modernisation directe et « co-latérale »
       langage Java, interface html/ajax (GWT)
       génération de web services (SOAP), SOA généralisée
       généralisation PDF, système archivage (CMS) Open Source, etc.
bénéfices (2)
➢   synergie :
       abandon des technologies obsolètes
       unification des équipes système
➢   augmentation de la productivité :
       code mining et reporting : Integrate d'Eranea
       IDE moderne (Eclipse)
        •   saisie assistée, debugging interactif, fonctions QA
       outils de pilotage graphiques (Webmin, etc.)
bénéfices (3)
➢   nouvelles possibilités architecturales :
       croissance horizontale par ajout de serveurs
       incrément de croissance faible → décisions faciles
       fonctions haute disponibilité et Disaster Recovery
        nettement moins chères :
          → groupe média : création de site de DR interne
       isolation des fonctions : serveur DB <> serveurs
        TP <> serveurs batch
acteurs et attentes (bis)
➢   utilisateurs finaux :
       pas de dérangement et peu de formation
➢   CIO, architectes :
       système moderne et flexible, retour aux standards
       modernisation forte : réalisée + latente
       fortes économies
       absence de risques
➢   développeurs, ingénieurs
       nouvelles compétences
       effort d'adaptation limité
       pérennité de l'emploi
conclusion (1)
➢   un tel projet offre une double opportunité (unique?)
    à votre société :
       économies massives et modernisation forte
        simultanément
       auto-financement et ROI bref
➢   la stratégie sous-jacente est déterminante :
       vitesse de réalisation <> volume de modernisation
➢   la tactique d'exécution est clef :
       absence de risques, adhésion interne, etc.
agenda
➢   PacBase → Java / UML : étapes successives
➢   point de départ
➢   motivations du projet
➢   acteurs et attentes
➢   palette de solutions
➢   cible optimale
➢   technologie et méthodologie
➢   bénéfices, conclusions (1)
➢   PacBase → UML : comment + conclusion (2)
PacBase → UML / Java : 2 étapes
référentiel
 PacBase

                       générateur                   transcodeur
 modèle
                         Cobol
                                         Cobol          Java
                                                                     Java    tomcat
PacBase


                                            Transcodage Cobol → Java             dès
                                                                             aujourd'hui !
                                            économies massives rapides
              + partenaire                + modernisation plate-forme & UI




               modèle
                                    générateur
              PacBase
                                       Java
                                                   Java            tomcat
              modèle                   rétro-
               UML                   ingénierie
                                     Migration modèle PacBase → UML
         référentiel
                                              économies outils               développement
        multi-modèles                    + modernisation méthodes               en cours
modèle PacBase
➢   Un énorme investissement des clients à préserver et à valoriser dans
    les mondes Objet et Java
➢   Une modélisation objet avant l'heure :
       Rubrique PacBase= objet de base avec type physique mais surtout
        signification métier → classe Java
       Segment / Structure de Données = Bean (au sens Java) incluant les objets
        de base → classe Java
       chaque entité de base du modèle PacBase peut devenir très simplement
        une classe du monde Java / UML
➢   Proximité avec le standard UML : le modèle PacBase permet de
    dériver aisément les composants fondamentaux UML
       diagramme de classes :
       diagramme de séquence
       diagrammes de communication
       etc.
Enterprise Architect (EA)
➢   développé par SparxSystems
➢   > 300'000 utilisateurs dans le monde
➢   France : forte communauté + écosystème :
       Atos, CapGemini, Sopra, Armée française, Casino, Alcatel, Airbus, Renault


➢   système complet de modélisation (BPMN, UML, BPEL, etc.) avec
    référentiel
       s'applique à tout le cycle de développement
       fonctionne avec de grandes équipes
       intègre aussi la gestion de projet
       forte intégration Eclipse / portabilité Windows, Linux
transposition PacBase → UML


                         Prototype
                         modèle EA
                           partiel
génération java
➢   Modèle PacBase très objet → génération Java
    très « canonique » :
       classes Beans d’agrégation pour les données
       une vraie hiérarchie d'objets métiers
       classe séparée par programme, écran
➢   Appui sur NeaRuntime pour préserver l'iso-
    fonctionnalité : structures de données Cobol
➢   fonction rétro-ingénierie EA pour enrichir le
    modèle UML déduit du modèle PacBase
conclusion (2)
➢   Le transcodage est utilisable dès aujourd'hui pour
       •   faire des économies très massives : jusqu'à 90%
       •   moderniser la plate-forme technologique et les fonctions utilisateurs
           (UI) → profiter de l'innovation permanente des géants Internet dans
           l'infrastructure
       •   la mise en place est transparente pour les développeurs
➢   la transposition vers UML intervient ensuite (quand le Cobol
    n'est plus nécessaire pour mainframe) :
       •   modernisation des outils et méthodes
       •   augmentation de la productivité
       •   économies complémentaires
       •   la transition doit être préparée : formations, etc.
merci !
des questions ?




Didier DURAND
didier.durand@eranea.com
+41 79 944 37 10


eranea SA
chemin de Mornex
1001, Lausanne (Suisse)

Weitere ähnliche Inhalte

Andere mochten auch

Solutions SAP pour la performance logistique
Solutions SAP pour la performance logistiqueSolutions SAP pour la performance logistique
Solutions SAP pour la performance logistiqueitelligence France
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionYann Caron
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPKristen Le Liboux
 
Plateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesPlateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesMajdi SAIBI
 
Tests de performances d'une application Java EE
Tests de performances d'une application Java EETests de performances d'une application Java EE
Tests de performances d'une application Java EEAntonio Gomes Rodrigues
 
CoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalCoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalAhmed Mekkaoui
 
Informativo n°38 -_1°_basico_b_-_12_de diciembre_de_2014 _
Informativo n°38 -_1°_basico_b_-_12_de diciembre_de_2014 _Informativo n°38 -_1°_basico_b_-_12_de diciembre_de_2014 _
Informativo n°38 -_1°_basico_b_-_12_de diciembre_de_2014 _Colegio Camilo Henríquez
 
Presentación DokuGen
Presentación DokuGenPresentación DokuGen
Presentación DokuGenOmar Pera
 
Photosnoi Ret Blan Ceten Couleurs
Photosnoi Ret Blan Ceten CouleursPhotosnoi Ret Blan Ceten Couleurs
Photosnoi Ret Blan Ceten Couleursguest08244ac
 
Bilan et motivation 20 minutes
Bilan et motivation 20 minutesBilan et motivation 20 minutes
Bilan et motivation 20 minutesREALIZ
 
Pastores Alemanes Von Azulay
Pastores Alemanes Von AzulayPastores Alemanes Von Azulay
Pastores Alemanes Von Azulayvonazulay
 
PLATAFORMA DE AFILIAÇÃO
PLATAFORMA DE AFILIAÇÃOPLATAFORMA DE AFILIAÇÃO
PLATAFORMA DE AFILIAÇÃOEffiliation
 

Andere mochten auch (20)

Crypto graphy
Crypto graphyCrypto graphy
Crypto graphy
 
ModéLisation De Workflow En Uml
ModéLisation De Workflow En UmlModéLisation De Workflow En Uml
ModéLisation De Workflow En Uml
 
PHP MVC
PHP MVCPHP MVC
PHP MVC
 
Solutions SAP pour la performance logistique
Solutions SAP pour la performance logistiqueSolutions SAP pour la performance logistique
Solutions SAP pour la performance logistique
 
In01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introductionIn01 - Programmation Android - 01 - introduction
In01 - Programmation Android - 01 - introduction
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
Migration
MigrationMigration
Migration
 
Migration
MigrationMigration
Migration
 
Plateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'étudesPlateforme de gestion des projets de fin d'études
Plateforme de gestion des projets de fin d'études
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.ppt
 
Tests de performances d'une application Java EE
Tests de performances d'une application Java EETests de performances d'une application Java EE
Tests de performances d'une application Java EE
 
CoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalCoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-Total
 
Informativo n°38 -_1°_basico_b_-_12_de diciembre_de_2014 _
Informativo n°38 -_1°_basico_b_-_12_de diciembre_de_2014 _Informativo n°38 -_1°_basico_b_-_12_de diciembre_de_2014 _
Informativo n°38 -_1°_basico_b_-_12_de diciembre_de_2014 _
 
2º basico a 13 de noviembre
2º basico a  13 de noviembre2º basico a  13 de noviembre
2º basico a 13 de noviembre
 
Webquest continents
Webquest continentsWebquest continents
Webquest continents
 
Presentación DokuGen
Presentación DokuGenPresentación DokuGen
Presentación DokuGen
 
Photosnoi Ret Blan Ceten Couleurs
Photosnoi Ret Blan Ceten CouleursPhotosnoi Ret Blan Ceten Couleurs
Photosnoi Ret Blan Ceten Couleurs
 
Bilan et motivation 20 minutes
Bilan et motivation 20 minutesBilan et motivation 20 minutes
Bilan et motivation 20 minutes
 
Pastores Alemanes Von Azulay
Pastores Alemanes Von AzulayPastores Alemanes Von Azulay
Pastores Alemanes Von Azulay
 
PLATAFORMA DE AFILIAÇÃO
PLATAFORMA DE AFILIAÇÃOPLATAFORMA DE AFILIAÇÃO
PLATAFORMA DE AFILIAÇÃO
 

Ähnlich wie présentation migration automatisee Pacbase -> UML + Java

2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanneDidier Durand
 
Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Didier Durand
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdfOmbotimbe Salifou
 
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQAMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQMicrosoft
 
Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Microsoft
 
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)Publicis Sapient Engineering
 
Session GWT Devoxx France 2012 Cobra
Session GWT Devoxx France 2012 CobraSession GWT Devoxx France 2012 Cobra
Session GWT Devoxx France 2012 CobraDNG Consulting
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantALTIC Altic
 
Devforumfrancois Tonic
Devforumfrancois TonicDevforumfrancois Tonic
Devforumfrancois TonicGreenIvory
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...Jasmine Conseil
 
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système JavaLes ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système JavaDocDoku
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFBoubker ABERWAG
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptKhalid Jebbari
 
Développer et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoftDévelopper et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoftLeTesteur
 
Infrastructure agile avec Cloudformation - AWS Summit 2016
Infrastructure agile avec Cloudformation - AWS Summit 2016Infrastructure agile avec Cloudformation - AWS Summit 2016
Infrastructure agile avec Cloudformation - AWS Summit 2016Antoine Guy
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesChristophe Furmaniak
 
Gwt oxiane-novae-lr
Gwt oxiane-novae-lrGwt oxiane-novae-lr
Gwt oxiane-novae-lroxmed
 

Ähnlich wie présentation migration automatisee Pacbase -> UML + Java (20)

2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne
 
Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012
 
Agl2012
Agl2012Agl2012
Agl2012
 
0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf0251-formation-java-programmation-objet.pdf
0251-formation-java-programmation-objet.pdf
 
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQAMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
AMQP: interopérabilité et découplage de systèmes hétérogènes avec RabbitMQ
 
Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.
 
my_resume(fre)
my_resume(fre)my_resume(fre)
my_resume(fre)
 
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
Paris Container Day 2016 : Les nouveaux défis du déploiement (Xebia Labs)
 
Session GWT Devoxx France 2012 Cobra
Session GWT Devoxx France 2012 CobraSession GWT Devoxx France 2012 Cobra
Session GWT Devoxx France 2012 Cobra
 
Apache kafka big data track
Apache kafka   big data trackApache kafka   big data track
Apache kafka big data track
 
Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performant
 
Devforumfrancois Tonic
Devforumfrancois TonicDevforumfrancois Tonic
Devforumfrancois Tonic
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système JavaLes ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
Les ZAPeroTech #4 : REX Oracle Code One 2019 sur l'éco-système Java
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
 
Développer et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoftDévelopper et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoft
 
Infrastructure agile avec Cloudformation - AWS Summit 2016
Infrastructure agile avec Cloudformation - AWS Summit 2016Infrastructure agile avec Cloudformation - AWS Summit 2016
Infrastructure agile avec Cloudformation - AWS Summit 2016
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
Gwt oxiane-novae-lr
Gwt oxiane-novae-lrGwt oxiane-novae-lr
Gwt oxiane-novae-lr
 

présentation migration automatisee Pacbase -> UML + Java

  • 1. migration PacBase → UML /Java association Guépard – 09 octobre 2012 Paris didier durand didier.durand@eranea.com
  • 2. eranea ➢ basée à Lausanne, Suisse ➢ spécialisée dans la migration automatique et iso-fonctionnelle des applications métier vers Linux et Java ➢ multiples références pour technologie : banque, média, assurance, distribution, édition logiciel, etc. ➢ projet de référence : grande banque privée (Genève) :  système de « core banking » (10M lignes de Cobol) migré 100 % automatiquement et iso-fonctionnellement vers Linux et Java  mainframes z/OS : 2'500 Mips, CICS, VSAM, DB2, MQ, Sysplex
  • 3. agenda ➢ PacBase → Java / UML : étapes successives ➢ point de départ ➢ motivations du projet ➢ acteurs et attentes ➢ palette de solutions ➢ cible optimale ➢ technologie et méthodologie ➢ bénéfices, conclusions (1) ➢ PacBase → UML : comment + conclusion (2)
  • 4. PacBase → UML / Java : 2 étapes référentiel PacBase générateur transcodeur modèle Cobol Cobol Java Java tomcat PacBase Transcodage Cobol → Java dès aujourd'hui ! économies massives rapides + partenaire + modernisation plate-forme & UI Nécessairement postérieur à l'arrêt mainframe (quand Cobol n'est plus nécessaire) modèle générateur PacBase Java Java tomcat modèle rétro- UML ingénierie Migration modèle PacBase → UML référentiel économies outils développement multi-modèles + modernisation méthodes en cours
  • 5. point de départ ➢ une grande application critique au métier du client ➢ encapsulant tout son savoir-faire, solidement éprouvée sur des décennies ➢ représentant de lourds investissements (10s voire 100s d'années-hommes) ➢ en route vers l'obsolescence technologique ➢ sur un système opérationnel (très) cher comparé aux standards 2012
  • 6. motivations ➢ des économies en investissements (capex) et frais de tactique fonctionnement (opex) massives ➢ une mutation technologique vers les standards actuels:  technologies Web, interface RIA  architecture technique: SOA, Java, Linux stratégique  productivité: IDE, tests automatisés, QA des sources,  code coverage, etc  N.B.: abandon des anciennes technologies ➢ via solution eranea, les 2 en même temps !
  • 7. motivations - exemple 100% = approx. 5 millions CHF/an 100% ➢ logiciel trop cher → logiciels tiers environnement compétitif 90% base + tiers nécessaire 80% 70% ➢ passage à OSS : 60% logiciels IBM  -70 % sur la facture 50% (z/OS, Cics, DB2, etc..) logicielle 40% 30%  possibilité de 20% Périphériques changement HW 10% Cpu
  • 8. agenda ➢ PacBase → Java / UML : étapes successives ➢ point de départ ➢ motivations du projet ➢ acteurs et attentes ➢ palette de solutions ➢ cible optimale ➢ technologie et méthodologie ➢ bénéfices, conclusions (1) ➢ PacBase → UML : comment + conclusion (2)
  • 9. acteurs et attentes (1) ➢ utilisateurs finaux :  économies → informatique trop chère  pas de gêne ni de formation ➢ CIO :  acquérir agilité et indépendance  moderniser et améliorer  réduire les coûts d'exploitations  pas de risques pour la société … et lui
  • 10. acteurs et attentes (2) ➢ développeurs, ingénieurs système :  nouvelles compétences  meilleure efficacité et productivité  « et mon job ? » … ➢ architectes  modernisation  pérennité
  • 11. agenda ➢ PacBase → Java / UML : étapes successives ➢ point de départ ➢ motivations du projet ➢ acteurs et attentes ➢ palette de solutions ➢ cible optimale ➢ technologie et méthodologie ➢ bénéfices, conclusions (1) ➢ PacBase → UML : comment + conclusion (2)
  • 12. palette de solutions mutation totale solution appl. éditeur dérivée DB niveau 4 sur Linux niveau 3 Java AS sur Linux Cobol → Java niveau 2 CICS → Java AS autres : identiques différentes étapes appl. Cobol → Java d'un niveau 1 originale autres : identiques même projet <> différents projets
  • 13. agenda ➢ PacBase → Java / UML : étapes successives ➢ point de départ ➢ motivations du projet ➢ acteurs et attentes ➢ palette de solutions ➢ cible optimale ➢ technologie et méthodologie ➢ bénéfices, conclusions (1) ➢ PacBase → UML : comment + conclusion (2)
  • 14. cible optimale (1) ➢ devise Java → « write once, run anywhere »  solution adaptable à tout système Java ➢ technologie eranea déjà testée sur  linux, windows, z/Linux, z/OS, aix, solaris, etc. ➢ mais, il existe une cible optimale : → linux sur serveurs x86
  • 15. cible optimale (2) ➢ architecture x86 → x1'000'000 en 40 ans ➢ x86 rivalise avec les meilleurs processeurs propriétaires ➢ architecture exclusive chez Google, Facebook, Twitter, etc. ➢ cf benchmark TPC-C : meilleur ratio prix / performance ➢ projet eranea: 2 serveurs bi- processeur pour 750'000 trans/j
  • 16. cible optimale (3) ➢ x86 domine le marché en $ ( > 2/3) ➢ … et en volume !  10'000 système z actifs (3 ans de vie)  9 millions serveurs x86 vendus par an  ratio 1 / 300'000
  • 17. cible optimale (4) ➢ linux en croissance permanente ➢ OS propriétaires Windows = prédominance disparaissent des serveurs bureautiques ➢ références Linux : London Stock Exchange, NYSE, Euronext, etc. ➢ pour les « 3S » : Speed, Stability, Security
  • 18. agenda ➢ PacBase → Java / UML : étapes successives ➢ point de départ ➢ motivations du projet ➢ acteurs et attentes ➢ palette de solutions ➢ cible optimale ➢ technologie et méthodologie ➢ bénéfices, conclusions (1) ➢ PacBase → UML : comment + conclusion (2)
  • 19. technologie et méthodologie (1) ➢ migration rapide et peu coûteuse :  transcodage Cobol → Java 100% automatique ➢ risques quasi-nuls :  construction // ancien et nouveau système  partage de la même base de données ( « iso- fonctionnalité » 100%)  tests automatisés récurrents
  • 20. technologie et méthodologie (2) ➢ adaptation minimale des développeurs :  code Java généré bien connu → iso-structurel et iso-syntaxique ➢ gêne réduite des utilisateurs:  aucun décalage fonctionnel → transcodage quotidien  formation minimale (nulle?) → iso-fonctionnalité
  • 21. transcodage 100% automatique ➢ répétable sans coûts humains additionnels :  fréquence quotidienne possible  N.B. : 1% de changement manuel sur 10 millions de ligne = 100'000 lignes ! ➢ très rapide  1 million de lignes → 4 minutes ➢ adaptations et améliorations faciles à l'échelle globale  durant tout le projet !  exemple : un web service (SOAP) généré par traitement ➢ qualité toujours identique
  • 22. iso-fonctionnalité & -structure (1) ➢ cible du projet 100 % claire ➢ pas de mélange fonctionnel <> technologique ➢ construction :  ancien et nouveau systèmes collaborent  partage même base de données
  • 23. iso-fonctionnalité & -structure (2) ➢ effort d'adaptation minimal  syntaxe similaire  structure des programmes préservée ➢ signe clair aux développeurs :  leur job continue !  ils sont aidés pour la transition
  • 24. exemple avant <> après (1) ➢ référence : projet dans groupe média suisse ➢ contexte applicatif:  20+ applications "maison" de gestion des commandes / ordres d'insertion dans la presse  1'500 utilisateurs internes, 750'000 transactions /jour & 800'000 pages /mois  400 travaux nocturnes en batch, 270 types de documents  500 écrans applicatifs / 1'500 tables relationnelles
  • 25. exemple avant <> après (2) ➢ avant:  mainframe IBM z800 (350 mips) z/OS / CICS / COBOL / DB2  réseau TCP/IP / émulation TN3270  4 millions de lignes de Cobol à transcoder (2'150 programmes) ➢ après:  cluster de serveurs Intel sous linux (Redhat) /Java / apache tomcat / UDB  500 écrans html (+ Javascript / AJAX & CSS), 1'500 tables relationnelles  4 millions de lignes de Java
  • 26. outils : transcodeur & runtime Cobol NeaTranscoder pgm Cobol Lexical Syntax Semantics Code copy Analysis Analysis Analysis Generation BMS desc NeaRuntime Java XML Program Screen Online (incl SQL) “Cobol” support SQL support SOA Internal DBMS Object Display support implementation CICS Emulation Tracing / logging Batch
  • 27. intégration continue Application “historique” + Base de données 1. échanges automatisés via «clonage» symétrique et traçable Moteur Moteur CI CI Internet VPN Entrepôt DB Entrepôt DB sources ERIT 2. copie (partielle) sources ERIT des assets propriétaires Integrate 3. réplication des Integrate processus et systèmes Client Eranea
  • 28. migration (très) progressive Java becomes activity reference tomcat • 100% of data on DB2 • Cobol remains reference 100% migration to new Java DRDA instantaneous progressive on Tomcat data way back migration DB to old system Cobol on Cics CICS DB2 0% time 6-9 2-3 months months mainframe switched off pas de Big Bang = clef du succès !!
  • 29. capture et replay des tests 3270 CICS DB2 COBOL (1) XML transcoder or screen run-time or Cobol data bug fixes (2) (4) XML screen when (1) & (3) different data XML screen (3) data Tomcat HTML
  • 30. agenda ➢ PacBase → Java / UML : étapes successives ➢ point de départ ➢ motivations du projet ➢ acteurs et attentes ➢ palette de solutions ➢ cible optimale ➢ technologie et méthodologie ➢ bénéfices, conclusions (1) ➢ PacBase → UML : comment + conclusion (2)
  • 31. bénéfices (1) ➢ économies massives  habituellement > 70 %  > 90 % dans les cas favorables (mainframe → x86)  exemple : 4.5 millions CHF / 5 → groupe média ➢ modernisation directe et « co-latérale »  langage Java, interface html/ajax (GWT)  génération de web services (SOAP), SOA généralisée  généralisation PDF, système archivage (CMS) Open Source, etc.
  • 32. bénéfices (2) ➢ synergie :  abandon des technologies obsolètes  unification des équipes système ➢ augmentation de la productivité :  code mining et reporting : Integrate d'Eranea  IDE moderne (Eclipse) • saisie assistée, debugging interactif, fonctions QA  outils de pilotage graphiques (Webmin, etc.)
  • 33. bénéfices (3) ➢ nouvelles possibilités architecturales :  croissance horizontale par ajout de serveurs  incrément de croissance faible → décisions faciles  fonctions haute disponibilité et Disaster Recovery nettement moins chères : → groupe média : création de site de DR interne  isolation des fonctions : serveur DB <> serveurs TP <> serveurs batch
  • 34. acteurs et attentes (bis) ➢ utilisateurs finaux :  pas de dérangement et peu de formation ➢ CIO, architectes :  système moderne et flexible, retour aux standards  modernisation forte : réalisée + latente  fortes économies  absence de risques ➢ développeurs, ingénieurs  nouvelles compétences  effort d'adaptation limité  pérennité de l'emploi
  • 35. conclusion (1) ➢ un tel projet offre une double opportunité (unique?) à votre société :  économies massives et modernisation forte simultanément  auto-financement et ROI bref ➢ la stratégie sous-jacente est déterminante :  vitesse de réalisation <> volume de modernisation ➢ la tactique d'exécution est clef :  absence de risques, adhésion interne, etc.
  • 36. agenda ➢ PacBase → Java / UML : étapes successives ➢ point de départ ➢ motivations du projet ➢ acteurs et attentes ➢ palette de solutions ➢ cible optimale ➢ technologie et méthodologie ➢ bénéfices, conclusions (1) ➢ PacBase → UML : comment + conclusion (2)
  • 37. PacBase → UML / Java : 2 étapes référentiel PacBase générateur transcodeur modèle Cobol Cobol Java Java tomcat PacBase Transcodage Cobol → Java dès aujourd'hui ! économies massives rapides + partenaire + modernisation plate-forme & UI modèle générateur PacBase Java Java tomcat modèle rétro- UML ingénierie Migration modèle PacBase → UML référentiel économies outils développement multi-modèles + modernisation méthodes en cours
  • 38. modèle PacBase ➢ Un énorme investissement des clients à préserver et à valoriser dans les mondes Objet et Java ➢ Une modélisation objet avant l'heure :  Rubrique PacBase= objet de base avec type physique mais surtout signification métier → classe Java  Segment / Structure de Données = Bean (au sens Java) incluant les objets de base → classe Java  chaque entité de base du modèle PacBase peut devenir très simplement une classe du monde Java / UML ➢ Proximité avec le standard UML : le modèle PacBase permet de dériver aisément les composants fondamentaux UML  diagramme de classes :  diagramme de séquence  diagrammes de communication  etc.
  • 39. Enterprise Architect (EA) ➢ développé par SparxSystems ➢ > 300'000 utilisateurs dans le monde ➢ France : forte communauté + écosystème :  Atos, CapGemini, Sopra, Armée française, Casino, Alcatel, Airbus, Renault ➢ système complet de modélisation (BPMN, UML, BPEL, etc.) avec référentiel  s'applique à tout le cycle de développement  fonctionne avec de grandes équipes  intègre aussi la gestion de projet  forte intégration Eclipse / portabilité Windows, Linux
  • 40. transposition PacBase → UML Prototype modèle EA partiel
  • 41. génération java ➢ Modèle PacBase très objet → génération Java très « canonique » :  classes Beans d’agrégation pour les données  une vraie hiérarchie d'objets métiers  classe séparée par programme, écran ➢ Appui sur NeaRuntime pour préserver l'iso- fonctionnalité : structures de données Cobol ➢ fonction rétro-ingénierie EA pour enrichir le modèle UML déduit du modèle PacBase
  • 42. conclusion (2) ➢ Le transcodage est utilisable dès aujourd'hui pour • faire des économies très massives : jusqu'à 90% • moderniser la plate-forme technologique et les fonctions utilisateurs (UI) → profiter de l'innovation permanente des géants Internet dans l'infrastructure • la mise en place est transparente pour les développeurs ➢ la transposition vers UML intervient ensuite (quand le Cobol n'est plus nécessaire pour mainframe) : • modernisation des outils et méthodes • augmentation de la productivité • économies complémentaires • la transition doit être préparée : formations, etc.
  • 43. merci ! des questions ? Didier DURAND didier.durand@eranea.com +41 79 944 37 10 eranea SA chemin de Mornex 1001, Lausanne (Suisse)