Softwaremigration – Up To Date

Da die Aktualität von Technologien begrenzt ist, altert auch Software. Die Ablösung von Altsystemen (Legacy Applikationen) durch aktuelle Anwendungssysteme wird als Softwaremigration bezeichnet. Wie aber macht man ältere Business Applikationen fit für die Anforderungen der Zukunft?

Viele Business Applikationen existieren bereits seit vielen Jahren. Sie haben sich in der Praxis bewährt. Oft sind es noch klassische Desktop Anwendungen, die über eine Client-Server-Struktur miteinander verbunden sind. Die Wartung und Funktionserweiterung bereiten zunehmend einen größeren Aufwand, wird immer fehleranfälliger und damit kostenintensiver. Unter technologischen Gesichtspunkten müssten derartige Applikationen vollständig neu entwickelt werden. Gegen diesen Schritt sprechen der große Aufwand und die hohen Kosten und Risiken. Oftmals fehlt auch das fachliche Knowhow, das in die damalige Programmierung eingeflossen ist. Alternativ sollte die Erneuerung eines Anwendungssystems – Softwaremigration – geprüft werden. Diese erfolgt meist schrittweise und kann sowohl Hard- als auch Software umfassen.

Anzeige

Arten der Softwaremigration

Man unterscheidet folgende Arten der Softwaremigration:

  • Migration der Daten: Die Programme bleiben in der bisherigen Form erhalten, sie werden jedoch in ein neues System übertragen. Typisch ist diese Art der Migration bei einem Wechsel des Datenbanksystems.
     
  • Migration der Programme: Die Daten bleiben unverändert im vorhandenen Datenhaltungssystem. Es erfolgt dagegen eine Migration der Programme.
     
  • Migration des User Interface: Es bleiben die Programme und die Daten unverändert. Ausgetauscht wird die Benutzeroberfläche („Facelift“). Voraussetzung: Die weiteren Programmteile sind in einem guten technischen Zustand.
     
  • Migration der Systemschnittstellen: Diese Form findet immer dann Anwendung, wenn das bestehende System mit neuen Systemen zusammenarbeiten muss.

All diese Varianten sind Teilmigrationen. Von einer Systemmigration spricht man, wenn viele oder alle Ebenen des Anwendungssystems betroffen sind. Diese ist die komplexeste Art der Migration. Eine Möglichkeit besteht darin, zuerst die Daten zu migrieren und die Programme werden zunächst unverändert weiterverwendet. Eine andere Strategie sieht zuerst die Migration der Programme vor. Eine dritte Strategie wiederum steht für eine inkrementelle „Paket für Paket“ Migration. Das richtige Vorgehen ist in jedem Einzelfall individuell festzulegen.

Der Aufwand und sogar die grundsätzliche Machbarkeit einer Softwaremigration werden stark durch den Zustand des Altsystems bestimmt, zum Beispiel wie gut sich einzelne Bestandteile weitgehend losgelöst von den restlichen Komponenten erneuern lassen und wie gut es gelingt, bestehenden Code automatisch in das neue System zu transferieren.

Migrationsstrategie

Die Auswahl der passenden Migrationsstrategie ist zwar individuell, dennoch lassen sich aus übergeordneter Perspektive die Überführungsstrategien unterscheiden (Tabelle 1, Bild 1).

Migrationsstrategien im Überblick.

Tabelle 1: Migrationsstrategien im Überblick.
 

Software-Migration

Bild 1: Migrationsstrategien (Sneed, 2010)

Es sollte bei einem Migrationsvorhaben stets auch die Ablösung durch Standardsoftware oder eine Neuentwicklung geprüft werden.

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.

Zeitliche Planung

Man kann zwischen einer schrittweisen und ganzheitlichen Umstellung unterscheiden. Die Vorgehensweise ist davon abhängig, ob das migrierte System als Gesamtheit zu einem bestimmten Termin (Punktumstellung) oder schrittweise (Paketumstellung) in den operativen Einsatz übergeben wird.

Softwaremigration in der Praxis

