Data Management Projekte

30 Jahre DB2/400 auf Microsoft SQL Server überführen

Ausgangssituation

30 Jahre lang wurden internationale Handelsdaten in einer IBM DB2 auf einer AS400 (kurz DB2/400) gespeichert. Jeden Monat waren zwei Mitarbeiter:innen mit dem Selektieren, Laden und Korrigieren neuer Daten gebunden. Das Starten der Verarbeitungsroutine erfolgte, wie auch alle SQL Abfragen, auf der Kommandozeile der AS400. Wie das alles funktionierte, wusste niemand mehr ganz genau.

Die COBOL Programmierung wurde in den letzten Jahren durch Microsoft Access Programme erweitert. Notwendige Anpassungen für den Brexit und umfangreichere Änderungen der Datenbank Schemata und Stammdaten konnten nicht mehr durchgeführt werden.

Das Projektziel

In Zukunft sollte der Fachbereich die Daten selbstständig verarbeiten können – idealerweise möglichst wartungsfrei, sprich ohne regelmäßig auf externe, technische Ressourcen angewiesen zu sein. Die AS400 sollte abgeschaltet werden. Die neue Datenbank soll perspektivisch auch in der Cloud lauffähig sein, zur bestehenden Infrastruktur passen und kein „Spezialwissen“ erfordern.

Zudem sollte der Austausch der Daten mit den (Geschäfts-) Kunden nachgelagert modernisiert werden, d.h. gewisse Funktionen sollen dann als SelfService verfügbar sein.

Das Projekt zum Erfolg führen

Auf einem virtualisierten Windows Server installierten wir einen SQL Server, Python und einen ODBC Treiber für die DB2. Die größte Herausforderung war die Anbindung der veralteten DB2/400. Erster Quick Win: wir mussten nicht mehr die Kommandozeile der AS400 für die Vorbereitungen verwenden und konnten die Datenmigration per Python und SQL durchführen (und bei Bedarf „weg schmeißen“ und neu starten).

In Zukunft sollte der Fachbereich die Datenverarbeitung ohne Unterstützung der IT durchführen. Deshalb entwickelten wir einen ersten Prototypen, um die beiden kritischen Fragen zu beantworten:

  • Können wir aus den monatlichen Quelldateien die heutige Datenverarbeitung reproduzieren, ohne die ETL Prozesse zu kennen? Anm.: der Aufwand die COBOL und Access basierte Verarbeitung zu verstehen, war erheblich
  • Kann der Fachbereich selbstständig mit der Lösung arbeiten?

Auf Basis des Prototypen konnten wir inkrementell die Ladestrecken, Währungsumrechnungen und weitere Features im Parallelbetrieb zur Lösung entwickeln und testen. Für das Testing haben wir, neben den technischen Unit Tests, das Reporting Tool parallel an die neue Datenbank angeschlossen. Im Fachbereich wurden die am häufigsten verwenden Reports side-by-side verglichen und Abweichungen nach dem Verarbeiten neuer Daten identifiziert.

Mit wenigen Iterationen konnten wir die Ladestrecken entwickeln und einige mittlerweile überflüssige Teile des alten Systems entfernen.

Nach erfolgreicher Implementierung betrieben wir die alte und neue Lösung einige Wochen parallel – während der Fachbereich die neue Lösung verantwortete, betrieb die IT die alte Lösung bis wir uns sicher waren, dass wir die alte Lösung nicht weiter verwenden mussten.

Neue Funktionen für effizientere Prozesse

Das regelmäßige Feedback während des Parallelbetriebs nutzen wir, um die Lösung weiter auf die Bedürfnisse der Nutzer anzupassen. Wir haben z.B. das Monitoring nutzerfreundlicher gestaltet und auf die Arbeitsprozesse im Fachbereich ausgerichtet – fehlen z.B. Währungskurse während der Verarbeitung neuer Daten, wird ein CSV Export erzeugt. Die Mitarbeiterin im Fachbereich hat ein Excel vorbereitet, mit dem sie aus dieser CSV direkt eine CSV mit den fehlenden Währungsschlüsseln und Kursen produziert. Das legt Sie auf dem Netzlaufwerk ab und startet die Verarbeitung neu. Fertig! Ohne umständliches Copy&Paste in eine Online-Maske.

Aus dem Projektreview lernen

  1. Anstatt aufwendig die Verarbeitungslogiken der alten Lösung zu verstehen und nachzubauen, haben wir uns auf das „Wie soll es in Zukunft funktionieren“ fokussiert. Das hat erheblichen technischen Aufwand eingespart.
  2. Die Mitarbeiterin im Fachbereich konnte nahtlos den produktiven Betrieb übernehmen, weil sie bereits alle Logiken und Funktionen kannte.
  3. Zugegeben war ich von der konsequenten Haltung beim Aufräumen der Altlasten und Sonderlocken überrascht. Ich musste mich an „wenn wir das nicht benutzen oder Ihnen erklären können wie es funktioniert, dann brauchen wir es nicht mehr“ erst gewöhnen. Auch nach einem halbem Jahr produktivem Betrieb fehlen keine Daten, Kalkulationen oder Funktionen!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.