OpenCms is written in Java. It makes use of industry-standard XML and uses Java DataBase Connectivity (JDBC) to store data in a relational database. Since it is built using Java, OpenCms can run on different platforms, including numerous versions of UNIX and Linux, and Windows. OpenCms is designed for scalability, and it will run on hardware ranging from laptops to a distributed collection of servers. Being a web-based application, OpenCms runs as a Java servlet inside a servlet container such as Apache Tomcat or BEA WebLogic. For data storage, it can use a number of SQL databases, including MySQL, PostgreSQL, and Oracle.
Here is a brief summary of how each of these components works (and how they all work together).