Modernisierung von Altanwendungen

20
© itemis AG Modernisierung von (Alt-)Anwendungen Jens Trompeter 26.11.2014

Transcript of Modernisierung von Altanwendungen

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

●●

Modernisierung von (Alt-)Anwendungen Jens Trompeter

26.11.2014

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Agenda

§  Migration (Warum? Was? Wie?)

§  Modellbasierte Migration

§  Vorteile / Nutzen

2

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Warum muss Software ständig weiterentwickelt werden? Die Umwelt ändert sich

3

§  Neue oder geänderte

§  fachliche Anforderungen

§  technische Anforderungen

§  Randbedingungen

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Software-Entropie Wartung vs. Modernisierung

4

Lehman, M. M.; Belady, L.A. (1985), Program evolution: processes of software change:

1.  A computer program that is used will be modified

2.  When a program is modified, its complexity will increase, provided that one does not actively work against this.

§  Wartung: unterbrechungsfreie Weiterentwicklung (in kleinen Schritten)

§  Modernisierung: großer Schritt, Plattform-Wechsel

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Modernisierung Was bedeutet das?

5

Wechsel ...

•  der Programmiersprache

•  Neues Programmierparadigma

•  z.B. RPG → Java, Fortan → C#, PL/SQL → Java

•  der Laufzeitumgebung

•  Oracle Forms à Java-Stack (Eclipse Scout, Spring, EclipseLink, ...)

•  RPG-Runtime à Java-Stack (JSF, Spring, Hibernate, ...)

•  der Plattform / Betriebssystem

•  System z (Host) → Unix

•  System i (AS/400) → Unix/Windows

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Modernisierung – Warum?

6

§  Warum?

§  Technische Zwänge (z.B. auslaufender Support)

§  Steigende Wartungskosten und Betriebskosten

§  „Know-how geht in Rente“

§  Akzeptanz (z.B. User Experience, Erlernbarkeit, ...)

§  Attraktivität und Marktchancen

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Besondere Herausforderung von Migrationsprojekten

7

§  Große Projekte

§  Fehlende Dokumentation

§  Fehlende (autom.) Tests

§  Bottle-Neck-Ressourcen / Kopfwissen

§  Gewachsene, nicht harmonische Strukturen

§  Parallele Weiterentwicklung / Code-Freeze

§  Weiterbildungsaspekte (Prozesse, Methoden, Technologien, Tools, ...)

§  Neben SW-Migration auch Datenmigration

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Variante 1 – Manuelle Migration

8

Altsystem

Manuelle Migration Zielsystem

Vorteil: §  Potential zur

Restrukturierung

Nachteile: §  Parallele Entwicklung von Alt- und Neusystem §  Zeit-, Personal- und Kostenintensiv §  Homogenität des Zielsystems schwer sicherzustellen §  Konsistenz zum Altsystem schwer nachweisbar

Scheitert oft!

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Variante 2 – Automatisierte Migration mit Standard-Werkzeug

9

Altsystem

Standard-Werkzeug Zielsystem

Vorteile: §  Fertiges Werkzeug §  Zeitersparnis §  Ggf. Kostenersparnis

Nachteile: §  Werkzeug und Zielarchitektur nicht anpassbar §  Weiterentwicklung sehr aufwendig/nicht

möglich §  Abhängigkeit vom Werkzeughersteller

Wartbarkeit bleibt schlecht!

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Variante 3 – Modellbasierte Migration

10

Altsystem

Modellbasierte Migration mit angepassten Werkzeugen

Zielsystem

10

Bester Kompromiss!

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Modellbasierte Migration

11

4 3 2 1

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

J J J J J

Modellbasierte Migration (Analyse & Extraktion)

12

4 3 2 1

Das Altsystem stellt ein wertvolles Investment dar. Es gilt möglichst viel des existierenden Altsystems zu extrahieren und zur Erstellung des neuen Systems zu nutzen. Zu Beginn der Migration erfolgt die Analyse des Altsystems mit dem Ziel, Strukturen im Code und in der Datenhaltung zu erkennen.

1

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

J J J J J

Modellbasierte Migration (Analyse & Extraktion)

13

4 3 2 1

Aus bestimmten Teilen des analysierten Altsystems werden formale Modelle mit höherer Abstraktion abgeleitet. Die Modelle decken unterschiedliche Aspekte (Frontend, Business-Logik, Daten, etc.) ab, die aus dem Altsystem automatisiert extrahiert werden. Weitere Modelle zur Vervollständigung der Systembeschreibung können manuell ergänzt werden. Die Modelle werden dann als Input für den Generator des Zielsystems verwendet.

2

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

J J J J J

Modellbasierte Migration (Zielarchitektur)

14

4 3 2 1

Die (grobe) Zielarchitektur muss vor dem Anpassen des Generators feststehen. Alle Aspekte der Zielarchitektur werden manuell in Form einer Referenzimplementierung umgesetzt. Aus der Referenz-implementierung werden die Abbildungsvorschriften (Templates) für den Generator abgeleitet.

3

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

J J J J J

Modellbasierte Migration (Generatorbau)

15

4 3 2 1

Der Generator erzeugt mittels der Templates das Zielsystem. Das generierte Zielsystem wird durch manuellen Code vervollständigt. Die sukzessive Verfeinerung des Zielsystems führt in einem iterativen Prozess zu einer entsprechenden Verfeinerung des Generators.

4

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Modellbasierte Migration

16

4 3 2 1

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

(Teil-)automatisierte Erstellung des Zielsystems Qualität und Produktivität

17

§  Effizienzsteigerung, Produktivitätsverbesserungen §  Automatisierung wiederholbarer Abläufe

§  Wiederverwendung

§  Reduzierung von Routinetätigkeiten

§  Automatisierte Erstellung von Dokumentation und Tests

§  ...

§  Qualitätsverbesserung, Verbesserung der Wartbarkeit §  Stringente, automatisierte Umsetzung einer wohldefinierten Architektur

§  Weniger Kopfmonopole

§  Trennung von Fachlichkeit und Technik

§  Leichtere, zentrale Fehlerbehebung

§  ...

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Vorteile und Nutzen modellbasierter Migration

18

Zielarchitektur

Automatisierung

Weiterentwicklung

↪ 100% Freiheit bei der Definition der Zielarchitektur

↪ Konsistente Umsetzung der Zielarchitektur durch Code-Generierung

↪ Fachlich versierte Altsystem-Entwickler leicht einzubinden

Optimierung von ↪ Qualität

↪ Kosten

↪ Zeit

1Die moderne Entwicklungsplattform ermöglicht ↪ einfache Anpassungen

↪ kostengünstige Wartung

durc

h

§  Passgenaue Automatisierung erzeugt wartbare Software

§  Kurze Freeze-Time §  Parallele Entwicklung von Alt- und

Neusystem möglich

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

Modellbasierte Migration Technologien

19

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●

© itemis AG

itemis AG | Am Brambusch 15-24 | D-44536 Lünen | www.itemis.de

Jens Trompeter

Tel.: +49 231 9860 217

Mobil: +49 151 10860456

[email protected]