Goobi with Java 21 and Tomcat 10 - major change

Dear Community,

Many of you will have already noticed and we have already discussed it at the Goobi Days and the Austrian User Meeting: We have extensively overhauled Goobi workflow and Goobi viewer over the past few months in order to make the technical foundation future-proof in the long term. The main focus was on the migration to Tomcat 10 and the switch to Java 21.

What’s different?
Previously, Goobi workflow and Goobi viewer used Java version 11, but this was released in September 2018 and is now approaching the end of its official life cycle. With Java 21, we are now relying on a new, modern and also long-term supported version with various internal innovations for developers. At the same time, we have also updated the server architecture for both applications from Tomcat 9 to Tomcat 10. We expect both major changes to bring not only functional improvements but also optimisations in the areas of performance, security and resource usage.

Why is this necessary?
Both changes - Java 21 and Tomcat 10 - are not simply isolated technical measures, but are in fact absolutely essential steps for each of us (developers, administrators and users) to ensure the long-term security, compatibility and thus the use of Goobi. This is because many of the programme libraries we use internally are also gradually migrating to Tomcat 10 or have already completed this process. Without updating Goobi to Tomcat 10, we would therefore no longer be able to use the latest versions of these libraries in the medium term, which would have a direct impact on the security and functionality of the entire software.

Of course, there is also another problem here: various operating systems have discontinued the use of Java 11 and Tomcat 9, so that without a switch to a newer Java and Tomcat version, the operating system could not be kept up to date, meaning that no security updates could be installed at operating system level either.

For these and various other technical reasons, this decision to switch was not only sensible, but in our opinion there was no alternative and it was absolutely necessary.

What does this mean for all of you?
As with various other technical systems, we are all faced with the situation that sooner or later we will all have to install this update if we want to keep our systems up-to-date and secure. We see no alternative to this. And it actually affects all Goobi workflow and Goobi viewer instances. In some cases, it is even necessary to update both systems at the same time for technical reasons, e.g. if Goobi workflow and Goobi viewer are both operated on the same server.

What happens next?
We are responsible for many of your systems and therefore also take care of the updates. If we haven’t already done so, we’ll be contacting you soon to ask when the updates will take place. Each individual update is significantly more extensive than previous Goobi updates. However, the switch to Java 21 and Tomcat 10 is really time-consuming and sometimes requires a lot of coordination between administrators, developers and users. And since the actual update effort is more time-consuming, the downtime during the changeover is of course also somewhat greater than usual - a whole day rather than just one or two hours. But this always depends on the respective infrastructure and can vary depending on the system.

Will it always be this time-consuming?
No, definitely not. The changeover to Java 21 and Tomcat 10 was enormous and unprecedented in its scope. At the same time, Tomcat 10 is unfortunately not backwards compatible in some areas, which means that many software projects are affected. Of course, we cannot rule out that the Java community will not come up with something like this again in the future. However, we do not expect this to happen. Any upgrades to Java 25, Tomcat 11 etc. will certainly only involve the same effort as in the past.

If you have any questions, please get in touch.

Best regards from Göttingen,

Steffen