Projektmanagement
IT-Prozesse
SW-Architekturen

Links
Workshops
Login

Name
Passwort
Suchen nach


Datenmigration für Legacy-Systeme Druckversion
Autor: 20.09.2009 15:18
Im Rahmen eines Grossprojektes zur Ablösung der veralteten Legacy-Systeme eines Versicherungsverbundes musste ein möglichst weitgehend automatisierter Weg gefunden werden, die komplex strukturierten Altdaten in die neue Lösung zu überführen.


Projektinhalt / Aufgabenstellung

innovateIT hat ein grösseres Teilprojekt bei der Anforderungsanalyse, Spezifikation und Umsetzung begleitet. Einer der Aspekte war, die Altdaten systematisch (und reproduzierbar) aufzubereiten, in die neuen Strukturen umzusetzen und für das neue System zur Verfügung zu halten. Die gesamte Datenmigration musste innerhalb eines Wochenendes durchgeführt werden können.
Die zu migrierenden Daten umfassten einen Zeitraum von 10 Jahren bis zum letzten Arbeitstag vor der Durchführung der Migration. In Einzelfällen mussten aber bis zu 25jährige Daten berücksichtigt werden.
Eine grosse Schwierigkeit bestand in der Struktur der Daten. Die Altdaten sind in einer hierarchischen Tabellenstruktur abgelegt. Einzelne Datenfelder oder Tabellen wurden semantisch mehrfach verwendet, abhängig vom Inhalt anderer Datenfelder. Andere Datenfelder haben im Verlaufe der Zeit ihre Bedeutung geändert. Es gab sogar Datenfelder, welche je nach Niederlassung unterschiedlich verwendet wurden.

Analyse und Spezifikation der Datenmigration
 
Altdatenanalye
In enger Zusammenarbeit mit dem Endkunden wurden die Altdaten strukturell und inhaltlich bis ins Detail analysiert und dokumentiert. Dabei stellte sich heraus, dass teilweise keinerlei Wissen über die Bedeutung von einzelnen Datenfragmenten mehr vorhanden war.
Resultate der Altdatenanalyse:
  • Dokumentation der für das Teilprojekt relevanten Tabellen und Datenfelder
  • Dokumentation der fachlichen Bedeutung der Datenfelder
  • Dokumentation der Spezialfälle (z.B. Mehrfachbedeutung von Datenfeldern je nach Kontext, unterschiedliche Benutzung von Datenfeldern je nach Niederlassung)
  • Dokumentation von Daten, welche potentiell von anderen Teilsystemen des Projekts mitgenutzt wurden
  • Auflistung der zu migrierenden und nicht zu migrierenden Daten
  • Zusammenstellung der vorgängig vom Kunden vorzunehmenden Bereinigungsarbeiten
  • Zusammenstellung der potentiell nicht automatisierbaren Migrationsvorgänge
Datenmapping
In dieser Phase wurden die im neuen System benötigten Daten analysiert bezüglich Vorhandensein im Altsystem und wie sie aus dem Altsystem extrahiert oder allenfalls mittels Berechnungen und Umwandlungen hergestellt werden können. Dies wurde pro Modul des Teilprojekts vorgenommen unter Beizug der verantwortlichen Software-Architekten der Module.
Daraus ergaben sich folgende Dokumentationen:
  • Datenmapping Altdaten --> Neudaten
Hier wird beschrieben, aus welchen Altdaten, unter welchen Voraussetzungen und mit welchen Umwandlungen die im Modul benötigten Daten hergestellt werden. Die Beschreibung erfolgte teils tabellarisch, teils in Pseudocode und teils in Prosa, um die Automatisierbarkeit weitmöglichst bereits hier im Fokus zu haben.

Spezifikation der Migration
Auch hier wurde je nach Situation das jeweils geeignete Mittel für die Spezifikation verwendet (Use Cases, Prosa, SQL, Pseudocode).
Im Wesentlichen wurden folgende Artefakte beschrieben:
  • Aufbereitung der Altdaten: Die Vorbereitung der Altdaten, um von den Datenextraktoren sinnvoll gelesen werden zu können
  • Datenextraktoren: Abfrageroutinen auf die Altdaten, welche auf diverse Tabellen zugreifen und die für die Datenumwandlung benötigten Daten lesen kann
  • Datenumwandlung: Pro Ziel-Datenfeld wird eine Umwandlungsregel definiert (oder mehrere, im einfachsten Fall 1:1). Die umgewandelten Daten werden in eine Datenmigrations-DB geschrieben
  • Konstantenumwandlung: Konstanten müssen ebenfalls umgewandelt werden (z.B. die Texte ‚ja‘ und ‚nein‘ in true und false)
  • Dateninjektoren: Damit werden die umgewandelten Daten in das neue System übertragen. Dies oll möglichst mit bestehenden Services der neuen Applikation vorgenommen werden, um die bereits vorhandenen Validierungen etc. mitverwenden zu können.
  • Datenquanititäts- und Datenqualitätsprüfung: Für die Sicherstellung, dass im Neusystem dieselben Daten abgebildet werden wie im Altsystem, wurden Regeln definiert, welche weit über technische Prüfsummen herausgehen. Es müssen fachliche Konsistenz- und Mengenprüfungen vorgenommen werden können.
Für die Implementation und die Ausführung der Datenmigration wurde im Gesamtprojekt ein Datenmigrations-Framework entwickelt, welches den automatisierbaren Teil der Datenmigration ausführem und jeden Schritt protokollieren kann (jeweils mehrere Instanzen für Regressionstests und bei der ‚scharfen‘ Datenübernahme).

Aufgabe innovateIT

Ein Mitarbeiter der innovateIT war neben der fachlichen Anforderungsanalyse für das gesamte Teilprojekt mit der Altdatenanalyse und dem Datenmapping betreut worden. Diese Arbeiten erfolgten in sehr enger Zusammenarbeit mit dem Endkunden und wurden von diesem periodisch geprüft.
In der Spezifikationsphase wurden diese Arbeiten parallel weitergeführt, da beim Kunden immer wieder neue Erkenntnisse über die Altdaten auftraten. Für die Spezifikationsphase wurde das Team mit Softwarearchitekten ergänzt, welche das Neusystem massgeblich spezfiziert hatten.
 
 
 
   
 
@ 2009, innovateIT AG