Preisgekröntes Re-Engineering

Aus Monolithen werden verteilte Anwendungen

29.10.1999
MÜNCHEN (uo) - Den diesjährigen Software-Engineering-Preis der Ernst-Dehnert-Stiftung erhielt Katja Cremer von der RWTH Aachen für ihre Dissertation. Sie entwickelte ein Verfahren sowie Werkzeuge für ein graphbasiertes Reverse- und Re-Engineering. Ihre Partner aus der Praxis waren die Gebühreneinzugszentrale (GEZ), Köln, und die Aachen Münchner Informatik GmbH, Aachen.

"Die Zusammenarbeit mit der Hochschule bietet die Möglichkeit, Probleme, die sonst ad hoc gelöst würden, theoretisch fundiert anzugehen", beschreibt GEZ-Geschäftsführer Dieter Steinbauer den Rahmen der Zusammenarbeit mit der Hochschule.

Sowohl der Versicherungskonzern als auch die GEZ stehen vor dem Problem, das Know-how monolithischer Legacy-Anwendungen erhalten, die Applikationen dennoch technisch modernisieren zu wollen. Es stellen sich die Fragen: Was ist erhaltenswert und läßt sich gegebenenfalls an verteilte Umgebungen anpassen? Wie läßt sich die Anwendung trennen und an neue Programmteile anbinden? Insbesondere waren die Informatiker der Aachen Münchner daran interessiert, den Antragsdialog der Lebensversicherungs AG an die zentrale Antragsbearbeitung in Aachen anzubinden. Bis jetzt können die Außendienstmitarbeiter die Antragsdaten lediglich aufnehmen. Danach müssen sie für die Bearbeitung mit einem Cobol-Programm ein zweites Mal erfaßt werden. Die Anwendungen der GEZ sind hauptsächlich in PL 1 programmiert. Die Kölner stellten Cremer ihre Rechnungslegung zur Verfügung.

An den auf dem Markt befindlichen Werkzeugen bemängelt Cremer, sie vernachlässigten entweder den Codelevel, oder es fehle die semantisch höhere Ebene, mit der sich die bisherige und die künftige Programmstruktur beschreiben ließen. Letzteres führe dazu, daß ein Re-Engineering beim "Herumwuseln in den Quellen" steckenbleibe und letztlich nur Programmcode transformiert werden könne. Deshalb entstanden rund um die Cremer-Dissertation vier Werkzeuge und eine Methodik.

Um beispielsweise zeichenorientierte Ein- und Ausgabemechanismen herausfiltern und ersetzen zu können, bedarf es eines Analysewerkzeugs. Das aus der RWTH-Werkstatt stammende Tool kann bis zu 50000 Quelltextzeilen lesen. Es erzeugt einen Graphen. Dessen Knoten stellen die Bestandteile der Applikation dar, zum Beispiel Programme. Die Kanten zeigen deren Beziehungen, beispielsweise Programmaufrufe.

Mit einem Re-Design-Werkzeug kann eine neue Programmarchitektur entworfen werden. Dabei lassen sich vorhandene Bestandteile verwenden und integrieren. Dieser Schritt läßt sich rein manuell vollziehen - das Tool prüft dann lediglich die Abhängigkeiten - oder mit Hilfe von automatischen Graphtransformationsverfahren. Mit Hilfe eines Quelltext-Tools läßt sich die neue Struktur auf die Codeebene übertragen.

"Die Zusammenarbeit mit der Hochschule bietet die Möglichkeit, Probleme, die sonst ad hoc gelöst würden, theoretisch fundiert anzugehen", beschreibt GEZ-Geschäftsführer Dieter Steinbauer den Rahmen der Zusammenarbeit mit der Hochschule.

Sowohl der Versicherungskonzern als auch die GEZ stehen vor dem Problem, das Know-how monolithischer Legacy-Anwendungen erhalten, die Applikationen dennoch technisch modernisieren zu wollen. Es stellen sich die Fragen: Was ist erhaltenswert und läßt sich gegebenenfalls an verteilte Umgebungen anpassen? Wie läßt sich die Anwendung trennen und an neue Programmteile anbinden? Insbesondere waren die Informatiker der Aachen Münchner daran interessiert, den Antragsdialog der Lebensversicherungs AG an die zentrale Antragsbearbeitung in Aachen anzubinden. Bis jetzt können die Außendienstmitarbeiter die Antragsdaten lediglich aufnehmen. Danach müssen sie für die Bearbeitung mit einem Cobol-Programm ein zweites Mal erfaßt werden. Die Anwendungen der GEZ sind hauptsächlich in PL 1 programmiert. Die Kölner stellten Cremer ihre Rechnungslegung zur Verfügung.

An den auf dem Markt befindlichen Werkzeugen bemängelt Cremer, sie vernachlässigten entweder den Codelevel, oder es fehle die semantisch höhere Ebene, mit der sich die bisherige und die künftige Programmstruktur beschreiben ließen. Letzteres führe dazu, daß ein Re-Engineering beim "Herumwuseln in den Quellen" steckenbleibe und letztlich nur Programmcode transformiert werden könne. Deshalb entstanden rund um die Cremer-Dissertation vier Werkzeuge und eine Methodik.

Um beispielsweise zeichenorientierte Ein- und Ausgabemechanismen herausfiltern und ersetzen zu können, bedarf es eines Analysewerkzeugs. Das aus der RWTH-Werkstatt stammende Tool kann bis zu 50000 Quelltextzeilen lesen. Es erzeugt einen Graphen. Dessen Knoten stellen die Bestandteile der Applikation dar, zum Beispiel Programme. Die Kanten zeigen deren Beziehungen, beispielsweise Programmaufrufe.

Mit einem Re-Design-Werkzeug kann eine neue Programmarchitektur entworfen werden. Dabei lassen sich vorhandene Bestandteile verwenden und integrieren. Dieser Schritt läßt sich rein manuell vollziehen - das Tool prüft dann lediglich die Abhängigkeiten - oder mit Hilfe von automatischen Graphtransformationsverfahren. Mit Hilfe eines Quelltext-Tools läßt sich die neue Struktur auf die Codeebene übertragen.