Modernizing Legacy, die sanfte Modernisierung einer relationalen DB durch aspektorientierte Programmierung

AOP - wir übernehmen


Der Datenbestand einer über Jahrzehnte gewachsenen Anwendung – traditionellerweise abgelegt in einer relationalen Datenbank – ist aus Sicht des Betreibers der Anwendung nicht selten existenzkritisch. So wie die Luft zum Atmen werden die Daten fürs Geschäft benötigt. Wehe dem, der den Bestand unsachgemäß verändert, gar korrumpiert! Doch was macht man mit solch einem Bestand, wenn die zugrunde liegende Anwendung modernisiert wird, ersetzt durch aktuelle Technologien? Bereinigen? Womöglich Millionen Informationseinheiten neu strukturieren? Ein Albtraum beginnt ...

Modernizing Legacy – die Modernisierung alter, teilweise schon seit Jahrzehnten im Einsatz befindlicher Anwendungen – ist ein im wahrsten Sinne heißes Thema. Die ungebremsten Innovationszyklen der IT sorgen hier scheinbar für einen permanenten Bedarf der Erneuerung. Doch sowohl Algorithmen als auch die Daten, auf die sie einwirken, widersetzen sich nicht selten einer reibungslosen Erneuerung. Wer weiß noch nach all den Jahren, was die Software im Detail macht? Selbst eine überschwängliche Dokumentation im Quellcode der Legacy-Software kann mehr verwirren als wirklich helfen.

Der (relationale) Datenbestand einer Altanwendung – und um selbigen und seine Erneuerung geht es im Wesentlichen in diesem Artikel – ist in diesem Zusammenhang ein ganz spezielles Thema. Denn fast immer scheint er unüberbrückbar mit der Software, von der er verwendet wird, verwachsen zu sein, haben sich in all den Jahren der Benutzung Daten angesammelt, von denen sich keiner mehr trennen will – man weiß ja nie.

Modernizing Legacy der Datenbank

Spricht man heutzutage von der Modernisierung von Softwaresystemen, meint man fast immer die Einhaltung des objektorientierten Paradigmas in der neuen Softwarelösung. Die Objektorientierung beeinflusst aber nicht nur die Art und Weise der Programmerstellung, sondern natürlich auch die Art und Weise, wie Daten in Informationssystemen – vornehmlich also solchen, die zur Speicherung massenhaft vorzuhaltender Daten geeignet sind – zu speichern und wiederzubeschaffen sind. ORM – objektrelationales Mapping – ist hier das Schlagwort. ORM bedeutet, dass Objekte der objektorientierten Welt auf Entitäten der verbundenen relationalen Datenbank abgebildet werden. Um die technischen Details dieser Abbildung muss man sich als Softwareentwickler in aller Regel nicht kümmern. Besitzt man eine solche Abbildung zu einer gegebenen Datenbank, so muss man als Softwareentwickler die objektorientierte Welt nic...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang