Modernisierung von Altanwendungen
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