Aus technischer Sicht kann vielleicht der eine oder andere sagen: Java Swing geht doch gar nicht mehr. Da könnte man genauso gut noch mit Lochkarten arbeiten. Aber es gibt noch Anwendungen dieser Art, die die fachlichen Anforderungen abdecken und nicht ohne weiteres abgelöst werden können.
MK: Wie stellt sich die Realität in den Unternehmen dar?
Eine Migration von Java-Anwendungen auf Web-Technologien ist relativ aufwändig und erfordert größere Investitionen. Nach meiner Erfahrung aber ist damit zu rechnen, dass etliche Unternehmen ihren fachlichen Themen mehr Bedeutung beimessen als technischen Updates und deshalb gerade bei weiteren internen Anwendungen mit Java Swing keine Probleme sehen. Hinzu kommt, dass der Support von Oracle oder anderen Anbietern noch mindestens 10 bis 15 Jahre verfügbar sein sollte. Das größere Problem wird allerdings sein, jetzt und in Zukunft Entwickler zu finden, die sich damit beschäftigen wollen.
MK: In welchen Zeiträumen planen Sie das konkret?
Die Rahmenbedingungen von Oracle sind da eindeutig: Java Swing ist enthalten in den Java Development Kits JDK 11 und JDK 17, das bedeutet, dass der Support mindestens bis 2026 aufrechterhalten wird. Java Web Start ist noch enthalten in JDK 8 aber nicht mehr ab JDK 11. Ich rechne damit, dass der Support (in JDK 8) mindestens bis März 2025 aufrechterhalten bleibt.
MK: Welche Handlungsalternativen haben Unternehmen bezüglich Java Swing?
Es stellt sich zunächst die Frage, ob weiterhin in eine Java Swing Anwendung investiert werden soll oder ob eine Ablösung besser wäre. Eine Option wäre dann ein kompletter Umstieg auf eine Web-basierte Technologie, was enorm aufwändig ist und viel Zeit kostet. Eine weitere Option, die schrittweise Migration der Anwendung mit parallelem Betrieb und nahtloser Integration von neuen und alten Bestandteilen. Diese ist nur möglich, wenn einzelne Anwendungsteile sinnvoll herausgelöst werden können.
MK: Wie gestaltet sich das dann konkret?
Man kann sich drei verschiedene Wege für das weitere Vorgehen denken: Erstens: Bei der Vorbereitung einer späteren Ablösung erfolgt die fachliche Weiterentwicklung mit Java Swing. Dabei wird darauf geachtet, gleichzeitig die Geschäftslogik weitgehend vom Client zum Server zu verlagern. Dabei wird der Aufruf der Geschäftslogik über Services unabhängig vom GUI-Framework konzipiert. Die neuen Teile der Benutzeroberfläche werden auf Basis von modernen UI-Designs, die auch für Web-Oberflächen eingesetzt werden, entwickelt. Zu einem späteren Zeitpunkt wird eine große Umstellung auf Web-basierte Technologien durchgeführt.
Beispielsweise hat evodion IT bei einem Unternehmen des öffentlichen Sektors die Weiterentwicklung einer Anwendung in Abstimmung mit dem Kunden so gestaltet, dass ein neuer Bereich, der fachlich gut vom Rest der Anwendung getrennt werden konnte, auf Basis einer Webtechnologie umgesetzt wurde. In den Fällen, in denen hierfür die fachlichen Voraussetzungen vorliegen, können so wertvolle Erfahrungen mit dem Einsatz von Webtechnologien gemacht werden.
Zweitens: Keine Ablösung der Anwendung
Der dauerhafte Weiterbetrieb und Weiterentwicklung mit Java Swing erscheint mir realistisch, da Swing noch in JDK 17 enthalten ist und der Support noch eine lange Zeit verfügbar sein wird. Voraussichtlich werden andere Anbieter nach Ende des Supports von Java Swing durch Oracle professionelle Lösungen anbieten. Anschließend kann dann auf Open-Source-Projekte umgestiegen werden, analog der Verwendung von OpenWebStart statt Java Web Start.
Drittens: Große Umstellung auf Web-basierte Technologie
Die Konzeption und Planung der Anwendungsumstellung z.B. unter Verwendung von entsprechenden Frameworks oder neuen, aktuellen Tools erleichtern die komplette Umstellung der Anwendung. Allerdings sind Ablöseprojekte im Big-Bang-Verfahren schwer einschätzbar, wenn es um den Zeit- und Kostenrahmen geht. Es kommt hinzu, dass das neue System erst spät in Produktion geht und so Fehler und Verbesserungspotenzial spät erkannt werden. Neue Features müssen so eventuell doppelt neu entwickelt werden. Das erschwert frühes Benutzer-Feedback und die zeitnahe Optimierung der Anwendung. Daher ist eine schrittweise Ablösung ohne Medienbruch als integrierte Anwendung wünschenswert.
MK: Was muss auch technischer Sicht bei den von Ihnen skizzierten Wegen beachtet werden?
Bei der Migration von Java Swing Anwendungen gibt es keinen Königsweg. Verschiedene technische Ansätze können verfolgt werden. Jede Migration sollte in Teilbereiche eingeteilt werden, so dass ein iteratives Vorgehen möglich wird. So sollten Teile der Anwendung, die möglichst unabhängig sind, identifiziert und deren Migration durchgeführt werden. Während und nach der Migration muss das Feedback der Anwender eingefordert und bei den weiteren Arbeiten berücksichtigt werden. Bei der Umsetzung der Migration in einzelnen Teilbereichen können so Erfahrungen gemacht und für spätere Schritte berücksichtigt werden.
Die einzelnen Anwendungskomponenten sollten lose miteinander gekoppelt werden. JavaScript-Frameworks stellen ein dynamisches Umfeld dar, in dem in kurzen Abständen neue Entwicklungen stattfinden und sich neue Frameworks durchsetzen können. Deshalb muss auch nach einer Migration von Java Swing mit kürzeren Anpassungszyklen gerechnet werden und diesem Umstand frühzeitig Rechnung getragen werden.
Anlass für die Durchführung einer Migration kann die Notwendigkeit der Umsetzung von neuen Anforderungen sein, die mit Java Swing nicht oder nur schwer zu realisieren sind. Eine solche Gelegenheit kann und sollte für den Start eines Migrationsprojekts genutzt werden.
Zur technischen Unterstützung der Migration stehen Tools zur Verfügung. Insbesondere für die schrittweise Ablösung von Java Swing kann Webswing eine geeignete Wahl sein (https://www.webswing.org/). Allerdings ist die Frage, welches Tool am besten geeignet ist, immer abhängig vom Aufbau und den Funktionalitäten der jeweiligen Anwendung.
MK: Wie schätzen Sie dabei die Rolle Ihres Unternehmens ein?
Welchen Weg ein Unternehmen auch einschlagen wird, evodion IT ist der geeignete Gestalter und unternehmerisch agierender Partner, wenn es um anspruchsvolle Digitalisierungsprojekte im Mittelstand und speziell um die Themen Weiterentwicklung, Umstellung oder Ablösung von Java Swing geht. Unsere, über lange Jahre gewachsene, Expertise und erfahrene IT-Consultants versetzen uns in die Lage Business und IT zu bündeln. So schaffen wir die Basis für erfolgreiche digitale Geschäftsmodelle.
MK: Vielen Dank für dieses Gespräch, Herr Dr. Bürgin.