présentation migration automatisee Pacbase -> UML + Java

Preview:

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

Citation preview

migration PacBase → UML /Javaassociation 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

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)

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

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

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)

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

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

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

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 disparaissent

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

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

Windows = prédominancedes

serveurs bureautiques

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” 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

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

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

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

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

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

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

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 DURANDdidier.durand@eranea.com+41 79 944 37 10

eranea SAchemin de Mornex1001, Lausanne (Suisse)

Recommended