• Thomas Kroth

Zeiträuber – Wie hoch ist der Wartungsaufwand Ihrer Software?

Das sollten Sie über Drittanbieter Plug-Ins wissen!



Das Rad muss nicht neu erfunden werden – da ist sicher etwas dran. Gerade beim Entwickeln von Software hilft der Einsatz von Drittanbieter Plug-Ins oft, die Entwicklung im ersten Schritt schnell voranzutreiben. Diese vermeintlich schnelle Lösung kann Sie jedoch im Nachhinein mehr Zeit für die Pflege und Weiterentwicklung kosten als sie anfänglich eingespart hat. Insbesondere, wenn Sie etwas mehr Individualität benötigen, stehen Sie schnell vor der Frage: Ist das wirklich die richtige Lösung für mich?


Drittanbieter Plug-Ins haben zu hohen Zeitaufwänden und zu hoher Fehleranfälligkeit geführt

Genau vor dieser Frage stand unser Kunde vor einem Jahr. Unser Kunde ist ein mittelständisches Unternehmen, das sehr viele Prozesse im Bereich Verwaltung und Logistik koordinieren muss. Vor zwei Jahren haben wir die Pflege und Weiterentwicklung einer bestehenden Webapplikation zur Unternehmensverwaltung übernommen. Im Projektverlauf ist uns aufgefallen, dass das vor Jahren integrierte Plug-In zur Erzeugung von PDF Reports jedes Jahr eine Menge Geld für die Wartung und Pflege verschlingt.


Es lohnt sich genauer hinzuschauen

Um PDF-Reports wie beispielsweise Rechnungen und Gutschriften zu erstellen, wurde bisher ein Drittanbieter Plug-In verwendet. Dieses Plug-In arbeitet mit vorher definierten Vorlagen und erstellt auf deren Basis PDF-Dokumente. Diese Vorlagen müssen in einem zusätzlichen Tool erstellt und gepflegt werden. Das setzt wiederum Kenntnisse über die Verwendung des Tools voraus. Zudem mussten wiederkehrende statische Informationen, wie IBAN oder Kontaktdaten, auf jedem Report einzeln hinterlegt werden.

Ändert sich eine solche Information, kann dies quasi eine Kettenreaktion zur Folge haben. Alle Report-Vorlagen müssen manuell angepasst werden. Eine solche Anpassung ist mit einem enormen Aufwand und einer hohen Fehleranfälligkeit verbunden. An dieser Stelle musste etwas geschehen, da waren wir uns mit unserem Kunden einig.


Welche Werkzeuge beinhaltet das vorhandene Basis-Framework?

Die Applikation, um die es hier geht, war mit dem Webframework Grails aufgebaut, welches auf Groovy, also im Grunde auf der Java-Syntax basiert. Grails bietet alle nötigen Werkzeuge, um Datenbankanbindung, Backend und Frontend auf Grundlage derselben Codebasis zu verwenden. Die Daten werden beispielsweise in einer MySQL Datenbank gespeichert, im Backend mit Java-Mitteln verarbeitet und über entsprechende HTML Templates im Browser visualisiert. All diese Dinge sind im Grails Framework enthalten.

Grails…

• basiert auf Programmiersprache Groovy, welche sich wiederum an der Java-Syntax orientiert

• Framework für WebApplikationen

• verwendet Spring Boot

• ermöglicht eine einfache Datenbankanbindung

• Datenverarbeitung im Backend mit Java-Mitteln

• templategestütztes HTML Rendering

Das Drittanbieter Plug-In konnte mit vorhanden Werkzeugen ersetzt werden

Grails verwendet zur Ausgabe von Daten im Browser das etablierte HTML Format. Es macht also absolut Sinn, auch die Formatierung der Reports mit den Frontend-Tools von Grails zu erstellen und als HTML Code auszugeben.

HTML Code ist…

• state oft the art,

• einfach zu schreiben und zu lesen,

• extrem weit verbreitet,

• äußerst gut dokumentiert

• und kann in jedem Browser dargestellt werden.

So kann auch das Styling über die bei HTML üblichen CSS-Styles durchgeführt werden. Der Entwickler sieht sofort, wie der Bericht am Ende aussieht. Dem Gestaltungsspielraum sind kaum Grenzen gesetzt. Zudem können statische Informationen einmalig programmiert und in allen Reports wiederverwendet werden. Änderungen müssen nur noch an einer zentralen Stelle erfolgen.

Auf diese Weise werden die von Grails zur Verfügung gestellten Werkzeuge bestmöglich genutzt: Datenabfrage, -verarbeitung und -darstellung. Dies spiegelt sich in einer einfachen Handhabung für die Entwickler und einer gesteigerten Performance für die Nutzer wider.

Für die Erzeugung eines PDF-Dokuments aus dem erstellten HTML Code kann ein beliebiger Microservice verwendet werden. Im beschriebenen Fall wurde zu diesem Zweck weasyprint eingesetzt. Dieser Mikroservice kommt mit wenig Ballast und arbeitet entsprechend schnell.


Zeitaufwände für Wartung konnten durch Ablösung des Plug Ins deutlich reduziert werden

Letztendlich wurde eine vorhandene, wartungsaufwendige Komponente mit mäßiger Performance aus dem Gesamtsystem entfernt und durch die gezielte Weiterentwicklung im vorhandenen Framework ersetzt. Das neue Reporting kann mit wenig Aufwand angepasst oder erweitert werden. Es hat außerdem deutlich schnellere Ausführungszeiten im Livebetrieb.


Unser Fazit:

Es macht immer Sinn genauer hinzuschauen, wenn Teile Ihrer Software einen sehr hohen Wartungs- und Pflegeaufwand erzeugen. Oft gibt es Alternativen, durch die Sie letztendlich Geld und Zeit sparen. Haben Sie solche Zeiträuber auch in Ihrem Code?


Lassen Sie uns gemeinsam betrachten, welche Alternativen für Sie sinnvoll sind. Wir helfen Ihnen dabei, Ihr Programm schlanker und übersichtlicher zu machen.

Vereinbaren Sie gleich einen kostenfreien Beratungstermin.



Dr. Anja Zonaras

Kundenbetreuung M. +49 (0)1525 20 17 570

E. zonaras@tesolva.de


Mehr Informationen finden Sie unter: www.tesolva.de



Folgen Sie uns auch auf LinkedIn und Xing, damit Sie keinen Beitrag mehr verpassen.

Weiterführende Links: https://weasyprint.org/ https://de.wikipedia.org/wiki/Grails, https://grails.org/index.html https://de.wikipedia.org/wiki/Groovy


54 Ansichten

Aktuelle Beiträge

Alle ansehen