Die 10 Regeln der Modernisierung - JAXenter
Anwendungsmodernisierung statt Neuentwicklung?

Die 10 Regeln der Modernisierung

Daniel Liebhart

Modernisieren statt neu bauen ist die Alternative, wenn angesichts der wirtschaftlich angespannten Lage bestehende Anwendungen für die Zukunft fit gemacht werden sollen. Die Auswahl der richtigen Technik und der effizientesten Vorgehensweise hängen stark vom bestehenden System ab. Es gilt eine Reihe von wichtigen Grundregeln zu befolgen.

Die durchschnittliche Lebensdauer einer Anwendung beträgt 12 bis15 Jahre. Eine Vielzahl von Anwendungen, die Kernprozesse eines Unternehmens abdecken, also wesentliche Betriebsunterstützung leisten, sind Individualentwicklungen oder jedoch stark veränderte Standardsoftware. Sind diese Anwendungen in die Jahre gekommen, so wird oft über einen Ersatz nachgedacht. Ob nun aus Gründen der Betriebskosten, des fehlenden Know-hows für Erweiterungen, der veralteten Technologie, der mangelnden Flexibilität – es gibt im Lebenszyklus eines Informationssystems immer einen Zeitpunkt, an dem Anspruch und Möglichkeiten nicht mehr übereinstimmen. Spätestens dann wird über einen möglichen Neubau nachgedacht. Der ist jedoch meist teuer und aufwändig zu realisieren. Die einzige Alternative ist die Modernisierung, also die grundlegende Überarbeitung der Anwendungen mit dem Ziel, sie weitere Jahre im Einsatz zu halten.

Die Grundlage: Eine vernünftige Struktur

Eine Modernisierung durchzuführen, bedeutet, die bestehende Anwendung so zu strukturieren, dass moderne Technologien eingesetzt werden können. Alle modernen Technologien basieren auf einer Schichtung und definierten Schnittstellen zwischen diesen Schichten. Eine grundlegende Schwierigkeit ist immer, eine vernünftige Zuordnung zu finden. Eine Zuordnung, die einerseits möglichst wenige Veränderungen an der bestehenden Anwendung erfordert und die andererseits möglichst gut in eine moderne Systemlandschaft passt. Die heute gängige Schichtung basiert auf den Prinzipien des Service-oriented Computing. Sie stellt den Rahmen für die beiden führenden modernen Technologien – J2EE und .NET-Architektur – und für die meisten Produkte und Plattformen der Hersteller von Standardsoftware dar. Und sie bietet darüber hinaus die notwendige Flexibilität, um die Modernisierungsarbeiten nicht aus dem Ruder laufen zu lassen.

Abb. 1: Schichtung als struktureller Rahmen einer Modernisierung

Die Schichtung als struktureller Rahmen (Abb. 1) sieht eine logische Teilung zwischen Applikationen, Integrationsmechanismen, Diensten und der Orchestrierung vor. Die Applikationsschicht beinhaltet bestehende oder auch neue Systeme und logische Datenspeicher, während die Serviceschicht Schnittstellen zu den einzelnen Anwendungen oder funktionalen Bereichen darstellt. Zur Steuerung von Abläufen unter Einbeziehung mehrerer Dienste dient die Orchestrierungsschicht. Die Kommunikation zwischen verschiedenen Diensten und die Kommunikation zwischen Diensten und deren Implementierung (Anwendung und Daten) erfolgt über eine Integrationsschicht.

Die Schwierigkeit einer Modernisierung liegt in der Zuordnung. Das bestehende System wird in einzelne funktionale Blöcke aufgeteilt, die dann mit einer Schnittstelle versehen werden. Das gilt sowohl für die Logik als auch für die Daten. Eine Vielzahl von Funktionen, die in einer modernen Umgebung durch definierte Komponenten wie eine Rule Engine oder eine Process Engine abgedeckt werden, sind jedoch in einer bestehenden Anwendung implizit in den bestehenden funktionalen Blöcken realisiert. Da gilt es, im Einzelfall abzuschätzen, was genau wo noch realisiert wird, respektive welche Redundanzen zu Gunsten zukünftiger Flexibilität tolerierbar sind. So kann es sinnvoll sein, eine Aufrufsequenz in der Orchestrationschicht zu realisieren, obwohl sie bereits als Anwendungsmodul vorhanden ist, um spätere Änderungen einfacher gestalten zu können.

Die Techniken: Schwarz oder Weiß

Es gibt eine Vielzahl von Techniken für die Modernisierung bestehender Anwendungen. Sie lassen sich anhand der benötigten Verständnistiefe unterscheiden. Falls nur die Schnittstellen zum System bekannt sind, spricht man von Blackbox-Modernisierung (Abb. 2). Ist Wissen über die Interna einer bestehenden Anwendung vorhanden, handelt es sich um Whitebox-Modernisierung (Abb. 2).

Abb. 2: Techniken der Blackbox-Modernisierung

Blackbox-Modernisierung erfordert die Analyse des Inputs und des Outputs einer bestehenden Anwendung im Rahmen der tatsächlichen Benutzung des Systems. Ziel dieser Analyse ist das Verständnis der Schnittstellen des Systems. Blackbox-Modernisierung basiert in vielen Fällen auf der Kapselung, die das bestehende System mit einer Softwareschicht umfasst, um die Komplexität des alten Systems zu verdecken und eine modernere Schnittstelle anzubieten. Diese Art von Modernisierung eignet sich vor allem für ältere Anwendungen. Leider ist es in manchen Fällen nicht möglich, die Schnittstellen eines Legacy-Systems zu verstehen, ohne die Interna des Systems zu kennen (Tabelle 1). Das wiederum bedeutet den Einsatz von Whitebox-Modernisierung.

Tabelle 1: Vor- und Nachteile der Blackbox-Modernisierung

Modernisierung Einsatzgebiet Vorteile Nachteile
Screen Scraping Legacy-Systeme mit Terminal-Schnittstelle Flexibel,
beliebige funktionale Schneidung möglich
Performance,
Tooleinsatz ist Voraussetzung
Batch Call Systeme mit Command Line Interface und Batch-Prozessen. Systeme, die auf das Vorhandensein von Daten in bestimmten Verzeichnissen reagieren Einfach,
Kosten
Wenig Flexibel
OO-Wrapping Nur wenn ESB bereits vorhanden Einfache Publikation vieler Services durch ESB Kosten,
Objekte entsprechen nicht Services,
Granularität
Component Wrapping Nur wenn ESB bereits vorhanden Universell,
einfache Publikation vieler Services durch ESB
Kosten
Database Gateway Für zentrale Datenbanken Mächtig,
Performanz
XML Integration Für Schnittstellen Universell,
flexibel
Database Replication Für den Austausch von Stammdaten geeignet Universell,
flexibel
Performance

Abb. 3: Techniken der Whitebox-Modernisierung
Geschrieben von
Daniel Liebhart
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.