Author: Karsten Silz
Dec 7, 2021 3 min read


JAX 2022: "How to Show Version Histories in Java Application Front-Ends?"

W-JAX logo

Table Of Contents


JAX Hybrid 2022 is a hybrid conference in Mainz, Germany. It will run from May 2 through May 6, 2022.

You can buy a ticket here:


My talk will be isn’t scheduled, yet. But it already has a page on the conference site.



Anwendungen wie Dropbox und OneDrive speichern alte Versionen von Dateien. Dieser Versionsverlauf zeigt uns dann, wer was wann wie geändert hat. Was wäre, wenn die Front-Ends unserer Java-Anwendungen auch solche Versionsverläufe hätten? Uns sogar zwei Versionen vergleichen lassen würden? Unsere Anwender würden das toll finden, weil sie so wichtige Änderungen selbst finden könnten. Und zufriedene Anwender wenden sich seltener an den Kundendienst!

Wie bekommen wir nun Versionsverläufe in unsere Java-Anwendungen? Wir müssen dafür Versionen im Back-End speichern und im Front-End anzeigen. Dieser Vortrag vergleicht vier Möglichkeiten zum Speichern von Versionen: Do-It-Yourself, die Open-Source-Projekte Hibernate Envers und JaVers, und kommerzielle Produkte wie Datomic oder Crux.

Im zweiten Teil des Vortrags werde ich meine Erfahrungen mit JaVers in einer Spring-Boot-Anwendung diskutieren. Diese Anwendung hat ein Web-Front-End (Angular) und native Apps für iOS und Android (Flutter). Mein Ansatz war die Versionierung der DTO für das Front-End. Dadurch konnte ich die Komplexität der Speicherung und Anzeige der Versionen dramatisch verringern. Abschließend werde ich typische Probleme mit JaVers und deren Lösung hervorheben.


Applications like Dropbox and OneDrive keep a version history for files. That history shows who changed what when how. What if Java application front-ends had such version histories? Even let us compare any two versions? Users would love it because they could find important and otherwise invisible changes themselves. And happy users contact our support less often!

So, how to add version histories to Java applications? We need to store versions in the back-end first and then show them in the front-end. This talk will compare four ways to store versions: Do-It-Yourself, the open-source solutions Hibernate Envers and JaVers, and commercial platforms like Datomic or Crux.

Next, I will discuss my experiences with using JaVers in a Spring Boot application for my SaaS start-up. I dramatically reduced complexity here by versioning the Data Transfer Objects that I had already built the front-end anyway. And my application can show and compare any versions. Finally, I will highlight typical issues with JaVers and how to solve them.

Why Should You Listen To Me?

I’ve been a Java developer for 22 years. I’m a Java news reporter for InfoQ, so I know what’s going on in the Java world. I’m neither affiliated with the projects I’m discussing nor selling books or training courses.

I share industry analysis and my project experiences to give you options for your next project. I use 6 criteria for my evaluation. You may use my criteria or pick your own or weigh my criteria differently than I do. But you need to apply your criteria in your own environment. And in the end, you decide!

Part 15 of 16 in the Conference Talks series.
JavaLand 2022: "How to Show Version Histories in Java Application Front-Ends?" » | Start: Java Forum Stuttgart 2019: "When Using the Application Generator Jhipster Is Worth It - and When Not"

This month in "How to Build Java Applications Today":
News is back, Release Radar & Editorial are new, Technology Index is updated. Read my editorial: Log4Shell Shows The Need for "Trustworthy Java".

Read my newsletter

comments powered by Disqus