Analyse
Eine Anwendung wurde mit einer vor vielen Jahren aktuellen Technologie entworfen
und später kontinuierlich weiter entwickelt.
Das führte zu einer nun sehr mächtigen Applikation mit den (nichtfunktionalen) Eigenschaften:
- Mischung aus großen, monolithischen Applikationsblöcken (Entwurfzeit und frühe Entwicklung)
und eine große Anzahl kleinerer Zusatzmodule aus späteren Erweiterungen
- Verstreute Datenzugriffslogik und Fehlen einer Datenzugriffsschicht
- Starke funktionale Abhängigkeiten der Anwendungs- und Präsentationslogik vom ursprünglichen Datenmodell
- Interprozess-Kommunikation wird von den Erweiterungsmodulen selbst verwaltet
Diese Anwendung soll auch in einem weiteren Schritt mit modernen Technologien erweitert werden.
Es soll aber verhindert werden, daß Erweiterungen nur nach funktionalen Gesichtspunkten
erfolgen und der architektonische Verfall weiter voran schreitet.
Zu einem späteren Zeitpunkt soll die gesamte Applikation schrittweise neu entwickelt werden. Dies erfordert
die Migration der Daten aus dem Altsystem.
Es sind Validierungs- und Normalisierungsschritte erforderlich.
Lösungsvorschlag
Für die Integration unterschiedlicher Technologien bietet sich die Verwendung
von Brückentechnologien an. Diese sind häufig bereits Bestandteil einer neuen oder auch etablierten
Technologie und werden vom Technologieprovider aus Kompatibilitätsgründen vorgehalten.
Ein Beispiel ist die COM/DotNet Interoperabiltität im DotNet Framework.
- Verwendung von Brückentechnologien (werden vom Technologieprovider zur Verfügung gestellt)
- Herstellung einer dedizierten Infrastruktur, die diese Brückentechnologien kapselt
- Bereitstellung generischer Schnittstellen und Vermeidung fachlicher Aspekte
innerhalb dieser Infrastruktur
- Fachliche Aspekte nach modernen Entwurfsmustern in eigener Domäne abbilden
- Die neu entwickelten Module der Fachdomäne von der Infrastruktur hosten lassen
- Datenmigration schrittweise durchführen und die fachliche Migration extern entsprechend mitführen
Vor-/Nachteile
Mögliche Vorteile sind:
- Trennung nach Verantwortlichkeiten in Domänen, übersichtlicher Aufbau
- Änderungen und Erweiterungen der Fachdomäne erfordern i.d.R. keine Änderungen an der Brückeninfrastuktur
Mögliche Nachteile sind:
- Herstellung der Infrastruktur ist aufwändiger als ad hoc die Verwendung der Brückentechnologie
- Wenn die Infrastruktur verteilt werden soll, ist eine gute Kenntnis der Zielplattformen erforderlich.
Ggf. steigt der Testaufwand
- Schrittweise Datenmigration ist bei sehr weitgehender Vermischung von Datenzugriffs-
und Anwendungslogik im Altsystem nur schwer möglich