Java / J2EE Modernisierung

Warum?

In die Jahre gekommene Java Architekturen werden heutigen Anforderungen oft nicht gerecht:

  • Viele JavaEE Frameworks sind im Laufe der Zeit ausgelaufen (Struts 1, JBoss Seam, Entity Beans, ...)
  • Eingebundene Bibliotheken weisen bekannte Sicherheitslücken auf
  • Der Support für Java 7 ist ausgelaufen
  • Ältere Frameworks unterstützen moderne User Interface Anforderungen nur unzureichend

Daraus ergeben sich vielfältige Probleme:

  • Veraltete Benutzeroberflächen - altbackene Optik
  • Performance-Engpässe
  • Teure Change Requests
  • Aufwändige Fehlersuche
  • Sicherheitsrisiken

Aber gerade Java bietet eine solide Basis für eine Modernisierung:

  • Java ist nach wie vor eine aktuelle Technologie
  • Die Auswahl an Open Source Bibliotheken ist überragend
  • Es gibt ausgezeichnete Werkzeuge für statische Code Analyse und Refactoring
  • Java ist Standard an vielen Hochschulen

Wo ansetzen?

Bestandsaufnahme der Applikation

Codecare analysiert und bewertet Anhand der Logs, des Quellcodes und der Konfiguration das Altsystem:

  • Architektur-Review
  • Code-Review / statische Code Analyse
  • Potentielle und bekannte Fehler
  • Potentielle Sicherheitslücken
  • Testabdeckung
  • Bewertung der technischen Schulden

 

Bestandsaufnahme der Produktionsstraße

Wie wird die Software gebaut?

  • Entwicklungsumgebung
  • Abhängigkeits-Management
  • Test-Automation
  • Continuous Integration

Durch ein einfaches Upgrade der Software Produktionsstraße kann ältere Software deutlich einfacher gewartet werden.

Maßnahmen

Konkrete Schritte

Die konkreten Schritte ergeben sich aus der Wirtschaftlichkeit der Maßnahmen, die im Rahmen der Bestandsaufnahme gefunden werden.

  • Sicherheitsupdates
  • Aktualisierung der Produktionsstraße / Dev Ops
  • Testautomatisierung
  • Überarbeitung oder Austausch des Nutzer Interfaces
  • Architekturumbau / Portierung von Basisframeworks
  • Modularisierung des Quellcodes
  • Vereinfachung vom Monolithen zu Microservices
  • Update / Upgrade von zu Grunde liegenden Open Source Libraries
  • Verkürzte Release-Zyklen - bis hin zu Continuous Deployment
  • Performance-Optimierung
  • Containerisierung / Docker

 

Tragweite

Auf Basis der Maßnahmen können die verschiedenen Szenarien für Software Modernisation bewertet werden:

  • Komplette Modernisierung der Software
  • Punktuelle, Modul-basierte Vorgehensweise - Refactoring
  • Extraktion von Services (Schätze heben)
  • Partielle Neuentwicklung
  • Teilweise Ablösung durch Standardsoftware
  • Portierung auf neue Betriebsplattformen oder in die Cloud
  • Minimal-invasive Maßnahmen zur Lebenserhaltung

Wir können das!

Nehmen Sie Kontakt mit uns auf: us@codecare.de