Caciocavallo has been one of the very first external projects to land in the OpenJDK repository and sponsored by the OpenJDK Porters Group. Named after a delicious cheese we're never tired of eating, it had the original purpose of refactoring the AWT peers to allow different implementations to be added to OpenJDK. The project evolved very quickly until it became itself a full implementation of AWT based on Swing with just enough abstraction to allow custom plugging into the Java2D system for rendering. As time passed, this characteristic was used to implement a GUI testing framework running on offscreen buffers to avoid the usual problems of focus stealing and random mouse moving that plague every other GUI testing framework (here everything is emulated!), and finally a full Web based backend to allow application to run remotely but still be visible on the local screen. This talk will cover the progress we have done over the years, we will show how easy is to implement a new backend and how this project could be used to give Wayland support to OpenJDK. We will show the testing framework and finally we will discuss about WebJDK, an idea to give more web oriented functionality to OpenJDK and use the web backend to enable fully cloud based applications.
Speakers: Mario Torre Roman Kennke