1. System Requirements

XplainCore (Xplain Data’s backend) is implemented in Java. It can be deployed as a war-file in a servlet container like Apache Tomcat or as a jar-file to be run directly in the Java Virtual Machine.

System requirements

Operating System

Since XplainCore is implemented in Java, it is independent of the operating system. Therefore it can be run on any operating system where the Java Virtual Machine (JVM) is available. The software is tested on Linux, Windows Server and Windows 10 and MacOS.


The memory size depends on the data size and data structure, and if the data shall be compressed or decompressed, if the data is resided completely in memory or dynamically loaded from disc. There is no simple formula to predict the required sizing.

As a real world example: 5 million patients master data combined with 2 billion prescriptions data consists of 10 dimension columns, to gain the maximum performance, the data will be decompressed and resided in main memory, in practice it will consume 130 GB of memory stack.

Java Runtime Environment

XplainCore requires at least Java 17. In particular, this means that a Java Runtime Environment (JRE) version 17 (or later) must be available on the server running the XplainCore backend. (Since Java is backward compatible, any version greater than 17 is suitable, too.) If XplainCore is delivered in a compiled state (e.g., in a Docker container), no additional software is necessary. If you received just a Java archive, a JRE is sufficient. If XplainCore is obtained as Java source code (e.g., via git by the developers), additional requirements must be met (Java 17 compiler, recent Maven instance).

Note that there are different packages available for Java support, e.g.: