Ausgangslage
Eine an der Universität eigenentwickelte Lösung zur Verwaltung von Studierendendaten hatte mit weitreichenden technischen Problemen durch mangelhafte Code-Qualität zu kämpfen. So mussten bestimmte, sich regelmäßig ändernde Semesterdaten für jedes neue Semester direkt im Source Code angepasst werden, da diese nicht als Stammdaten in eine Datenbank ausgelagert waren. Zudem gab es keinen automatisierten, sondern nur auf der IDE basierenden Build-Prozess. Daneben war die Anwendung von verschiedenen Sicherheitslücken betroffen (SQL Injection, Möglichkeit zu Enumeration Attacks, etc.). Die Anwendung wurde soweit es der Budgetrahmen zugelassen hat umgestellt, sodass die gravierendsten Probleme behoben wurden. Es wurde ein automatisierbarer Build-Prozess auf Basis von Maven eingeführt.
Tätigkeit
Projektleitung, Maven-Build-Prozess, Security-Audit, Feature-Implementierung und Refactoring.
Vorgehen
- Einführung eines automatisierbaren Maven-Build-Prozesses.
- Auditierung gravierender Sicherheitsprobleme wie SQL Injection und Enumeration-Angriffe.
- Gezielte Refactorings und Feature-Umsetzung innerhalb des Budgetrahmens.
Ergebnis
- Automatisierbarer Build statt IDE-abhängiger Auslieferung.
- Behebung der gravierendsten technischen und sicherheitsrelevanten Probleme.
- Bessere Wartbarkeit der Anwendung.
Technologien und Methoden im Kontext
In diesem Projekt kamen unter anderem Java, Maven, Spring MVC, Hibernate, MySQL, Git, OWASP zum Einsatz. Fachlich-methodisch standen Legacy-Modernisierung, Security-Audit, Refactoring im Vordergrund.