Modernisierung von Altanwendungen

445 Aufrufe

Veröffentlicht am

Warum muss Software weiterentwickelt werden? Was sind die Herausforderungen eines Modernisierungsprojektes? Was sind Vorteil und Nutzen der modellbasierten Migration?

Veröffentlicht in: Software
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
445
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
3
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Modernisierung von Altanwendungen

  1. 1. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © itemis AG ● ● Modernisierung von (Alt-)Anwendungen Jens Trompeter 26.11.2014
  2. 2. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © itemis AG Agenda §  Migration (Warum? Was? Wie?) §  Modellbasierte Migration §  Vorteile / Nutzen 2
  3. 3. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © itemis AG Warum muss Software ständig weiterentwickelt werden? Die Umwelt ändert sich 3 §  Neue oder geänderte §  fachliche Anforderungen §  technische Anforderungen §  Randbedingungen
  4. 4. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © 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
  5. 5. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © 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
  6. 6. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © 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
  7. 7. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © 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
  8. 8. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © 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!
  9. 9. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © 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!
  10. 10. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © itemis AG Variante 3 – Modellbasierte Migration 10 Altsystem Modellbasierte Migration mit angepassten Werkzeugen Zielsystem 10 Bester Kompromiss!
  11. 11. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © itemis AG Modellbasierte Migration 11 4 321
  12. 12. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © itemis AG JJJJJ Modellbasierte Migration (Analyse & Extraktion) 12 4 321 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
  13. 13. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © itemis AG JJJJJ Modellbasierte Migration (Analyse & Extraktion) 13 4 321 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
  14. 14. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © itemis AG JJJJJ Modellbasierte Migration (Zielarchitektur) 14 4 321 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
  15. 15. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © itemis AG JJJJJ Modellbasierte Migration (Generatorbau) 15 4 321 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
  16. 16. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © itemis AG Modellbasierte Migration 16 4 321
  17. 17. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © 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 §  ...
  18. 18. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © 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 Die moderne Entwicklungsplattform ermöglicht ↪ einfache Anpassungen ↪ kostengünstige Wartung durch §  Passgenaue Automatisierung erzeugt wartbare Software §  Kurze Freeze-Time §  Parallele Entwicklung von Alt- und Neusystem möglich
  19. 19. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © itemis AG Modellbasierte Migration Technologien 19
  20. 20. ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● © 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 jens.trompeter@itemis.de

×