Xenon is a middleware abstraction library of the Dutch "Netherlands eScience Center". It provides a simple programming interface to various pieces of software that can be used to access distributed compute and storage resources. It is designed in Java. So you can use it in Java to create a parallel programme, distribute data, etc. But most of that work is not done by Xenon itself. Basically Xenon interacts with the operating system and specialized low level parallel tools. It hides the complexity from the Java programmer.
Xenon exists of a set of programmes an libraries that can be downloaded from GitHub. There are build scripts that then can be used to compile and build Xenon. Xenon requires Java development toolkit to be available. The latest releases of Raspberian (Raspberry Debian) include an efficient Java implementation.
Xenon is implemented on one machine (the one where our demonstration programmes will run from). The other machines in the CloudCase need to be accessible by the "Xenon machine". Using certificates we make them accessible in a secure way without the need to log in.
In our first demonstration example, we put a number of ".jpg" images in a directory, We installed the ImageMagick software on each computer in the CloudCase cluster. ImageMagick can be used to apply all kinds of transformations to an image.
We then let the Xeonon demonstration programme take the pictures from the directory, distribute them over the other Raspberry Pis let them transform them, and send the results back to the Xenon machine. On the other RPIs, ImagMagick is called by an ssh-command.