JSF with JSP

Warum könnte es der richtige Zeitpunkt sein, JSF nicht mehr mit JSP zu verwenden?

/ 02.08.2022 Java

Wenn etwas vermeintlich veraltet ist, aber immer noch funktioniert, könnte man sagen, dass es doch nicht veraltet ist, oder? Es ist eines dieser “Wenn es nicht kaputt ist, sollte man es nicht reparieren”-Szenarien. Und in vielen Fällen könnte dies tatsächlich eine erfolgreiche Strategie sein. Aber in der Welt der Softwareentwicklung birgt diese Art von Ansatz viele Risiken. Die Verwendung veralteter Technologien, wie JSF (JavaServer Faces) mit JSP (JavaServer Pages), wird von Jahr zu Jahr problematischer und kann schließlich dazu führen, dass Sie Geld verlieren, anstatt es für ein technisches Update zu sparen. Sprechen wir also über die Risiken der Verwendung veralteter Technologien am Beispiel von JSF und JSP. Und es ist erwähnenswert, dass die beiden Lösungen offiziell veraltet sind.

Warum ist JSF mit JSP veraltet?

Bevor wir uns den Risiken zuwenden, sollten wir erklären, warum wir solche Technologien immer noch verwenden und was daran so problematisch ist. Der häufigste Grund dafür ist, dass viele Lösungen, die mit alten Technologien entwickelt wurden, gut genug sind, zumindest für den Moment. Auch wenn sie nicht so leicht zu optimieren und zu aktualisieren sind, haben sich die Unternehmen an die alten Methoden gewöhnt, mit denen sie viele Jahre lang erfolgreich waren. Vor allem, weil der Übergang zu modernen, viel populäreren Technologien mit sehr hohen Kosten verbunden ist. Oft geht es um den Wiederaufbau umfangreicher Systeme, deren Aufbau viele Jahre gedauert hat. Das ist natürlich völlig verständlich, wenn wir die Risiken nicht berücksichtigen. Aber wir wollen nicht zu weit vorgreifen. Man kann mit gutem Recht sagen, dass die vielen Probleme von JSP und JSF Entwicklung sehr charakteristisch für das gesamte Problem der “veralteten Technik” sind. Alles beginnt mit den technischen Problemen und der Tatsache, dass sich die Welt der Technologie im Laufe der Jahre stark weiterentwickelt hat, während diese Lösungen hinterherhinkten. In vielerlei Hinsicht ist das Festhalten an alten Technologien so, als würde man sich weigern, sein altes Auto mit einem Kilometerstand von mehr als 750 000 km auszutauschen, obwohl es jeden Monat in die Werkstatt muss und im Vergleich zu neuen Autos dreimal so viel Kraftstoff verbraucht. Lassen Sie uns also kurz über die wichtigsten Mängel der JavaServer Faces sprechen. 1. Schnelle Entwicklung ist billige Entwicklung, während JSF unkomplizierte Aufgaben erschwert. 2. Es ist relativ schwer zu erlernen, so dass es schwierig ist, das Team zu erweitern, wenn es schnell geschehen muss. 3. Es ist inkompatibel mit einer Reihe von Standard-Java-Technologien. 4. Es erschwert die Prüfung im Vergleich zu anderen, moderneren Alternativen. 5. Front- und Backend sind eng miteinander gekoppelt, was zu einer längeren und teureren Entwicklungszeit führt und Full-Stack-Entwickler für die Arbeit erfordert. 6. Es ist ein designierter Standard für die Benutzeroberfläche von Java EE 8, der am 17. April 2017 finalisiert wurde. 7. Es ist anfällig für Performance-Probleme. 8. JSP und JSF bedeuten serverseitig gerenderte Seiten, die klobig und ineffizient sind. 9. Und vieles mehr. Die Folgen dieser Probleme reichen von höheren und längeren Entwicklungszeiten bis hin zur Unfähigkeit, Websites aufgrund von Serverüberlastung zu laden. Noch problematischer ist, dass JSF den Entwicklern keine geeigneten Werkzeuge zur Verfügung stellt, um viele dieser Probleme zu beheben.

Warum ist es riskant, an der veralteten Technologie festzuhalten?

Es gibt viele Herausforderungen, denen sich Entwickler stellen müssen, wenn sie mit einem veralteten Technologie-Stack arbeiten, aber um das Problem wirklich zu verstehen, müssen wir es aus einer breiteren Perspektive betrachten. Werfen wir also einen Blick auf einige der größten Risiken bei der Arbeit mit veralteten und manchmal sogar aussterbenden Technologien.

Steigende Kosten für Wartung und Entwicklung

