présentation migration automatisee Pacbase -> UML + Java

43
migration PacBase → UML /Java association Guépard – 09 octobre 2012 Paris didier durand [email protected]

description

Présentation faite au GUEPARD (09 Octobre 2012) sur la migration automatisée PacBase -> UML + Java en 2 temps : (a) sortie iso-fonctionnelle et automatique du mainframe via transcodage Cobol puis (b) import référentiel PacBase dans Enterprise Architect et génération Java

Transcript of présentation migration automatisee Pacbase -> UML + Java

Page 1: présentation migration automatisee Pacbase -> UML + Java

migration PacBase → UML /Javaassociation Guépard – 09 octobre 2012

Paris

didier durand [email protected]

Page 2: présentation migration automatisee Pacbase -> UML + Java

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

Page 3: présentation migration automatisee Pacbase -> UML + Java

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)

Page 4: présentation migration automatisee Pacbase -> UML + Java

PacBase → UML / Java : 2 étapes

tomcat

tomcat

modèlePacBase

modèlePacBase

modèleUML

transcodeurJava

générateurCobol

Cobol Java

générateurJava

Java

Transcodage Cobol → Java économies massives rapides

+ modernisation plate-forme & UI

Migration modèle PacBase → UML économies outils

+ modernisation méthodesréférentiel

multi-modèles

référentielPacBase

rétro-ingénierie

+ partenaire

dèsaujourd'hui !

développementen cours

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

Page 5: présentation migration automatisee Pacbase -> UML + Java

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

Page 6: présentation migration automatisee Pacbase -> UML + Java

motivations

➢ des économies en investissements (capex) et frais de fonctionnement (opex) massives

➢ une mutation technologique vers les standards actuels: technologies Web, interface RIA architecture technique: SOA, Java, Linux 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 !

tactique

stratégique

Page 7: présentation migration automatisee Pacbase -> UML + Java

motivations - exemple

➢ logiciel trop cher → environnement compétitif base + tiers nécessaire

➢ passage à OSS :

-70 % sur la facture logicielle

possibilité de changement HW

10%20%30%40%50%60%70%80%90%

100%

100% = approx. 5 millions CHF/an

Cpu

Périphériques

logiciels tiers

logiciels IBM(z/OS, Cics, DB2, etc..)

Page 8: présentation migration automatisee Pacbase -> UML + Java

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)

Page 9: présentation migration automatisee Pacbase -> UML + Java

➢ 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 (1)

Page 10: présentation migration automatisee Pacbase -> UML + Java

acteurs et attentes (2)

➢ développeurs, ingénieurs système : nouvelles compétences meilleure efficacité et productivité « et mon job ? » …

➢ architectes modernisation pérennité

Page 11: présentation migration automatisee Pacbase -> UML + Java

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)

Page 12: présentation migration automatisee Pacbase -> UML + Java

palette de solutions

appl.originale

mutationtotale

niveau 1

niveau 2

niveau 3

niveau 4

Cobol → Javaautres : identiques

Cobol → JavaCICS → Java ASautres : identiques

Java AS sur Linux

DBsur Linux

différentes étapes d'un

même projet<>

différents projets

appl. dérivée

solutionéditeur

Page 13: présentation migration automatisee Pacbase -> UML + Java

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)

Page 14: présentation migration automatisee Pacbase -> UML + Java

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

Page 15: présentation migration automatisee Pacbase -> UML + Java

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

Page 16: présentation migration automatisee Pacbase -> UML + Java

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

Page 17: présentation migration automatisee Pacbase -> UML + Java

cible optimale (4)

➢ linux en croissance permanente

➢ OS propriétaires disparaissent

➢ références Linux : London Stock Exchange, NYSE, Euronext, etc.

➢ pour les « 3S » : Speed, Stability, Security

Windows = prédominancedes

serveurs bureautiques

Page 18: présentation migration automatisee Pacbase -> UML + Java

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)

Page 19: présentation migration automatisee Pacbase -> UML + Java

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

Page 20: présentation migration automatisee Pacbase -> UML + Java

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é

Page 21: présentation migration automatisee Pacbase -> UML + Java

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

Page 22: présentation migration automatisee Pacbase -> UML + Java

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

Page 23: présentation migration automatisee Pacbase -> UML + Java

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

Page 24: présentation migration automatisee Pacbase -> UML + Java

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

Page 25: présentation migration automatisee Pacbase -> UML + Java

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

Page 26: présentation migration automatisee Pacbase -> UML + Java

outils : transcodeur & runtime

“Cobol” support

SQL support

CICS Emulation

Display support

Tracing / logging

InternalObject

implementation

JavaProgram

(incl SQL)

XMLScreen

DBMS

LexicalAnalysis

Syntax Analysis

Semantics Analysis

Cobolcopy

Cobolpgm

BMSdesc

Code Generation

NeaTranscoder

NeaRuntime

Online

SOA

Batch

Page 27: présentation migration automatisee Pacbase -> UML + Java

intégration continue

Internet

Entrepôt sources

DB ERIT

Integrate

Client

1. échanges automatisésvia «clonage»

symétrique et traçable

2. copie (partielle) des assets propriétaires

3. réplication des processus

et systèmes

MoteurCI

Entrepôt sources

Integrate

Eranea

MoteurCI

Application “historique”+

Base de données

DB ERIT

VPN

Page 28: présentation migration automatisee Pacbase -> UML + Java

migration (très) progressive

2-3months

DRDA

time

activity

Cobolon Cics

Javaon Tomcat

100%

6-9months

• 100% of data on DB2• Cobol remains reference

Javabecomesreference

dat

am

igra

tio

n t

o n

ew

DB

mainframeswitched

off

CICS DB2

progressivemigration

pas de Big Bang = clef du succès !!

instantaneousway back

to old system

0%

tomcat

Page 30: présentation migration automatisee Pacbase -> UML + Java

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)

Page 31: présentation migration automatisee Pacbase -> UML + Java

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.

Page 32: présentation migration automatisee Pacbase -> UML + Java

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.)

Page 33: présentation migration automatisee Pacbase -> UML + Java

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

Page 34: présentation migration automatisee Pacbase -> UML + Java

➢ 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

acteurs et attentes (bis)

Page 35: présentation migration automatisee Pacbase -> UML + Java

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.

Page 36: présentation migration automatisee Pacbase -> UML + Java

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)

Page 37: présentation migration automatisee Pacbase -> UML + Java

PacBase → UML / Java : 2 étapes

tomcat

tomcat

modèlePacBase

modèlePacBase

modèleUML

transcodeurJava

générateurCobol

Cobol Java

générateurJava

Java

Transcodage Cobol → Java économies massives rapides

+ modernisation plate-forme & UI

Migration modèle PacBase → UML économies outils

+ modernisation méthodesréférentiel

multi-modèles

référentielPacBase

rétro-ingénierie

+ partenaire

dèsaujourd'hui !

développementen cours

Page 38: présentation migration automatisee Pacbase -> UML + Java

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.

Page 39: présentation migration automatisee Pacbase -> UML + Java

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

Page 40: présentation migration automatisee Pacbase -> UML + Java

transposition PacBase → UML

Prototype modèle EA

partiel

Page 41: présentation migration automatisee Pacbase -> UML + Java

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

Page 42: présentation migration automatisee Pacbase -> UML + Java

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.

Page 43: présentation migration automatisee Pacbase -> UML + Java

merci !

des questions ?

Didier [email protected]+41 79 944 37 10

eranea SAchemin de Mornex1001, Lausanne (Suisse)