ANWENDUNGSMODERNISIERUNG IM ZEITALTER DER … · ICETOOL: wird manuell umgesetzt IEBCOPY: entweder...

Post on 03-Aug-2020

5 views 0 download

Transcript of ANWENDUNGSMODERNISIERUNG IM ZEITALTER DER … · ICETOOL: wird manuell umgesetzt IEBCOPY: entweder...

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

E: ALEXANDER.PAWLIK@CWI.AT

FRAGEN ?