Eine Softwaremigration kann sehr gut gelingen, wenn man eine umfassende Werkzeugunterstützung verwenden kann. Beispielhaft erläutern wir die grundsätzliche Migrationsstrategie mit Hilfe des Frameworks Wisej. Viele Applikationen in Unternehmen liegen als Desktop-Anwendungen vor. Sie wurden mit Visual Basic, C# oder VB.NET und Windows Forms (User Interface) erstellt. Kennzeichnend sind oft komplexe Benutzeroberflächen mit einer Vielzahl von Dialogen und Steuerelementen. Das Migrationsziel ist dagegen oft eine moderne Web-Applikation mit den bekannten Vorteilen:

  • Installation: Es ist nur eine Installation auf dem Server notwendig. Die Clients greifen über das Netzwerk mit Hilfe eines Browsers auf die Anwendung zu.
     
  • Aktualität: Updates werden direkt über den Server installiert und es bedarf keiner Eingriffe auf den Clients.
     
  • Mehrbenutzerbetrieb: Ein Mehrbenutzerbetrieb ist i.d.R. der Standard. Benutzerkonten sorgen für eine korrekte Zuordnung der Datenverarbeitung.
     
  • Systemanforderungen: Man kann Web-Applikationen auch auf weniger leistungsfähiger Hardware ausführen, d.h. die Applikation läuft auf dem Server und kann i.d.R. von nahezu allen Browsern verwendet werden.
     
  • Kosten: Die Wartungs- und Bereitstellungskosten liegen i.d.R. um ein Vielfaches unter denen einer Desktop-Anwendung.

Es gibt unterschiedliche Technologien für die Umsetzung von Web-Applikationen. Insbesondere kann danach unterschieden werden, welche Aufgaben vom Client und vom Server übernommen werden. Ein schnelles Time-to-Market ist für die Migration ein wichtiges Kriterium. Mit Wisej (https://wisej.com/) gelingt es, den Entwicklern ohne tiefere Kenntnisse in den Web-Technologien moderne Web-Applikationen zu erstellen. Es kann alternativ C# oder VB .NET als Programmiersprache eingesetzt werden, um in Visual Studio zu entwickeln. Mit Hilfe eines grafischen Designers erstellt man das User Interface auf der Basis von Komponenten. Die Vorgehensweise ist den meisten Entwicklern vertraut, denn seit vielen Jahren werden auf gleiche Art und Weise Desktop-Applikationen erstellt (Abbildung 2).

Workflow zum Erstellen der Oberfläche

Bild 2: Ein bekannter Workflow zum Erstellen der Oberfläche beschleunigt die Migration.

Die Komponenten von Wisej sind weitgehend zu Windows Forms-Komponenten kompatibel. Das ist ideal für umfassende Migrationsvorhaben. Man muss sich keine Gedanken über das Zusammenspiel der Web-Technologien machen, d.h. man kann sich vollständig auf die Umsetzung seines Geschäftsmodells und eines ansprechenden User Interfaces kümmern. Selbst eine umfassende Migration von Desktop-Anwendungen mit komplexen Oberflächen und einer umfassenden Businesslogik gelingt in vertretbarer Zeit. Bestehende Codebestandteile können oft komplett übernommen werden, sodass die gesparten zeitlichen Ressourcen für die Implementierung von neuen Programmfeatures verwendet werden können.

Wisej Web-Applikationen arbeiten Themen-basiert und können daher im Design leicht angepasst werden. Über Extensions lassen sich Funktionen erweitern. Derzeit unterstützt Wisej den Internet Information Server unter Windows. In Zukunft ist eine Unterstützung für Linux vorgesehen. Ferner kann man die Applikation auch flexibel über die Cloud, zum Beispiel über Server bei Amazon AWS oder Microsoft Azure bereitstellen. Für besondere Einsatzszenarien ist auch ein Ausführen ohne Server möglich. Mit einem Zusatzmodul kann die Web-Applikation ohne technische Eingriffe als Desktop-Anwendung ausgeführt werden. Damit ermöglicht Wisej ein so genanntes Dual-Deployment (Web, Desktop), welches insbesondere für Übergangsszenarien bei einer Migration interessant ist.

Fazit

Softwaremigration ist die Antwort der IT-Entwicklung auf den stetigen technologischen Wandel. Sie ist immer dann einer Neuentwicklung vorzuziehen, wenn sich der Aufwand und die Risiken gegenüber einer vollständigen Neuentwicklung geringer darstellen. Eine effiziente Migration erfordert i.d.R. einen umfassenden Werkzeugeinsatz. Gelingt es, umfassende Teile des Programmcodes weiterzuverwenden, werden Ressourcen geschont und mögliche Fehler einer Neuimplementierung vermieden. Sehr typisch ist in der Praxis die Migration von Desktop-Anwendungen zu modernen Web-Applikationen.

Quellen

Sneed, H. u.a.: Softwaremigration in der Praxis, dpunkt Verlag, 2010

Rapid .NET Web Development

 
 
 

Veikko

Krypczyk

LARInet -

Softwareentwickler

Dr. Veikko Krypczyk ist begeisterter Entwickler und Fachautor. Als Wirtschaftsinformatiker ist er besonders an Fragen einer effizienten Nutzung von IT für Unternehmensprozesse interessiert.
Anzeige

Artikel zu diesem Thema

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.