Migration (Informationstechnik)

aus Wikipedia, der freien Enzyklopädie

(Weitergeleitet von Deprecated)
Wechseln zu: Navigation, Suche

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 alten Technologie in neue Technologien 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

[Bearbeiten] 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.

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 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. 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, im zweiten ist eine Form von Schema Matching notwendig.

[Bearbeiten] 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.

[Bearbeiten] 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 machen 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.

[Bearbeiten] Siehe auch

[Bearbeiten] Literatur

[Bearbeiten] Weblinks

[Bearbeiten] zur allgemeinen Information

[Bearbeiten] 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).
Persönliche Werkzeuge