Vom Sanierungsfall zum Innovationstreiber
Programmcode-Transformation
Kernaufgabe der Programmmigration ist die Umsetzung des Quellcodes in ein neues Anwendungssystem. Dabei kann es sich um einen Wechsel der Programmiersprache handeln, zum Beispiel VB.NET nach C# oder Java. Denkbar ist auch, dass bei Systemumgebung, Framework oder Klassenbibliotheken vollständig andere Lösungen zum Einsatz kommen.
Die Transformation des Programmcodes gilt als besondere Herausforderung. Oft weisen Altsysteme eine komplexe Businesslogik auf, deren Implementierung viel Aufwand verursacht hat. Eine Neuimplementierung wäre kaum weniger aufwendig und würde viele Ressourcen binden, die dann nicht für das Entwickeln neuer Features zur Verfügung stünden. Ziel ist es daher, Ansätze und Methoden zu finden, mit denen der Quellcode weitgehend automatisch in eine neue Programmiersprache oder ein neues Anwendungssystem transformiert werden kann. Voraussetzung dafür ist, dass die Programmlogik beibehalten werden kann. Ebenso müssen neue und alte Systemumgebung technisch ähnlich funktionieren. Manuelle Nacharbeiten werden aber in der Regel notwendig sein.
Sind die Unterschiede zwischen den Systemen zu gross, gibt es keine Tools zur Konvertierung oder sind Anpassungen an der Programmlogik notwendig, dann muss die Quellcode-Reimplementierung manuell erfolgen. Das ist zwar nicht so aufwendig wie eine vollständige Neuentwicklung, da der «alte» Quellcode gewissermassen als Vorlage dient. Viele Elemente aus der Logik können übernommen werden oder müssen nur etwas angepasst werden. Dennoch ist der gesamte Programmcode neu zu codieren. Die Entwickler müssen in beiden Programmier- und Systemumgebungen über umfassende Kenntnisse verfügen. Ist eine Reimplementierung zu aufwendig, technisch nur schwer umzusetzen oder soll das zu migrierende System nur noch mit einer begrenzten Laufzeit erhalten werden, ist eventuell die beschriebene Kapselung des alten Programmcodes die Lösung.
Unabhängig davon, für welchen Migrationsprozess man sich entscheidet, sind in jedem Fall Werkzeuge erforderlich, um den Prozess zu unterstützen. Neben den typischen Tools für die Software-Entwicklung wie Editoren, Entwicklungsumgebungen und Projektmanagement-Tools, kommen gezielt Werkzeuge für migrationsspezifische Aufgaben zur Anwendung, zum Beispiel für die Durchführung einer Codeanalyse, zur Schätzung des Aufwands, zur Automatisierung der Programmtransformation oder zur Konvertierung von Daten. Es kann sich um eigenständige Tools handeln oder um Erweiterungen für bekannte integrierte Entwicklungsumgebungen.
Support-Ende für Windows-Versionen
Client-Betriebssystem | Veröffentlichung/ Markteinführung | Ablauf des regulären Supports | Ablauf des erweiterten Supports (Unternehmen, Entwickler) |
Windows 7, Windows 8.1 | |||
Windows 7, Service Pack 1 | 22. Oktober 2009 | 13. Januar 2015 | 14. Januar 2020 |
Windows 8.1 | 18. Oktober 2013 | 9. Januar 2018 | 10. Januar 2023 |
Windows 10: Editionen Home, Enterprise, Education, Pro Education und Pro for Workstations | |||
Windows 10, Version 1507 | 29. Juli 2015 | 9. Mai 2017 | 9. Mai 2017 |
Windows 10, Version 1511 | 10. November 2015 | 10. Oktober 2017 | 10. Oktober 2017 |
Windows 10, Version 1607 | 2. August 2016 | 10. April 2018 | 10. April 2018 |
Windows 10, Version 1703 | 5./11. April 2017 | 9. Oktober 2018 | 9. Oktober 2018 |
Windows 10, Version 1709 | 17. Oktober 2017 | 9. April 2019 | 14. April 2020 |
Windows 10, Version 1803 | 30. April 2018 | 12. November 2019 | 10. November 2020 |
Windows 10, Version 1809 | 13. November 2018 | 12. Mai 2020 | 11. Mai 2021 |
Windows 10, Version 1903 | 21. Mai 2019 | 8. Dezember 2020 | 8. Dezember 2020 |
Windows 10, Version 1909 | 12. November 2019 | 11. Mai 2021 | 10. Mai 2022 |
Enterprise-LTSC-/-LTSB-Editionen | |||
Windows 10 Enterprise 2015 LTSB | 29. Juli 2015 | 13. Oktober 2020 | 14. Oktober 2025 |
Windows 10 Enterprise 2016 LTSB | 2. August 2016 | 12. Oktober 2021 | 13. Oktober 2026 |
Windows 10 Enterprise LTSC 2019 | 13. November 2018 | 9. Januar 2024 | 9. Januar 2029 |
Support-Ende für Windows-Versionen
Client-Betriebssystem | Veröffentlichung/ Markteinführung | Ablauf des regulären Supports | Ablauf des erweiterten Supports (Unternehmen, Entwickler) |
Windows 7, Windows 8.1 | |||
Windows 7, Service Pack 1 | 22. Oktober 2009 | 13. Januar 2015 | 14. Januar 2020 |
Windows 8.1 | 18. Oktober 2013 | 9. Januar 2018 | 10. Januar 2023 |
Windows 10: Editionen Home, Enterprise, Education, Pro Education und Pro for Workstations | |||
Windows 10, Version 1507 | 29. Juli 2015 | 9. Mai 2017 | 9. Mai 2017 |
Windows 10, Version 1511 | 10. November 2015 | 10. Oktober 2017 | 10. Oktober 2017 |
Windows 10, Version 1607 | 2. August 2016 | 10. April 2018 | 10. April 2018 |
Windows 10, Version 1703 | 5./11. April 2017 | 9. Oktober 2018 | 9. Oktober 2018 |
Windows 10, Version 1709 | 17. Oktober 2017 | 9. April 2019 | 14. April 2020 |
Windows 10, Version 1803 | 30. April 2018 | 12. November 2019 | 10. November 2020 |
Windows 10, Version 1809 | 13. November 2018 | 12. Mai 2020 | 11. Mai 2021 |
Windows 10, Version 1903 | 21. Mai 2019 | 8. Dezember 2020 | 8. Dezember 2020 |
Windows 10, Version 1909 | 12. November 2019 | 11. Mai 2021 | 10. Mai 2022 |
Enterprise-LTSC-/-LTSB-Editionen | |||
Windows 10 Enterprise 2015 LTSB | 29. Juli 2015 | 13. Oktober 2020 | 14. Oktober 2025 |
Windows 10 Enterprise 2016 LTSB | 2. August 2016 | 12. Oktober 2021 | 13. Oktober 2026 |
Windows 10 Enterprise LTSC 2019 | 13. November 2018 | 9. Januar 2024 | 9. Januar 2029 |
Autor(in)
Dr. Veikko
Krypczyk