Home Lösungen Modernisierung In-Place Migration

«In-Place» Migration: Plattform-spezifische, proprietäre Funktionen einer Anwendung werden in ein neutrales, Plattform-unabhängiges Model (PIM, «Platform Independent Model») überführt. Daraus können Plattform-spezifische Funktionen sowohl für die produktive, abzulösende Plattform als auch für die Ziel-Plattform erzeugt werden.

Wenn eine Anwendung - selbst ohne Erweiterung der bestehenden Funktionalität - auf eine neue Plattform migriert werden soll, müssen Plattform-spezifische, proprietäre Zugriffe auf Middleware, TP Monitore, Datenhaltung und Bildschirm-Ein/Ausgabe ausgewechselt werden.

Den Ansatz, die Plattform-spezifischen Zugriffe zu 'neutralisieren' und in der neutralisierten Form in der bewährten System-Umgebung zu integrieren, bezeichnen wir als «In-Place» Migration. Sie bringt Ihnen grossen Nutzen und wesentliche Vorteile.

Nutzen und Vorteile

  • Bestehende und integrierte, «In-Place»-migrierte Teile von Anwendungen sind untereinander kompatibel und parallel lauffähig.
  • «In-Place»-migrierte Teile von Anwendungen können mit Original-Testfällen und -Daten umfassend in der gewohnten Test-Umgebung getestet werden.
  • «In-Place»-migrierte Teile von Anwendungen können ohne Einschränkungen auch produktiv eingesetzt werden.
  • «In-Place»-migrierte Teile von Anwendungen können, unabhängig von der laufenden Wartung und vom produktiven Betrieb parallel auf der neuen Ziel-Plattform getestet werden.
  • Kein «Big Bang».
  • Kein «Point of no return».
  • «No freeze» - Die Wartung wird auf den «In-Place»-migrierten Programm-Sourcen gemacht.
  • Sie bestimmen den Zeitpunkt der Umstellung auf die neue Plattform.

Lösungsansatz (in vereinfachter Form)

Als positiver und durchaus erwünschter Nebeneffekt einer «In-Place» Migration werden monolithische Programme in die heute in der Software-Entwicklung üblichen Schichten aufgeteilt:

  • Präsentation (Presentation Layer),
  • Verarbeitung (Business Logic),
  • Datenzugriffe (Data Access Layer).

Daraus resultieren wesentliche Vorteile für laufende und die zukünftige Wartung auf der neuen Ziel-Plattform.

Anwendungen 'neutralisieren', Code für bestehende Plattform generieren

  • In-Place Migration - Anwendungen neutralisierenIn den Anwendungen wird nach Plattform-spezifischen, proprietären Zugriffen auf Middleware, TP Monitore, Datenhaltung und Bildschirm-Ein- und Ausgabe gesucht, sie werden markiert und analysiert.
  • Die Analyse-Resultate jeder einzelnen Fundstelle werden in einem Plattform-unabhängigen Modell (PIM,«Platform Independent Model») abgelegt.
  • Aus diesem Plattform-unabhängigen Modell können nun - je nach Typ - eigenständige Software-Module, Copy Books, Includes usw. für die bestehende Plattform generiert werden.
  • Im letzten Schritt werden nun die in der Analyse markierten Fundstellen - je nach Typ - im Programm-Source durch entsprechende Plattform-unabhängige Aufrufe ersetzt.

Nach der Umstellung von logisch zusammengehörigen Programm-Paketen können alle migrierten Programme mit den dazugehörigen, neu erstellten Software-Modulen dem Test-Team übergeben werden.

Nach der abschliessenden Übernahme in die Produktion werden die migrierten Programme und die neu erstellten Software-Module dem Wartungs-Zyklus unterstellt.

Code für neue Plattform generieren

In-Place Migration - Code für neue Plattform generieren

  • Aus diesem Plattform-unabhängigen Modell können nun - je nach Typ - eigenständige Software-Module, Copy Books, Includes usw. für die neue Plattform generiert werden.
  • Die Aufrufe im steuernden Programm-Source sind bereits durch entsprechende Plattform-unabhängige Aufrufe ersetzt.

Alle migrierten, Plattform-unabhängigen Programme mit den dazugehörigen, neu erstellten Software-Modulen für die neue Plattform können nun dem Test-Team übergeben werden.

Beispiel: Architektur-Migration, Präsentationsschicht kapseln

Die Bildschirm-Beschreibungen werden Plattform-neutral im PIM abgelegt. Die neuen Front-Ends können nun einfach für die Verwendung browser-basierter Technologien generiert werden.

In den Anwendungen werden die Plattform-spezifischen, proprietären Zugriffe auf Bildschirm-Ein/Ausgabe durch entsprechende Plattform-unabhängige Aufrufe ersetzt.

AMELIO Modernization Platform - Transformation - Präsentationsschicht kapseln

Sie wollen mehr wissen?

RDW - holländisches StrassenverkehrsamtMit plattformunabhängigen Anwendungen konnte RDWRDW, das holländische Strassenverkehrsamt schnell und sicher auf kostengünstigere und zukunftssichere Plattformen und Technologien wechseln.

Eingesetzte Lösung: «AMELIO Modernization Platform»

  • reduzierte Risiken durch vollständige, d. h. 100%-ige Automation aller Änderungen
  • reduzierte den Testaufwand um mehr als 90%
  • verringerte den Bedarf an Ressourcen

Ergebnisse des RDW-Projekts:

  • Herstellerunabhängigkeit
  • herausragende Qualität: 1,3 Mio. Änderungen in 14 Mio. COBOL-LoCs mit einer Defects Injection Rate von nur 0,0004%
  • Bereitstellung von 3.200 plattformneutralen Daten-Services
  • Deutliche Qualitätssteigerung in Entwicklung und Wartung.

RDW gewinnt Plattformunabhängigkeit

RDW setzte Deltas «AMELIO Modernization Platform» zur Änderung von mehr als 10.000 Modulen ein. RDW ist jetzt unabhängig vom Hersteller und kann zukünftig einfacher auf kostengünstigere oder besser geeignete Plattformen und Technologien wechseln.

Transformation: Die Lösung

AMELIO Modernization Platform - Prozess - TransformationMit «AMELIO Modernization Platform» haben wir das für die Transformation geeignete Werkzeug.

Sämtliche Prozesse sind zu 100% automatisiert und können jederzeit wiederholt werden.

  • Discover: alle relevanten Dokumente, Programmsourcen usw. werden aus verschiedenen Quellen eingelesen und detaillierte Informationen im Repository gespeichert.
  • Analyse: Die zu ändernden Code-Zeilen bzw. Code-Fragmente werden im Repository gesucht, markiert, nach Typ klassifiziert und bei Bedarf mit weiteren Fakten angereichert.
  • Transform: Für jeden klassifizierten Änderungs-Typ muss eine Transformations-Regel hinterlegt werden. Sie gibt vor, welche Modifikationen im Programm-Sourcecode durchgeführt, welche Code-Zeilen verändert oder gelöscht, welche zusätzlichen Komponenten eventuell generiert werden müssen.
  • Produce: Die identifizierten und angereicherten Code-Stellen werden durch vordefinierte Regeln zu 100% automatisiert transformiert. Geänderte und neu erstellte Software-Komponenten können direkt dem Testteam oder, nach erfolgreichen Tests, an die Produktion weitergegeben werden.

The Perfect Way to Better Software - Software4Software

 
Bookmark and Share