Dreitägiger Workshop, der Strategien, Techniken und Best Practices zur Migration von Legacy-Anwendungen mithilfe von KI-gestützten Tools wie GitHub Copilot vermittelt. Gleichzeitig vermittelt der Workshop bewährte Strategien und Techniken zur Migration von Legacy-Systemen, die mit und ohne KI-Unterstützung angewendet werden können. Die grundsätzliche Fragestellung, ob die reine Modernisierung im Sinne eines Refactorings ausreicht oder eine komplette Neuentwicklung eventuell sinnvoller ist, wird explizit behandelt und im Kontext von KI-Unterstützung neu bewertet.
Als roter Faden wird ein exemplarisches Legacy-System analysiert und anschließend modernisiert und in eine moderne Architektur überführt. Dabei werden verschiedene Migrationsstrategien wie das Strangler Fig Pattern, Modularisierung einer monolithischen Anwendung("Modulith"), die Aufteilung in Microservices behandelt.
Auf Anfrage auch spezifische Legacy-Systeme und Architekturen als Praxisbeispiele verwendet werden, gerne auch mittels NDA geschützte Systeme.
Als Teilnehmende lernen Sie, wie Sie KI-gestützte Tools effektiv einsetzen können, um den Migrationsprozess zu beschleunigen, Fehler zu reduzieren und die Codequalität zu verbessern.
Migrationen umfassen verschiedenste Bereiche, darunter z.B. Backend, Frontend, Datenbanken, Infrastruktur und Dokumentation. Wir behandeln eine Vielzahl von Use Cases und Migrationsszenarien, um den Teilnehmenden ein breites Spektrum an Anwendungsfällen in jedem dieser Bereiche zu vermitteln.
Demo-Legacy-System
Ein einfaches Legacy-System namens "Acme Invoice Manager" wird als Demo-System verwendet, um die Migrationsstrategien und -techniken praktisch zu demonstrieren.
Dieses System umfasst:
- eine monolithische Backend-Anwendung basierend auf Java-Servlets mit traditioneller Three-Tier-Architektur
- ein veraltetes Frontend mit serverseitigem Rendering von JSP-Templates und minimaler Interaktivität basierend auf jQuery
- eine relationale Datenbank mit kryptischen Tabellennamen und schlechtem Design, Queries werden direkt im Code ausgeführt
- eine einfache Infrastruktur mit manuell verwalteten Servern und Deployments
- eine unzureichende Dokumentation, die hauptsächlich aus Word-Dokumenten und Kommentaren im Code besteht
Das Zielsystem soll die folgenden Eigenschaften aufweisen:
- Modularisierte API-Backend-Anwendung basierend auf FastAPI (Python)
- Modernes, reaktives Frontend basierend auf React und Tailwind CSS
- Gut gestaltete relationale Datenbank (PostgreSQL) mit klaren Tabellen in Normalform und Verwendung eines ORM (SQLAlchemy)
- Containerisierte Infrastruktur mit Docker, automatisierte CI/CD-Pipeline via GitHub Actions
- Ausführliche Dokumentation in Markdown plus Inline-Dokumentation im Code
Wichtig: Die oben genannten Inhalte beziehen sich auf unsere offenen Schulungstermine für Einzelteilnehmer. Wir bieten auch indviduelle Firmenworkshops an.
Individueller Firmenworkshop: Von der Legacy- zur Ziel-Architektur
In unseren projektspezifischen Firmenworkshops migrieren und analysieren wir ausgewählte Module Ihrer Legacy-Software exemplarisch in eine gewünschte Zieltechnologie.
Hier ist eine kleine Auswahl möglicher Migrationsbeispiele:
Backend
- Monolith -> Microservices
- WildFly/JBoss EAP -> Quarkus
- EJB -> CDI + REST
- SOAP (JAX-WS) -> Rest
- Java Upgrade auf aktuelle LTS Version
- Spring / Spring Boot -> Jakarta EE
- native SQL -> JPA / Hibernate
- WordPress-Webseite -> Astro (Static Site Generator)
- Spring JSF mit XML-Konfiguration -> Spring Boot mit Annotationen
Frontend
- JSF -> Angular / React / Vue.
- Desktop mit Swing UI -> Webanwendung
- HTML, JS & jQuery und CSS-Spaghetti -> React mit TypeScript und Tailwind
Mobile
- Android / ioS -> React Native
- Android -> Jetpack Compose
- Android Java -> Android Kotlin
Datenbanken
- Oracle/DB 2 -> Postgres
- MySQL -> Postgres
- MySQL -> MariaDB
Infrastruktur
- Jenkins -> Gitlab CI
- Apache & Tomcat -> Docker/Kubernetes mit Traefik oder nginx
- SVN -> Git
Dokumentation
- Word, PDF, PowerPoint -> Markdown
- Visio, yEd, draw.io -> Markdown
- Visio -> Mermaid