ANWENDUNGSMODERNISIERUNG
IM ZEITALTER DER
DIGITALISIERUNG
ING. ALEXANDER L. PAWLIK
4. Oktober 2018
www.cwi.at 10
▪ 1964 – S/360
▪ 1966 - Modell 20 mit 4 kB Arbeitsspeicher als Einstiegsmodell
▪ Gepackte Dezimalzahlen
▪ Erstmals „Volle Kompatibilität“
▪ S/370
▪ S/390
▪ System z
IBM „MAINFRAME“MEHR ALS 50 JAHRE BESTAND …
www.cwi.at 19
▪ Anwendung des US Department of Defence
▪ Version 1.0 erschien 1958
▪ COBOL (damals noch nicht standardisiert)
▪ Wechselnde „Frontends“
Input über Lochkarten
Weiterentwicklung in Richtung „Green Screen“
Modernisierung in Richtung GUI
▪ 2015 wurden ca. 340.000 Verträge vom System verwaltet
▪ 2015 läuft das System auf IBM 2098 E-10
▪ Ablöse scheiterte mehrmals an den Kosten, der Komplexität und der Migrationsplanung
A LONG, LONG TIME AGOMECHANIZATION OF CONTRACT ADMINISTRATION SERVICES
www.cwi.at 21
▪ Weltweit geschätzt 2 Millionen Entwickler
▪ Verwendung in 90 % der Fortune 500
▪ 85 % der täglichen Transaktionen beinhalten COBOL
▪ 1,5 Millionen neue Code-Zeilen pro Tag
▪ Investitionsvolumen rund 1 Billion USD (Personal und Hardware)
COBOL IM JAHR 2015
www.cwi.at 22
TeamarbeitEntwicklungswerkzeuge
MIGRATIONSSCHWERPUNKTE
Modernisierung der Anwendungsentwicklung
Modernisierung der Anwendungen
Oberflächen-modernisierung
MigrationPortierung
www.cwi.at 23
MODERNISIERUNG DER
ANWENDUNGENMÖGLICHKEITEN
Zeit/Risiken
Funktionalität/Stabilität
50%
75%
100%
25%
23
www.cwi.at 24
▪ bringt System in Ihre Abläufe
▪ ist Ihr Wettbewerbsvorteil
Alleinstellung im Markt
▪ wächst mit Ihnen mit
▪ ist Ihr Eigentum
▪ übertrifft Standardsoftware
▪ auch Standardsoftware braucht Personal, Infrastruktur und Wartung
▪ spart Zeit und Geld
Sie haben 100 % Einfluss auf das „Endprodukt“
Sie bestimmen wann was entwickelt wird
Sie entscheiden über Automatisierungsgrad
Sie sparten Lizenzkosten und haben minimale Schulungskosten
INDIVIDUALSOFTWARE
www.cwi.at 25
STANDARDSOFTWARE
SAP Geschäftsbericht 2008 (Seite 2)
www.cwi.at 26
▪ Investitionsschutz
Erhaltung der Geschäftslogik
“1:1”-Abbildung der heutigen Anwendung
▪ Leichte Wartung
“Wiedererkennung” sehr hoch
▪ Voraussetzung für Systemunabhängigkeit
▪ Oberflächenmodernisierung inklusive
100% Automatisierung möglich
▪ “Mischvarianten” möglich
MODERNISIERUNG DER
ANWENDUNGENMIGRATION - VORTEILE
www.cwi.at 27
▪ Verlängerung der Lebensdauer
▪ Erhöhung der Flexibilität
▪ Senkung der Lizenz/Wartungskosten
▪ Risikominimierung
Test steht im Vordergrund – nicht die Neuentwicklung
▪ Kostenreduzierung
Billiger als Neuentwicklung
Billiger als Einführung eines Standardpakets
▪ Hoher ROI
Automatisierung zwischen 80% und 100%
Kurze Projektdurchlaufzeit
MODERNISIERUNG DER
ANWENDUNGENMIGRATION - VORTEILE
27
U.S. Energy Company (recently started migration project to EGL)
Total I/T costs I/T Expenses
Business As Usual (2011 - 2015) $ 27,075,000
With migration to EGL & upgrade of mainframe (2011 - 2015) $ 22,236,821
Savings over 5 years $ 4,838,179
Savings as a percentage of Business As Usual costs 18%
www.cwi.at 28
▪ Fehlende Dokumentation
▪ Fehlende technische Infrastruktur
▪ Fehlende Testautomatisierung
▪ Fehlende Code Standards
▪ Codewiederholungen, Code Smells, …
▪ Anti-Pattern
▪ Compiler-Warnings
▪ ….
SOFTWAREWARTUNGTECHNISCHE SCHULD
www.cwi.at 29
▪ Programmierung
Zwiebel
„Copy and Paste“
„Magic Values“
„Lava Flow“ (Dead Code)
,,,
▪ Architektur
„God object“
„Gas factory“
Spaghetticode
„Sumo Marriage“
„Integration Database“
…
SOFTWAREWARTUNG
www.cwi.at 30
SOFTWAREWARTUNGDIE BÜRDE DER VERGANGENHEIT
www.cwi.at 31
▪ Rational HATS für 3270/5250
▪ WebAPI für 5250
MODERNISIERUNG DER
ANWENDUNGENOBERFLÄCHENMODERNISIERUNG
www.cwi.at 32
▪ „PARSE/MODIFY“
Bestehender Code wird möglichst „1:1“ übernommen
▪ „PARSE/TRANSFORM“
Bestehender Code wird automatisiert in eine neue Programmiersprache transformiert
▪ „PARSE/DECLARE“
Bestehender Code wird analysiert, die Geschäftslogik extrahiert
Basierend auf der Analyse wird der Code automationsgestützt neu entwickelt
▪ Mischformen
z. B. Batch „PARSE/MODIFY“ & Online „PARSE/DECLARE“
MODERNISIERUNG DER
ANWENDUNGENMIGRATIONSANSÄTZE PROGRAMME
www.cwi.at 33
▪ PL/I für AIX
▪ COBOL für AIX
▪ TX-Series
MODERNISIERUNG DER
ANWENDUNGEN„PARSE/MODIFY“
www.cwi.at 34
▪ EGL – Ein Framework für die Migration
EGL inkludiert eine Programmiersprache
Entwickelt für Daten/Geschäftsanwendungen
Vereinheitlicht alle Schichten einer Anwendung
Schirmt den Entwickler von der Komplexität der Technologien ab
Verbindet Entwickler verschiedener Welten
Moderne Umgebung
Web 2.0, Eclipse-basierend
MODERNISIERUNG DER
ANWENDUNGEN„PARSE/TRANSFORM“, „PARSE/DECLARE“
www.cwi.at 35
▪ Web Transaction
▪ Rich UI
MODERNISIERUNG DER
ANWENDUNGENMIGRATIONSANSÄTZE
www.cwi.at 36
PROGRAMMSTEUERUNGALTES PROGRAMM
www.cwi.at 37
PROGRAMMSTEUERUNGWEB TRANSACTION
www.cwi.at 38
PROGRAMMSTEUERUNGRICHUI
www.cwi.at 39
MODERNISIERUNG DER
ANWENDUNGEN JAVA – „PARSE/DECLARE“
HTTP
POP3
TCP/IP
SMTP
HTML
XHTML
DHTML
JSF
STRUTS
JDBC
JNDI
XML
SOAP
JavaScript
J2EE
J2SE
J2ME
JDO
JAXP
JSPJSR
JWSDP
EJB
JVMJDKJ2MEWTK
LDAP
SAAJ
JVM
JCP JCP
TCK
JSPA JRL SPL
JNI RMI
JMS
JAX
EAR
EAR
WAR
DOM
AWT
JAR
JFC
JTA
JTSJAD
JAF JOE JAE
JSAPI
BMP
SISSL
SSL
WMA
MMAPI
SATSAOSS/J
JSLEE
SIP
IDLIIOP
JCK
PR JIT
ORB OTS
POA
JSTL
JAXR
AVK
JSWDK
JSDK CTS
MIDP
RAR
JAB
XLL
JXTA
JDP
JTWI
FR
JES
WSDP
JAI
SCSL
VORGEHENSWEISE
www.cwi.at 41
ZUKUNFT MIT VERGANGENHEITDER MIGRATIONSERFOLG IN SECHS SCHRITTEN
Analyse/Überprüfung der bestehenden Anwendungen
Planung der einzelnen Migrationsschritte
Aufbau der neuen Anwendungsentwicklungsumgebung
Migration in mehreren Phasen
Definition der Migrationsziele
Inbetriebnahme in mehreren Phasen
WARUM?
WIE?
WAS?
www.cwi.at 43
3270 CICS/WebSphere WebSphere/JBOSS
MIGRATIONSVISIONDEFINITION DER WUNSCHVORSTELLUNG
www.cwi.at 44
▪ z/OS (CICS, DB2, EGL-COBOL)
▪ z/Linux (WAS, DB2, EGL-JAVA)
▪ AIX (WAS, DB2, PL/I, EGL-JAVA)
▪ Windows/Linux (WAS, DB2, EGL-JAVA)
▪ Mischvarianten
▪ …
PLATTFORMAUSWAHL
www.cwi.at 45
▪ Inventarisierung
▪ Codeanalyse/Vermessung
▪ Entscheidung bzgl. Migrationsstrategie(n)
„PARSE/MODIFY“
„PARSE/TRANSFORM“
„PARSE/DECLARE“
▪ Umsetzung zielsystemspezifischer Themen
RACF -> LDAP
VSAM/IMS DB -> DB2
BMS -> JSP
CICS -> WAS
EBCDIC/ASCII/UNICODE
PROGRAMME
www.cwi.at 46
▪ Konvertierung der Datenstruktur
▪ Übernahme der Daten
▪ Umbau der Zugriffsroutinen in den Anwendungen
▪ Infrastrukturthemen
Archive, Backups
Hochverfügbarkeit
Backupthematik
EBCDIC/ASCII/UNICODE
RACF
VSAM/IMS DB/DB2?
www.cwi.at 47
▪ JCL-Konvertierung
▪ Scheduler ALT/NEU
▪ Performance -> Hardware-Sizing
BATCH
www.cwi.at 48
▪ RACF -> LDAP (Active Directory, LDAP-Server, …)
Komplexität abhängig vom jetzigen Einsatz
▪ Batch
System-Utilities, SORT, …
▪ Zusatzprodukte
WebSphere MQ
InfoPrint, AFP2PDF
…
▪ Hochverfügbarkeit
▪ Backup
▪ ….
INFRASTRUKTUR
JCL-MIGRATION LEICHT
GEMACHT
www.cwi.at 50
ZUKUNFT MIT VERGANGENHEITDER MIGRATIONSERFOLG IN SECHS SCHRITTEN
Analyse/Überprüfung der bestehenden JCLs
Planung der einzelnen Migrationsschritte
Aufbau der neuen JCL-Umgebung
Migration in mehreren Phasen
Definition der Migrationsziele
Inbetriebnahme in mehreren Phasen
WARUM?
WIE?
WAS?
www.cwi.at 51
▪ JCL-Konvertierung
▪ Scheduler ALT/NEU
▪ Performance -> Hardware-Sizing
BATCH
www.cwi.at 52
• Funktionalität muss erhalten bleiben
• Anpass- und wartbar
• „Scheduler“-Kompatibilität
• Handling von Logfiles oder Input/Output analog zu Mainframe
• Restart-Fähigkeit von einzelnen „Steps“
• Unterstützung der verwendeten Utilities
JCL MIGRATION ANFORDERUNGEN AN MIGRATION
www.cwi.at 53
JCL-MIGRATIONCODEANALYSE
www.cwi.at 54
▪ statisches Parsen der JCL, PROC und PARMLIB Informationen
▪ Konvertierung in Korn-Shell Skripte
Basierend auf erweitertem Funktionsumfang von ksh93
modular aufgebaut
Beibehaltung des Aufbaus der Jobs inkl. Condition-Handling und Step/Restart
Kommentare aus den Jobs werden übernommen (wenn vor dem Step angegeben)
Weiterentwicklung möglich
▪ JCL Framework
Anpassbar, da im Sourcecode verfügbar
Erweiterbar, da modular aufgebaut
JCL MIGRATIONFEATURES
www.cwi.at 55
▪ Ersatzwerkzeuge für typisch genutzte Host Utilities wie z.B. SORT verfügbar
▪ Kundenspezifischer Input bezüglich Druck, Backup usw. kann im Konverter als Konvertierungsregel implementiert werden
▪ hoher Automatisierungsgrad möglich, aber nicht immer sinnvoll
SFTP/FTP – meistens wird Vereinheitlichung in Richtung Zertifikate angestrebt
Integration JAVA – ist in der neuen Umgebung meistens einfacher umsetzbar
Mailversand – Vereinheitlichung angestrebt
DB2-Kommandos nicht immer 1:1 umsetzbar
Rexx-Scripte sind ein eigenes Migrationsthema
Filedefinitionen PL/I, COBOL
JCL-MIGRATION
www.cwi.at 56
▪ CWI passt die Funktionen nach Kunden-Vorgabe an
▪ Weitere Anpassungen möglich, meistens jedoch nicht erforderlich
▪ Standard Shell Scripting
jcall: ruft PROC Funktionen
jdeffile: definiert, allokiert und löscht Dateien
jdefout: Logfiles, Tempfiles
jftp: FTP Behandlung
jgdgmgr: Behandlung von GDG Dateien
jrun: ruft PL/I u.a. Programme auf
jsort: SORT Operationen mit eigenem Sort Utility
jstep…: Step Behandlung
JCL-MIGRATION
www.cwi.at 57
▪ Können im Scheduler und auf der Konsole angezeigt werden
▪ sind auch physikalisch auf AIX im Logverzeichnissepariert in einzelne Verzeichnisse pro Tag gespeichert
▪ Dateiname beginnt immer mit dem Jobnamen, dannStepname und danach DD Name. Er endet mit derAIX Prozess ID
JCL-MIGRATIONLOGS
www.cwi.at 58
▪ AOPBATCH: Der Batchaufruf wird in entsprechende Shell Aufrufe umgesetzt
▪ BPXBATCH: wird umgesetzt, muss aber angepasst werden
▪ ICEMAN: Sortieroperationen werden entsprechend umgesetzt und über das Tool „uvsort“ ausgeführt.
▪ ICETOOL: wird manuell umgesetzt
▪ IEBCOPY: entweder Umsetzung über uvcopy oder manuell
▪ IDCAMS:
Operationen auf einfache Datasets (keine VSAM + Cluster Dateien) werden entsprechend umgesetzt
Bei PRINT Operationen wird lediglich die „No operation“ Anweisung (=Druck mit Anzahl 0) unterstützt.
▪ IEBGENER: Einfache Dataset Operationen werden umgesetzt. Alle anderen Operationen müssen manuell
umgesetzt werden.
▪ ICEGENER: Einfache Dataset Operationen werden umgesetzt. Alle anderen Operationen müssen manuell
umgesetzt werden.
JCL-MIGRATIONUMSETZUNG HOST-UTILITIES
www.cwi.at 59
▪ IEFBR14: die in dem Step vorkommenden DD Deklarationen werden umgesetzt
▪ IKJEFT01, IKJEFT1A, IKJEFT1B
Die notwendigen Parameter für den Programmaufruf werden extrahiert und über die Shell Funktion „jrun“
ausgeführt
Dataset Operationen werden umgesetzt
▪ SORT: Sortieroperationen werden entsprechend umgesetzt und über das Tool „uvsort“ ausgeführt.
▪ FTP: Der FTP Aufruf wird entsprechend umgesetzt. Die dabei verwendeten FTP Anweisungen müssen manuell
umgesetzt werden, da die verwendeten Pfadangaben nicht abgebildet werden können
JCL-MIGRATIONUMSETZUNG HOST-UTILITIES
www.cwi.at 60
▪ GDG Dateien
Sind unterstützt und werden mit einem Werkzeug gdgmgr verwaltet
Der Katalog muss auf AIX neu angelegt werden
Wenn Hostdaten übernommen werden müssen, dann muss auch der Katalog manuell angepasst werden und ggf. Dateinamen korrigiert werden
▪ Sequentielle Dateien
unterstützt
▪ VB Dateien
Unterstützt
Werden vom JCL Framework angelegt, da eigentlich kein AIX Standard
▪ VSAM Dateien
Nicht „out of the box“ unterstützt
JCL-MIGRATIONDATEI-HANDLING
www.cwi.at 61
JCL-MIGRATIONSCHEDULER-ANBINDUNG
AIX
Skript
Log
Files
DB2
www.cwi.at 62
JCL MIGRATIONVORGEHENSWEISE
Inventarisierung
Einrichten der Umgebung
Finale Konvertierung
Produktionsschaltung
AnforderungenAnpassen Konvertierung
Konvertierung Paket
Test
www.cwi.at 63
➢ Spart Geld, weil durch den Konverteransatz ein hoher Automatisierungsgrad möglich ist und Testaufwände minimiert werden
➢ Ist sicher, da bereits in einigen anderen Kundenprojekten erfolgreich angewendet und im produktiven Einsatz
➢ Ist innovativ, weil modular aufgebaut und jederzeit erweiter- und anpassbar, ohne das alle Skripte geändert werden müssen
➢ Ist leicht für die Entwickler zu handhaben, weil der Aufbau dem Aufbau der VSE Jobs ähnlich ist
JCL-MIGRATIONVORGEHENSWEISE
www.cwi.at 64
▪ Definition eines kleinen Subsets an Jobs
▪ gemeinsame Definition der Umsetzungsregeln
▪ Umsetzung der Jobs nach ksh93 Skripte bei CWI
▪ Transfer und Test in die Testumgebung
▪ Schulung und Übergabe des kompletten Frameworks an den Kunden
▪ Fixpreisangebot nach Analyse aller migrationsrelevanten Jobs
JCL-MIGRATIONNÄCHSTE SCHRITTE
www.cwi.at 168
ING. ALEXANDER L. PAWLIKGESCHÄFTSFÜHRER
CWI SOFTWAREMIGRATIONS GMBH
NORDWESTBAHNSTR. 8-10/2. STOCK
1200 WIEN
T: +43 (1) 240 90 55 – 11
F: +43 (1) 240 90 55 – 55
M: +43 (676) 840 900 200
FRAGEN ?