Blog

Legacy-Anwendungen:
Aus Alt mach Neu

Skaylink bringt frischen Wind in Legacy-Anwendungen – mit modernen Komponenten, neuen APIs und einer zeitgemäßen UI für mehr Effizienz und eine bessere User Experience.
23. Juli 2024
Skaylink

Wir kennen sie alle – schwerfällige, veraltete Systeme, die sich trotzdem hartnäckig halten. Sie sind nicht nur eine physische Last, sondern auch echte Zeitfresser. Jede Stunde, die Sie damit verbringen, sich mit ihren Eigenheiten herumzuschlagen, ist eine Stunde zu viel, die auf Kosten von Innovation und Wachstum geht.

Kurzfristige Verbesserungen

Konzentrieren Sie sich zunächst auf die einfachen Maßnahmen: Modernisieren Sie die wichtigsten Komponenten einzeln nacheinander. Gönnen Sie Ihren Datenbanken ein Upgrade, implementieren Sie APIs, und automatisieren Sie manuelle Prozesse. Diese eher kleinen Dinge bewirken für die täglichen Abläufe schon sehr viel. So sieht es zum Beispiel aus, wenn Skaylink für seine Kunden aktiv wird:

Istzustand analysieren

Bei einem unserer Kunden ging es um eine Zeiterfassungslösung, die ein externer Anbieter vor längerer Zeit entwickelt hatte. Sie funktionierte noch, doch die UI war inzwischen veraltet. Dadurch wurde die Software von neuen Benutzer*innen nicht mehr so gut angenommen. Außerdem handelte es sich um eine Client-Server-Anwendung ohne Webversion, weshalb externe Benutzer*innen sie nur mit VPN-Zugang oder eigener Installation nutzen konnten. Wir hätten eine RDP-Lösung einsetzen können, aber das hätte nichts an der unattraktiven Oberfläche geändert.

Hinzu kam: Das Rechenzentrum, in dem die Anwendung gehostet war, sollte in Kürze geschlossen werden. Es stand also als zusätzliche Herausforderung eine Cloud-Migration der Anwendung und der Datenbank an. Die Cloud Governance des Kunden sah die Authentifizierung über Entra ID vor, die mit der Anwendung in ihrem aktuellen Zustand aber nicht möglich war.

Plan aufstellen

Skaylink sah sich genau an, wie die Anwendung modernisiert werden könnte. Es gab gut dokumentierte interne Schnittstellen, auf die über .Net zugegriffen werden konnte. Es wurde beschlossen, eine moderne UI zu entwickeln sowie eine API, damit externe Benutzer*innen die Anwendung mit Entra ID (Azure Active Directory) nutzen konnten. Eine Serverless-Architektur war nicht möglich, da die Anwendung im großen Umfang COM-Objekte verwendete. Deshalb entschieden wir, die API auf einer IIS-Instanz zu hosten. Zum Ausführen der Anwendung brauchten wir ohnehin virtuelle Maschinen, und auf diese Weise war alles an einem Ort vereint.

Über Terraform stellten wir die erforderliche Infrastruktur mit einer APU und einer Instanz in Azure bereit. Da das mit Infrastructure-as-Code (IaC) sehr einfach ist, entwickelten wir auch eine Development Stage, die wir und der Kunde nutzen konnten, um weitere Änderungen an dieser Anwendung zu testen.

API einsetzen

Eine API zu einer vorhandenen Anwendung hinzuzufügen, eröffnet zahlreiche neue Möglichkeiten – dank nahtloser Kommunikation mit anderen Softwaresystemen, besserer Interoperabilität und einfacherem Datenaustausch. Eine Anwendung mit API lässt sich beispielsweise ganz einfach mit Projektmanagement-Tools oder der Lohnabrechnung synchronisieren, um Abläufe zu beschleunigen und ein effizienteres Arbeiten zu ermöglichen.

Für die Zeiterfassungslösung entwickelten wir eine REST API auf der Basis von .Net 6 und C#. Sie stellte alle Endpunkte zum Anlegen, Lesen, Aktualisieren und Löschen von Zeiteinträgen bereit. Über die internen COM-Schnittstellen wird die Eingabe von der API zur eigentlichen Software transportiert.

Beim Implementieren der API erstellten wir auch ein PowerShell-Modul zum Testen der API. Dieses Modul lässt sich auch zum Automatisieren einsetzen.

UI erneuern

Der Kunde wünschte sich eine moderne webbasierte UI, die wir auf Basis der API-Endpunkte mit Vue.js 3 entwickelten. Eine ansprechende, benutzungsfreundliche Oberfläche ist sehr wichtig, damit die Software auch angenommen wird. Mit modernen Designprinzipien, einer intuitiven Navigation und responsiven Layouts wurde das Zeiterfassungstool nicht nur optisch attraktiver, sondern auch einfacher bedienbar.

Zeiterfassungsprozesse straffen

Nachdem die API integriert und die neue UI fertig war, ging es an die Zeiterfassungsprozesse. Wir ermittelten repetitive Aufgaben und Engpässe im aktuellen Workflow und automatisierten diese Prozesse mithilfe der API. Von der Eingabe der Zeiteinträge über die Projektzuordnung bis hin zu Reporting und Analysen wurden auf diese Weise alle Aspekte der Zeiterfassung effizienter und intuitiver für die Benutzer*innen.

Testen und iterieren

Beim Modernisieren von Anwendungen muss gründlich getestet werden, um sicherzustellen, dass alles so funktioniert wie vorgesehen. Wir holten Benutzerfeedback ein und ließen die Ergebnisse in den nächsten Sprint einfließen. Denn kontinuierliche Verbesserung ist unerlässlich, damit das Modernisierungsprojekt auch neuen Anforderungen Ihres Unternehmens gerecht werden kann.

Fazit

Die Modernisierung einer veralteten Zeiterfassungsanwendung ist eine strategische Investition, die sich vielfach auszahlt: mehr Effizienz, höhere Produktivität und zufriedenere Benutzer*innen. Mit einer API und einer ansprechenden neuen UI können Sie Ihre Zeiterfassungsprozesse optimieren und Ihr Team entlasten. Überzeugen Sie sich selbst, welches Potenzial Ihre Workloads durch Modernisierung entfalten können.