SOA bringt Legacy-Anwendungen auf Trab

21.03.2006
Von Claus Hagen und Randolph Kappes

Diese Mächtigkeit ist beeindruckend, doch Größe allein bedeutet nicht zwingend Komplexität. Der Code erwies sich in vielen Fällen als gut organisiert und auf Lastverhalten und Wiederverwendung ausgerichtet, die funktionalen Redundanzen waren gering. Verbesserungsbedarf ergab sich jedoch hinsichtlich folgender struktureller Eigenschaften:

  • Übermäßig enge Kopplung: Eine Applikation lässt sich nicht ändern, ohne dass das Auswirkungen auf viele andere Applikationen hätte;

  • Teilweise ungekapselte Datenbanken: Wenn sich die Datenbankstruktur ändert, müssen auch die Applikationen angepasst werden;

  • Keine Testmöglichkeit für einzelne Anwendungsteile: Aufgrund der engen Kopplung muss für jeden Test derzeit die gesamte Plattform bereitstehen, selbst wenn nur eine Applikation oder sogar nur Teile davon tatsächlich zu prüfen sind.

Im Rahmen des Analyseprojektes wurden nicht nur diese Abhängigkeiten dokumentiert, sondern auch Maßnahmen entwickelt, um die Systeme zu modernisieren: Übereinstimmend schlugen die Expertenteams vor, die Applikationslandschaft zu modularisieren. Die Kernmaßnahmen des Lösungsszenarios sollten wie folgt aussehen:

  • Um die Kopplung der Applikationen zu überwinden, empfahl sich die Einführung gemanagter Schnittstellen;

  • Die Datenbankzugriffe ließen sich durch Kapselung mit Hilfe von Anwendungsservices entkoppeln;

  • Eine Trennung der Applikationen in unabhängige Komponenten sollte das Testen vereinfachen.

Diese Lösungsansätze entsprechen letztlich den Konzepten in einer serviceorientierten Architektur (SOA).