Migration (Informationstechnik)
aus Wikipedia, der freien Enzyklopädie
Unter Migration versteht man im Rahmen der Informationstechnik den Umstieg eines wesentlichen Teils der eingesetzten Software beziehungsweise den Transfer von Daten aus einer Umgebung in eine andere. Die beiden häufig eng miteinander zusammenhängenden Prozesse lassen sich in Softwaremigration und Datenmigration aufteilen.
Diese Umstellung kann Probleme bereiten. Voraussehbare Folgen werden als missbilligt (engl: deprecated) markiert.
Inhaltsverzeichnis |
[Bearbeiten] Softwaremigration
Ähnlich der Portierung von Computerprogrammen, versteht man unter einer Migration den Wechsel eines wesentlichen Teils der in Unternehmen eingesetzten Software von einem Programm zum anderen.
Die Migration geht über einen einfachen Update bzw. Upgrade hinaus und bezeichnet vielmehr einen grundlegenden Wechsel der Software-Infrastruktur.
Beispiele für eine Software-Migration ist der Umstieg vom Microsoft Betriebssystem Windows auf Linux oder von Unix auf Windows. Aber auch der Umstieg von einer alten AS/400 auf Windows wäre eine Migration. Eine Teilmigration dagegen wäre es, eine AS/400 so zu partitionieren, dass OS/400 und Linux gleichzeitig darauf laufen und Software aus beiden Welten auf nur einem Server genutzt werden können.
Eine Migration ist es auch, wenn von einem Major Release auf das nächst höhere des selben Softwareanbieters umgestellt wird. Industriekunden, die noch ein altes SAP R/2-Informationssystem in Betrieb haben und auf SAP R/3 oder mySAP wechseln wollen, stehen vor einer anspruchsvollen Aufgabe. Derartige Migrationen sind mitunter extrem schwierig und können auch scheitern.
[Bearbeiten] Datenmigration
Die Migration von Daten kann sowohl die Dateiformate als auch die internen Strukturen (Schemata) betreffen. Im ersten, deutlich einfacheren Fall spricht man auch von Konvertierung (Informatik), im zweiten ist eine Form von Schema Matching notwendig.
[Bearbeiten] Umstellung auf neuere Schnittstellen und Techniken
Eine Funktion oder ein Parameter eines Programmes oder Elemente in Auszeichnungssprachen, die in Folgeversionen möglicherweise nicht mehr verfügbar sein werden, oder aber überholte Programmiertechniken, werden als missbilligt (engl: „deprecated“) eingestuft.
Der Sinn, sie aber weiter zu führen, liegt in der Aufwärtskompatibilität: Wenn man die Schnittstelle einfach abschafft, entstehen leicht Ausnahmefehler, daher ersetzt man die alte Verarbeitung der Eingabe auf dieser Schnittstelle durch eine einfache Fehlerbehandlungsroutine (etwa, indem einfach 0 oder -1 zurückgegeben wird). Der Aufrufer erhält dann nicht einen Fehler, sondern zumindest einen – wenn vielleicht auch unnützen – Wert des erwarteten alten Datenformats. Das vermeidet Probleme, die folgen können, wenn der Aufrufer keine Fehlerauswertung auf dieser Schnittstelle implementiert hatte. Die Wahl des neuen Dummy-Werts bedarf aber einer sorgfältigen Auswahl (Ein Parameter vom Datentyp text
etwa müsste als "none"
rückgegeben werden) und Kenntnis des ursprünglichen Wertebereichs (0 etwa könnte eine Division durch Null nach sich ziehen).
Zur Unterstützung der Umstellung besteht in manchen Programmiersprachen oder Entwicklungsumgebungen die Möglichkeit, missbilligte Techniken mit bestimmten Schlüsselwörtern zu kennzeichnen. Beispielsweise findet man dafür in machen Programmiersprachen die Schlüsselwörter deprecated oder obsolete.
Die Behandlung komplexer Schnittstellen kann ziemlich aufwändig werden, denn anderenfalls geht dann einfach die Aufwärtskompatibilität verloren. Das „Mitschleppen von Altlasten“ kann sich im Laufe von Weiterentwicklung zu eminenten Problemen auswachsen: Ein typisches Beispiel ist die 16-Bit-Kompatibilität des Betriebssystems Microsoft Windows, das noch die OS/2- und DOS-Komptibiltät sicherstellen muss. In modernen Windows-Versionen führt das dazu, dass ein eigener DOS-Betriebssystem-Emulator implementiert sein muss.
Zwischen den beiden Möglichkeiten abzuwägen, ist eines der Hauptproblem der Versionsverwaltung moderner Software. Daher wird bei neuen Versionen zwischen minor Update („kleiner Aktualisierung“) und major Upgrade unterschieden, je nachdem, in welchem Ausmaß Aufwärtskompatibilität gewährleistet ist. Eine Migration über mehrere Versionen (Releases) hinweg kann wesentlich leichter Probleme bereiten, oder gar eine Neuinstallation erfordern.
[Bearbeiten] Weiterführendes
Siehe auch
- Elektronische Archivierung
- Emulation
- Information Lifecycle Management
- Langzeitarchivierung
- Migrationsstrategien (Informationstechnik)
Weblinks
- Infos zur Migration auf Open Source Software in öffentlichen Einrichtungen: Migrationsleitfaden des Bundesinnenministeriums
- kostenlose IT-Lösung für Migrations- und Rolloutplanung und -unterstützung: rimacon omniInfo für Migration und Rollout