Vom Sanierungsfall zum Innovationstreiber

Teilbereiche einer Migration

von - 13.05.2020
Migrationsarten2
Teilmigrationen: Eine Software-Migration kann einen oder mehrere Teilbereiche eines Systems erfassen.
(Quelle: Krypczyk)
Eine Software-Migration erfolgt meist nicht für das komplette System, sondern in Form von Teilmigrationen, wobei Teile des Altsystems zunächst oder auf längere Zeit erhalten bleiben. Man unterscheidet vier Arten von Teilmigrationen:
Datenmigration: Die Programme bleiben in der bisherigen Form bestehen. Es werden nur die Daten übertragen. Die Daten können in ein anderes Datenbanksystem auf derselben Systemplattform oder mit unveränderter Datenhaltung auf eine andere Plattform migriert werden. Typisch ist der Austausch des bisherigen Datenbanksystems, weil dessen Leistungsfähigkeit den Ansprüchen nicht mehr genügt oder der Hersteller sein System nicht mehr ausreichend aktualisiert. Für den Nutzer wird diese Art der Migration nicht direkt sichtbar. Dennoch ist sie gerade bei einem erheblichen Anstieg der zu verwaltenden Daten oft notwendig.
Programmmigration: Die Daten bleiben unverändert im vorhandenen Datenhaltungssystem, zum Beispiel in der gewählten SQL-Datenbank. Es erfolgt eine Migration der Programme. Diese können in eine andere Sprache in der gleichen Umgebung, in derselben Sprache in eine andere Umgebung oder in eine andere Sprache in eine andere Umgebung migriert werden. Anstoß für eine solche Migration ist in der Regel, dass sich neue Programmfunktionen in der bisherigen Applikation nicht oder nur noch schwer umsetzen lassen, während das System der Datenhaltung selbst zumindest mittelfristig noch als zukunftssicher eingeschätzt wird.
Bedienoberflächenmigration: Hier bleiben Programme und Daten unverändert. Ausgetauscht werden nur die für die Benutzerinteraktion zuständigen Teile der Anwendung, üblicherweise die Benutzerschnittstellen. Diese Art der Migration ist für den Endanwender am meisten sichtbar. Voraussetzung für eine Beschränkung der Migration auf das User Interface ist, dass die restlichen Programmteile (Logik, Datenhaltung) noch in einem akzeptablen technischen Zustand sind.
Systemschnittstellenmigration: Diese Migrationsart findet immer dann Anwendung, wenn ein bestehendes System oder Teile davon mit neuen oder bereits migrierten Systemen kommunizieren müssen und deshalb die Schnittstellen des alten Systems angepasst werden müssen.

Aufgabe der Software-Migration

Lösungsansatz in RAD Studio

Anpassung des User Interface

Verwendung der Komponenten und des User-Interface-Designers, um Benutzerschnittstellen zu gestalten, die den heutigen Anforderungen an moderne Applikationen entsprechen. Dabei können unter allen gängigen Windows-Versionen die aktuellen Design-Features von Windows 10 genutzt werden

Erstellen von geräte- und plattformübergreifenden Applikationen

Geräteübergreifende Applikationen aus einem einheitlichen Quellcode, die direkt unter den Systemen Windows, MacOS, Linux, Android und iOS laufen. Dies wird durch das Framework FireMonkey ermöglicht, mit dem man plattformübergreifende moderne Bedienoberflächen erstellen kann

Wiederverwendung von Quellcode

Bestehender Quellcode in Delphi und C++ kann ohne weitere Anpassungen weiterverwendet werden. Große Teile der Applikation, in der Regel die Businesslogik, können ohne umfassende Änderungen in ein neues System übernommen werden. Ebenso können die relevanten Codeabschnitte für die Geschäftslogik bei einer Migration der Anwendungsarchitektur von einer Desktop- oder Client-Server-Infrastruktur hin zu einer Microservice-basierten Architektur normalerweise ohne größere Codeanpassungen weitergenutzt werden

Anbindung umfassender Datenquellen

Einsatz der FireDAC-Komponenten von RAD Studio zur universellen Anbindung von Datenbanken

Änderung der Software-Architektur zum Einsatz von Microservices

Erfolgt durch eine Nutzung des RAD Servers. Die Übertragung der Programmlogik aus einer klassischen Applikation ist in wenigen Schritten als Service in die Cloud möglich. Die Services können dann als RESTful-APIs universell durch jeden beliebigen Client genutzt werden

Schichtentrennung im Architekturdesign

Verwendung von LiveBindings, um die Komponenten des User Interface auf dem Weg der Konfiguration an die Businesslogik lose zu koppeln

Erweiterung der Software-Landschaft um Apps für die mobilen Geräte

Mobile Apps für die Systeme iOS und Android können aus einer einzigen Quellcodebasis erstellt werden. Dabei kann auf vorhandenen Quellcode bestehender Desktop-Anwendungen zurückgegriffen werden

Verwandte Themen