- Deprecated
-
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, sowie die Umstellung von Hardware einer bestehenden Technik auf eine neue Plattform unter weitgehender Nutzung vorhandener Infrastrukturen.
Die häufig eng miteinander zusammenhängenden Prozesse lassen sich in „Software-Migration“ und „Daten-Migration“ aufteilen.
Diese Umstellung kann Probleme bereiten. Voraussehbare Folgen werden als „missbilligt“ (engl.: „deprecated“) markiert.
Inhaltsverzeichnis
Softwaremigration
Ähnlich der Portierung von Computerprogrammen versteht man unter einer Migration den Wechsel eines wesentlichen Teils der eingesetzten Software von einem Programm zum anderen.
Die Migration geht über eine einfache Aktualisierung bzw. ein Upgrade hinaus und bezeichnet vielmehr einen grundlegenden Wechsel der Software-Infrastruktur, zur Migration stehen üblicherweise Tools zur weitestgehen automatisierten Umstellung zur Verfügung. Der Ausdruck Migration (lat.: Wandern) soll eine einfache, in der Regel problemlose, schrittweise Umstellung unterstreichen, im Unterschied dazu wird der Ausdruck Portierung meist für einen gröberen Bruch oder einen noch größeren Sprung benutzt. Portierungen sind mitunter extrem schwierig und können scheitern. Da sich Systemumstellungen bereits in der Vergangenheit zum Teil als sehr schwierig, teuer und umständlich gestalteten, wurde der Ausdruck Migration schon Ende der 1980er Jahre - vor allem im Marketing und Vertrieb - populär, er soll einen Umstellungsaufwand herunterspielen und dessen Einfachheit unterstreichen.
Beispiele für eine Software-Migration ist der oft schrittweise Umstieg vom Microsoft-Betriebssystem Windows auf Linux oder von Unix auf Windows. Aber auch der Umstieg von einer alten AS/400 auf Linux wäre eine Migration. Eine Teilmigration dagegen wäre es, eine neue AS/400 (System i) 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 desselben 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. Beide SAP-Versionen unterscheiden sich grundlegend. Derartige Migrationen sind daher mitunter extrem schwierig und können scheitern, es sollte hier besser von einer Portierung gesprochen werden.
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, im zweiten ist eine Form von Schema Matching notwendig.
Hardwaremigration
Die Migration bestehender Systeme auf neue Hardware wirft in etwa dieselben Problem auf, wie rein softwareseitige Migration, und ist über Schnittstellentreiber meist zwangsläufig mit einer gewissen Softwaremigration verbunden. Datenmigration wird dabei tunlichst vermieden.
- Beispiel: Übergang einer klassischen Ethernet-Technologie in eine ATM-Technologie unter Beibehaltung der strukturierten Verkabelung.
Umstellung auf neuere Schnittstellen und Techniken
Eine Funktion oder ein Parameter eines Programmes oder beispielsweise SGML-Elemente in Auszeichnungssprachen, welche in Folgeversionen möglicherweise nicht mehr verfügbar sein werden, oder aber auch überholte Programmiertechniken, werden als „missbilligt“ eingestuft.
Der Sinn, diese aber dennoch weiter zu führen, liegt in der Aufwärtskompatibilität. Denn wenn man eine Schnittstelle einfach abschaffen würde, entstehen leicht Ausnahmefehler, daher ersetzt man die alte Verarbeitung der Eingabe auf solch einer 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"
zurü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 manchen Programmiersprachen die englischen 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-Kompatibilitä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 Hauptprobleme der Versionsverwaltung moderner Software. Daher wird bei neuen Versionen zwischen kleiner („minor“) und großer Aktualisierung („major Upgrade“) unterschieden, je nachdem, in welchem Ausmaß die Aufwärtskompatibilität gewährleistet wird. Eine Migration über mehrere Versionen („Releases“) hinweg kann wesentlich leichter Probleme bereiten, oder gar eine neue Neuinstallation erfordern.
Siehe auch
- Elektronische Archivierung
- Emulation
- Information Lifecycle Management
- Langzeitarchivierung
- Migrationsstrategien (Informationstechnik)
Literatur
- Knut Hildebrand: IT-Integration & Migration. Dpunkt Verlag, Heidelberg 2007, ISBN 978-3-89864-455-6
Weblinks
zur allgemeinen Information
- Migrationsleitfaden des Bundesinnenministeriums – Informationen zur Migration auf Open-Source-Software in öffentlichen Einrichtungen
- Migrationen von ECM-Systemen / Migrationsformen – Grundsätzliche Informationen zum Thema Migration
- tuxfutter.de – ein Wiki zur Migration auf freie Software und Linux mit Anleitungen und Software-Alternativen
zu Datenmigration-Tools
- Scriptella: open source Extract-Transform-Load (ETL) und Script-Ausführungs Tool.
- ETL Integrator: open source Extract-Transform-Load (ETL) Tool mit JBI- (Java Business Integration) Unterstützung zur Datenmigration in SOA- (Service Oriented Architecture) Umgebungen.
- Daten Migration Toolkit (DMT): GUI-basiertes Java Programm zur Migration von Dateien und Datenbankdaten (kostenloses Tool, welches die Datenmigration praktisch veranschaulicht).
Wikimedia Foundation.