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

AOP - wir übernehmen

Werner Gross


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 nicht mehr verlassen, wenn man auf den Datenbestand des Systems zugreifen möchte. Statt sich also in Details der SQL-Abfragen zu verlieren und um sich nicht selbst um die mühselige und fehlerträchtige Umwandlung der Ergebniszeilen einer SQL-Abfrage in Objektinstanzen kümmern zu müssen, verwendet man die der SQL nachempfundene OQL (Object Query Language). Diese erledigt all diese Belange automatisch.

ORM ist im Rahmen der Softwareerneuerung also ein erstrebenswertes Ziel. Wo ist also das Problem? Machen wir es doch einfach …

Das Problem mit dem Erbe

Leider ist es nicht s...

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

AOP - wir übernehmen

Werner Gross


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 nicht mehr verlassen, wenn man auf den Datenbestand des Systems zugreifen möchte. Statt sich also in Details der SQL-Abfragen zu verlieren und um sich nicht selbst um die mühselige und fehlerträchtige Umwandlung der Ergebniszeilen einer SQL-Abfrage in Objektinstanzen kümmern zu müssen, verwendet man die der SQL nachempfundene OQL (Object Query Language). Diese erledigt all diese Belange automatisch.

ORM ist im Rahmen der Softwareerneuerung also ein erstrebenswertes Ziel. Wo ist also das Problem? Machen wir es doch einfach …

Das Problem mit dem Erbe

Leider ist es nicht s...

Neugierig geworden?


    
Loading...

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