COBOL ist eine Programmiersprache, die erstmals 1959 entwickelt wurde. Im Laufe der Jahre wurden ihre zahlreichen Versionen von Finanzinstituten, Regierungen und Unternehmen in großem Umfang genutzt. Heutzutage ist es absolut unwahrscheinlich, dass man in einem ernsthaften Gespräch über moderne Software von COBOL hört. Und obwohl es sich um eine veraltete Technologie handelt, ist sie in vielen etablierten Unternehmen, vor allem im Bankwesen, immer noch im Einsatz. Wo liegt also das Problem? Es ist wahnsinnig teuer. Heutzutage lernen junge Entwickler diese Sprache nicht mehr, und erfahrene Entwickler stehen oft eher kurz vor der Pensionierung, als dass sie eine neue Stelle suchen, so dass es sehr schwierig ist, Mitarbeiter für die Wartung COBOL-basierter Systeme zu finden. Und wenn es sie doch gibt, dann erwarten sie viel höhere Gehälter als der Marktdurchschnitt. Wir haben bereits einen sehr ähnlichen Prozess bei JSF und JSP beobachtet, der die Unternehmen in eine schwierige Lage bringt.

Unzulänglichkeiten veralteter Systeme und Erwartungen moderner Nutzer (und Entwickler)

Eine der größten Herausforderungen für Unternehmen im neuen Zeitalter ist die Entwicklung zukunftssicherer Software. Das bedeutet, dass sie für jede Art von Benutzer leicht zugänglich ist, unabhängig vom Gerät, was natürlich auch tragbare Spielkonsolen, Kühlschränke und Staubsaugerroboter einschließt. Benutzer erwarten, dass universelle Zugänglichkeit und JSF-basierte Plattformen nicht einmal ruhevoll sein können. Das ist natürlich ein extremes Beispiel. Die meisten in JSF erstellten Anwendungen benötigen solche Funktionen nicht, aber es ist nur ein Beispiel für viele Einschränkungen, die bei der Entwicklung mit veralteten Technologien auftreten. Hinzu kommt, dass sie für Entwickler, die Herausforderungen suchen und bahnbrechende Software entwickeln wollen, einfach unattraktiv sind. Sie sehen darin auch keinen vernünftigen Karriereweg, denn es ist weil es nicht der Weg in die Zukunft ist. Die Welt der Technik wird sich weiterentwickeln, und ihre Fähigkeiten werden unerwünscht sein.

Was ist die Alternative?

Das wachsende Risiko und die Entwicklungsprobleme, die mit der Verwendung von JSP einhergehen, spiegeln sich perfekt in den Statistiken über die Beliebtheit der Technologie wider. In der gegenwärtigen Ära der Softwareentwicklung gibt es keinen Grund, JSF zu wählen, wenn wir etwas von Grund auf neu aufbauen wollen. Und gleichzeitig treffen immer mehr Unternehmen die schwierige Entscheidung, ihren Stack zu aktualisieren, um den Anforderungen moderner Benutzer und Geräte gerecht zu werden. Laut der jüngsten JVM-Umfrage verwenden 58 % der JVM-gestützten Anwendungen Spring Boot, während nur 8 % JSF einsetzen, und der Unterschied wird jedes Jahr größer. Ob Spring Boot oder Spring MVC, moderne Frameworks lösen einen Großteil der altersbedingten Probleme, die mit JSF einhergehen. Im gleichen Sinne ersetzen Frameworks wie Angular und Vue.js erfolgreich JSP. Natürlich lösen sie mehr als nur diese technischen Probleme. Es gibt viel mehr Entwickler auf dem Markt, was einen viel schnelleren Projektstart und eine einfachere Teamerweiterung ermöglicht. Das bedeutet auch, dass wir super aktive Communities bekommen, die sich gegenseitig unterstützen und fertige Lösungen und Erweiterungen austauschen. Das Ergebnis ist, dass die Entwicklung billiger und schneller wird und wir gleichzeitig viel bessere Software erhalten.

Wie schwierig ist der Übergang zu moderneren Technologien?

Das ist eine Fangfrage, denn in den meisten Fällen geht es nicht um die Schwierigkeit oder gar die Kosten, sondern um die Notwendigkeit. Immer häufiger geht es bei der Entscheidung über die Abkehr von veralteten Technologien ums Überleben. Natürlich ist die Entscheidung nie einfach. Es handelt sich immer um eine anspruchsvolle Aufgabe, die Analysen, Engagement, Zeit und Budget erfordert. Aber diese Risiken, die wir erwähnt haben, werden sich nicht in Luft auflösen. Im Gegenteil, mit jedem Jahr rücken Technologien wie JSF näher an die Geschichte der Softwareentwicklung heran, statt an die moderne Softwaretechnik. Natürlich muss jede einzelne Software gründlich analysiert werden. Nicht immer ist die radikale Entscheidung, die Technologie komplett zu wechseln, die richtige, aber sie in Erwägung zu ziehen, ist schon ein guter Anfang. Und wenn Sie das Gefühl haben, dass der Abschied von der altbewährten Technologie eine gute Entscheidung für Ihr Unternehmen sein könnte, geben Sie uns Bescheid und wir werden Ihnen helfen, die richtige Wahl für Ihr Unternehmen zu treffen. Łukasz Caputa Sales Engineer
Kategorien Java


Design, Entwicklung, DevOps oder Cloud - welches Team brauchen Sie, um die Arbeit an Ihren Projekten zu beschleunigen?
Chatten Sie mit unseren Beratungspartnern, um herauszufinden, ob wir gut zusammenpassen.

Jakub Orczyk

Vorstandsmitglied /Verkaufsdirektor

Buchen Sie eine kostenlose Beratung
kuba (1)