Upload
itemis-ag
View
178
Download
0
Embed Size (px)
Citation preview
Modernisierung von Altsystemen
Migration einer Oracle Forms Anwendung
Rhenus Freight Network GmbH
Stephan Strunk
2014-11-26
Head of IT Solutions
2
Agenda
Überblick 1
Herausforderungen und Ziele 2
Szenarien für die Migration 3
Vorgehen im Projekt 4
Konzept der Migration 5
Beispiel 6
Vorteile der modellgetriebenen Softwareentwicklung 7
Anwendungsüberblick
3
Anwendung auf Basis Oracle Forms
Funktional deckt die Anwendung weitgehend alle Anforderungen ab
Business Logik wurde weitgehend in PL/SQL in Prozeduren in der Datenbank implementiert
Oberfläche basiert auf Oracle Forms inkl. darin enthaltener View-Logik
Umfang: >1200 Dialoge und >1300 Datenbanktabellen
Entwicklung erfolgte durch ein Team in NL
Starkes fachliches Know-how
Entwicklungszeitraum >10 Jahre
Herausforderungen
4
Technologiestack nicht mehr zeitgemäß
Eine manuelle Migration ist aufgrund des Umfangs weder zeitlich noch finanziell sinnvoll
Keine Kenntnisse im Bereich der Java Entwicklung im bisherigen Entwicklungsteam vorhanden
Die Anwendung soll zukünftig international eingesetzt werden – daraus folgt:
Steigende Nutzerzahl
Steigende Performanceanforderungen
Forderung nach hoher Flexibilität und Geschwindigkeit bei der Implementierung neuer Anforderungen
Veränderte Anforderungen an den Betrieb der Software
Ziele der Migration
5
Migration auf einen Java basierten Technologiestack
UI als Webanwendung
Weiterentwicklung des vorhandenen Entwicklungsteams.
Sicherung des vorhandenen fachlichen Know-how‘s
Schaffung einer zukunftssicheren offenen Entwicklungsplattform auf Basis von OpenSource Produkten
Entwicklung eines Toolings, dass auch für die zukünftige Weiterentwicklung der Anwendung sowie die
Entwicklung neuer Applikationen genutzt werden kann
Vorgehen im Projekt
6
Ist-Aufnahme aktueller Stand der Anwendung sowie der eingesetzten Techniken und Methoden
Analyse und Auswahl eines Weges zur Migration
Technische Migration
Keine Implementierung neuer Features
Nur Austausch von Funktionen wenn dies technisch motiviert ist (z.B. Authorizaton)
Ablösung der bestehenden Produktivumgebung
Später
Implementierung neuer Features
Rollout neuer Standorte
Mögliche Szenarien nach Analyse
7
Zunächst wurde in einer Analysephase die Machbarkeit einer Migration geprüft und mögliche Wege aufgezeigt:
1) Verbleib bei Oracle Forms
+ Schneller Rollout in anderen Ländern
- Keine neue Plattform, schlechte Wartbarkeit
2) Vollständig automatisierte Migration
+ Schneller Einsatz in neuen Ländern
+ Geringere Aufwände als eine Neu-Implementierung
- Schlechte Wartbarkeit des generierten Quelltextes
- Hohes Risiko
3) Automatisierte Migration, anschließende Modernisierung
+ Schneller Einsatz in neuen Ländern
+ Überarbeitung findet in der neuen Plattform statt
- Schlechte Wartbarkeit des generierten Quelltextes
- Überarbeitung kann zu hohen Aufwänden führen
Mögliche Szenarien nach Analyse
8
4) Neue GUI, Verbleib PL/SQL
+ Mittelfristiger Einsatz in neuen Ländern
+ Vorhandene Businesslogik wird weiter verwendet
- PL/SQL bleibt als weitere technische Plattform erhalten
5) Neue GUI, schrittweise Migration PL/SQL
+ Mittelfristiger Einsatz in neuen Ländern
+ Vorhandene Businesslogik wird weiter verwendet
+ Langfristig echter Wechsel auf neue Plattform
- PL/SQL bleibt relativ lange erhalten
- Koexistenz von Java und PL/SQL technisch anspruchsvoll
6) Re-Implementierung in neuer Technik
+ Echter Wechsel auf neue Plattform
+ Keine Rücksichtnahme auf Altlasten
- Hoher Aufwand
- Hohes Risiko
Gewählter Weg für die Migration
9
Gewählt wurde:
5) Neue GUI, schrittweise Migration PL/SQL
in Kombination mit einem modellgetriebenen Vorgehen
Die Gründe hierfür sind:
Ein mittelfristiger Einsatz in weiteren Ländern ist möglich
Die vorhandene Businesslogik in der Datenbank kann zunächst eingefroren werden
Eine langfristige vollständige Migration ist möglich
Das Risiko wird minimiert
Konzept der Migration – Definition DSL‘s
10
Für den ersten Schritt der Migration wurden zunächst 3 Beschreibungssprachen
definiert:
Application DSL
„Einstieg“ zur Definition einer Applikation
Business DSL
Beschreibt Entities, LOV, ValueObjects
Frontend DSL
Dient der Beschreibung der Elemente, des Layouts und des Verhaltens von
Bildschirmmasken
Für die Entwicklung der DSL‘s wurde das Xtext Framework verwendet
DSL Models
Business
Frontend
Application
Konzept der Migration – Von Oracle Forms zur DSL
11
Die Beschreibung der Oberfläche und der View Logik kann in Form von XML Dateien exportiert
werden
Die XML Dateien wurden analysiert und ein Eclipse Plugin zur Reduktion auf relevante
Informationen implementiert
Die reduzierten XML Dateien werden als Basis für einen Transformator verwendet der hieraus
DSL Modelle (Dateien) generiert
Die Struktur der Oracle Datenbank (Metadaten) wird als weitere Informationsquelle für die
Generierung von DSL Modellen verwendet
Die XML Dateien enthalten zusätzlich View Logik in Form von SQL Prozeduren. Diese werden
für die späteren manuellen Schritte als Information extrahiert und in Form von Dateien zu den
Modellen bereitgestellt.
Der gesamte Prozess läuft innerhalb der Entwicklungsumgebung automatisch ab!
Oracle Forms Application
XML XML XML
DB
Konzept der Migration – Von der DSL zur Zielplattform
12
Für die Zielplattform wurde das Eclipse Scout ausgewählt:
OpenSource
Multi Device Support
Client-Server Architektur
Standardfunktionalitäten bereits vorhanden (z.B. Tabellensortierung etc.)
100% Java
Integration mit anderen Frameworks möglich
Für die Generierung des Quellcodes der Zielplattform wird das Xtend Framework eingesetzt
Änderungen an DSL Dateien führen nach dem Speichern direkt zur Neugenerierung des
betroffenen Quellcodes. D.h. die DSL verhält sich wie eine Programmiersprache.
Als Basis für die Codegenerierung wurde zunächst ein Prototyp in der Zielplattform
implementiert
Die Arbeit mit der DSL integriert sich nahtlos in die Eclipse Entwicklungsumgebung!
Generator
Templates
Architecture
Konzept der Migration - Zusammenfassung
13
Oracle Forms Application
XML XML XML
DB
DSL Models
Business
Frontend
Application
Generator Target Application
Templates
Architecture
Source Code
Beispiel – Screenshot
14
Beispiel – DSL Entität
15
Beispiel – DSL Frontend
16
Vorteile der modellgetriebenen Softwareentwicklung
17
Generelle Vorteile
Verkürzte Entwicklungszeiten
Weniger technisches Wissen notwendig
Leichtere Umstellung auf neue Technologien
Stärkere Entkopplung von Anwendungswissen und Technologiewissen
Dokumentation durch Kohärenz von Modell und Code
Wohldefinierte Softwarearchitektur, besserer Code
Konkrete Vorteile für die Migration:
• Massive Beschleunigung der Migration
• Know-How Träger in lokaler IT können sich auf fachliche Themen konzentrieren
• Schnelle Konsolidierung der Entwicklungs- und Produktions-Technologie
Since 1912