2. CloverDX Server Architecture
CloverDX Server is a Java application distributed as a web application archive (.war) for an easy deployment on various application servers. It is compatible with Windows and Unix-like operating systems.
CloverDX Server requires a Java Development Kit (JDK) to run. JRE is not supported.
The Server requires some space on the file system to store persistent data (transformation graphs) and temporary data (temporary files, debugging data, etc.). It also requires an external relational database to save run records, permission, users' data, etc.
The CloverDX Server architecture consists of Core and Worker.
CloverDX Core
CloverDX Server's Core manages users and groups, checks permissions, schedules execution and provides management and monitoring UI. It provides APIs for other applications: Data Service API, HTTP API and Web Service API. For more information, see CloverDX Core.
CloverDX Worker
Worker is a separate process that executes graphs and jobflows. The purpose of Worker is to provide a sandboxed execution environment. For more information, see CloverDX Worker.
Dependencies on External Services
The Server requires a database to store its configuration, user accounts, execution history, etc. It comes bundled with an Apache Derby database to ease the evaluation. To use CloverDX Server in production environment, a relational database must be used.
The Server needs a connection to a SMTP server to be able to send you notification emails.
Users and groups' data can be stored in the database or read from an LDAP server.
Server Core - Worker Communication
Server Core receives Worker’s stdout and stderr. The processes communicate via TCP connections.