2012 02-09-eranea-presentation-jug-lausanne
DESCRIPTION
Retour d'exppérience au Java User Group de Lausanne autour du transcodage automatique de grandes applications Cobol vers Java - 09 février 2012TRANSCRIPT
Mutation technologiqued'applications métier
vers Linux & Java
- JUG Lausanne -
(09 février 2012)
13/02/12 © Eranea SA 2
AgendaBusiness case / Méthodologie
Quoi ? Point de départ
Pourquoi ? Motivations
Business case
Où ? Cible optimale
Qui ? Les acteurs, leurs attentes
Quoi ? Continuum de solutions
Comment ?
Technologie & méthodologie
Bénéfices et conclusions
Points technologiques / démo
13/02/12 © Eranea SA 3
Cobol : quo vadis ? Selon Microfocus :
Chaque consommateur a 13 interactions quotidiennes avec des applications cobol (achats, appels Natel, etc...)
220 milliards de lignes de Cobol actives : + 5 milliards chaque année
60 à 80 de l'activité des multinationales « repose » sur Cobol : 80% des transactions commerciales l'utilise
200 x plus de transactions Cobol que de requêtes Google chaque jourSource: www.developpez.net
13/02/12 © Eranea SA 4
Retour d'expérienceBasé essentiellement
Sur un projet en cours avec grande banque privée genevoise : 10 millions de lignes de Cobol + zOS + CICS + DB2
Sur un projet média terminé à 100%: 4.5 millions de lignes de Cobol + zOS + CICS + DB2
Sur un projet avec un éditeur de logiciel australien 100% terminé
Sur un projet avec assurance étrangère 100% terminé
Sur un projet avec une administration étrangère terminé à 75%
Signalés par dans les slides qui suivent
→ La méthodologie (automatisation, 3-iso, fonctionnement //, etc.) est aussi voire plus importante que la technologie qui doit la servir !
13/02/12 © Eranea SA 5
Quoi ? 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 2011
13/02/12 © Eranea SA 6
Pourquoi ? Motivations Des économies en investissements (capex) et frais de fonctionnement (opex) massives
Une mutation technologique vers les standards 2011:
technologies Web, interface RIAarchitecture technique: SOA, Java, Linuxproductivité: IDE, tests automatisés, QA des sources, code coverage, etc
N.B.: abandon des anciennes technologies en fin de projet
Si possible les 2 en même temps !
13/02/12 © Eranea SA 7
Business case (projet média - 2003)
Le Logiciel Système est le "point chaud"
Un environnement plus compétitif est impératif
Il aura un impact positif sur les logiciels tiers
Hardware/périphériques ne représentent pas la priorité initiale. On pourrait rester sur hardware grand système
Les très bonnes performances Pentium ont permis le passage sur serveurs x860%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
100% = approx. 5 millions CHF/an
Cpu
Périphériques
logiciels tiers
logiciels Système(OS, TP, DB, etc..
Passage à l'Open Source: 70%+ des cash-outs quasi-annulés !
13/02/12 © Eranea SA 8
Où ? Cible
Serveurs x86 (Intel, AMD)
Linux pour le système
Java pour l'environnement applicatif
13/02/12 © Eranea SA 9
Où ? Cible : serveurs x86
Quantité
Architecture #1 en dollars et volume!
Performances
Progression exponentielle
8 machines du top 10 du Top500 mondial sur base x86
Top 10 du TPC-C = 100%
13/02/12 © Eranea SA 10
Où ? Cible : Linux
Google: 2 millions de serveurs
Linux utilisé par London Stock Exchange et autres places boursières (NYSE, Deutsche Börse, Shanghai, etc.)
pour ses 3S (« Speed, Stability, Security) »
1'000'000 trans/s (réponse: 400 ms) pour le « flash trading »
Fonctionne sur toutes les architectures matérielles : x86, Power, Sparc, ARM (Android), etc.
→ Architectures sophistiquées (redondance, haute disponibilité) et évolutions HW possibles (exemple: projet média → début sur zLinux puis bascule vers x86)
→ Fort levier sur les fournisseurs HW placés dans un environnement compétitif
13/02/12 © Eranea SA 11
Où ? Cible : Java
devise Java : « Write Once, Run Anywhere »
Java : langage le mieux « équipé » de l'histoire de l'informatique (Eclipse, outils QAs, outils monitoring, etc.)
Open Source et très majoritairement gratuit :
JVM, application server (Tomcat, JBoss, etc.), Java Melody
Jenkins, Ant, Eclipse, GWT, Selenium, Cobertura, etc.
Le même code source fonctionne sur Linux, zLinux, MS Windows, AIX, zOS, Solaris.
13/02/12 © Eranea SA 12
Qui ? Les acteurs, leurs attentes
developers engineers architects
CIO
users
Massive savings
Risks (corporate … & personal)
IT cost reductions
Disturbance
Structural, functional changes
Job / position danger
Higher productivity
New skills
Modern technology
New skills
Job / position danger
Training
Architecture flexibility
Functional agility
??
→ Toutes les parties auprojet doivent y trouver leurcompte
13/02/12 © Eranea SA 13
Quoi ? Continuum
Application
“historique”
même DBmême OSmême TP (CICS, IMS) Cobol → Java
même DBmême OSJava ASCobol → Java
Application
Java“dérivée
”
même DBautre OSJava ASCobol → Java
autre DBautre OSJava ASCobol → Java
Migration
totale
à chaque version
(éditeur de logiciel multi-plate-forme)
Différentes cibles possibles ou étapes d'un même projet(NB: aucune interruption des évolutions fonctionnelles )
1 2 3 4
13/02/12 © Eranea SA 14
Comment ? Faire baisser drastiquement les coûts de de mutation en migrant automatiquement cette application
… avec des risques minimaux via une méthodologie spécifique et éprouvée (« petits pas réversibles » + tests automatisés)
Points-clefs dans un grand compte
13/02/12 © Eranea SA 15
Comment ? La formeTranscodage automatique continu:
100 % de l'application complètement transcodée chaque nuit
tests automatiques via scenarii capturés et rejoués par robot
Transcodage 3-iso:iso-fonctionnel: le minimum...iso-structurel: code source (développeurs), interface
et cinématique (utilisateurs)iso-syntaxique (développeurs)
un processus industriel et répétable et pas du «1-shot » à l'arraché car le projet dure 15+ mois (variable selon restructuration applicative initiale / inventaires / niveau de modernisation souhaité)
Le partage “live” de la base de données unique est essentiel au succès
V1 du nouveau système strictement identique à l'ancien. Ensuite seulement, multiples petits pas rapides d'évolution
13/02/12 © Eranea SA 16
Comment ? Les raisons (1/2) Transcodage 100% automatique:
répétable à coûts nuls
rapidité de réalisation
qualité toujours identique, risques faibles
évolutions globales par transcodage n+1 (EJBs, SOA)
pas d'arrêt de la maintenance ni décalage fonctionnel … sans mélange des genres !
Les bonnes idées peuvent arriver tard dans le projet (bien après la RFP....)
un processus industriel et répétable et pas du «1-shot » à l'arraché
L'automatisation permet de réfléchir pour bien faire les choses …. sans paralyser le “daily business”
13/02/12 © Eranea SA 17
Comment ? Les raisons (2/2)Iso-transcodage:
cible 100% claire !
ne pas déranger les utilisateurs: implication minimale et formation nulle
ne pas perturber les équipes de développement
rassurer et les motiver les collaborateurs loyaux et fidèles
Une mutation complète et rapide ne peut aboutir qu'avec les équipes en place pas contre elles !
13/02/12 © Eranea SA 18
Comment ? (projet média) Contexte applicatif:
20+ applications "maison" de gestion administrative de commandes. 100% code source disponible.
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
Avant:Mainframe IBM z800 (350 Mips) zOS / CICS / COBOL / DB2Ré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
/UDB500 écrans html (+ Javascript/AJAX & CSS), 1'500 tables
relationnelles4 millions de lignes de Java
13/02/12 © Eranea SA 19
Comment ? Technologie
Transcodage iso-strucurel facilite grandement la transition des équipes en place
“Cobol” support
SQL support
CICS Emulation
Display support
Tracing / logging
InternalObject
implementation
JavaProgram
(incl SQL)
XMLScreen
DBMS
LexicalAnalysis
Syntax
Analysis
Semantics Analysis
Cobol
copy
Cobol
pgm
BMS
desc
Code Generation
NeaTranscoder
NeaRuntime
Online
SOA
Batch
13/02/12 © Eranea SA 20
Comment ? Processus
Entrepôt sources
DB ERIT
Integrate
MoteurCI
cobol
déclenchementtravaux
Jenkins + Ant
(windows)
DB2(zOS)
Subversion
(zLinux)
Tomcat + GWT
+ Lucene(zLinux)
consultations+ recherches
code source rapports
code source
DB2
SharedBatch Online
ServiceBackendBatch
WebServiceFront
Application
Application server
monitoring
développeurs
administrateurs
utilisateurs
13/02/12 © Eranea SA 21
Comment ? No big-bang = no risk
2-3months
DRDAconnection
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 D
B
MainframeSwitched
off
CICS DB2
ProgressiveMigration
Big Bang Avoidance = Key Success Factor !!
Instantaneousway backto old system
0%
Tomcat
Souplesse et adaptabilité de la planification de la migration sont critiques
13/02/12 © Eranea SA 22
Comment ? Tests permanents
Tomcat
CICS
DB2
XMLScree
nData
3270
XMLScree
nData
HTML
COBOL
XMLScree
nData
Transcoder orrun-time or Cobol
bug fixes
(1)
(2)
(3)
(4)when (1) & (3) different
Les tests ne doivent pas être “gommés”: ils font partie du projetmais aident les développeurs à s'approprier le nouveau code
13/02/12 © Eranea SA 23
Bénéfices (1/2) Économies: Projet média → 4.5 millions / an (= 90% !)
Levier « naturel » et rapide sur les apports technologiques intrinsèques de la nouvelle plate-forme:
Projet média: Interface Web, 100% documents PDF, système d'archivage standard (Knowledge Tree)
Projet bancaire: SOA généralisée, intégration BPM, interface RIA (Google GWT), fonctionnalités augmentées (« contexte sémantique »)
Synergies technologiques additionnelles par abandon technologies – Optimisations RH résultantes
Economies → facteur principal d'adhésion du management (généralement peu “sensible”à la beauté des nouvelles technologies...)
13/02/12 © Eranea SA 24
Bénéfices (2/2)Augmentation de la productivité :
Architecture: structuration optimisée par « code mining » (« NeaMining »), pilotage / suivi intégré du parc logiciel (« NeaIntegrate »)
Développement :outillage Java, debugging interactif, environnement personnel indépendant
Production : interface graphique de gestion du système (Webmin – open source → gratuit !)
Nouvelles possibilités architecturales :Projet media → propre centre de backupCroissance horizontale par ajout de serveurIsolation des fonctions : batch vs transactionnel, etc..
13/02/12 © Eranea SA 25
Qui ? Les acteurs, leurs attentes
developers engineers architects
CIO
users
Risks (corporate … & personal)
Disturbance
Job / position danger Job / position danger
Training
- automated testing- dual systems
- iso-functional / iso-structure for appl.
- progressive migration- dual system on same data- automated testing
- direct involvement in migration- iso-structure & iso-syntax- new capabilities → new demand
- builder (= owner) of new system- new projects: backup center, etc.
Everybody now on modern and “fun” platform
13/02/12 © Eranea SA 26
ConclusionUne mutation technologique vers Linux/Java offre 2 opportunités habituellement non simultanées:
Évolution fonctionnelle fondamentaleRéduction massive des coûts
Le transcodage automatique permet une synergie entre elles: Les réductions opex/capex permettent le financement du projet avec ROI court puis des économies restituables ensuite au business
13/02/12 © Eranea SA 27
Points technologiques (1/2)
Structure « plate » d'une application Cobol <> packages Java : un outil de mapping est nécessaire pour structurer le Cobol initial
Necéssité d'un outil Ajax / Interface riche pour pouvoir reproduire (via Javascript) fidèlement le mapping du clavier mainframe orignal. Possibilités de « belle » interface ensuite → Google Web Toolkit
13/02/12 © Eranea SA 28
Points technologiques (2/2)
Cobol permet des calculs sur des nombres avec 31 digits → Java ne le permet pas à la base → extensions nécessaires
Codage « packé » des nombres (COMP-3 COBOL)
Page de code EBCDIC des caractères sur le mainframe (ordre de tris, etc.)
13/02/12 © Eranea SA 29
Merci de votre attention !
Des questions ?
Didier Durand
[email protected]+41 79 944 37 10
Eranea SAchemin de Mornex, 21003 LausanneSuisse