The Imixs-Workflow engine can be deployed in various ways depending on the kind of the application and server environment. As the Imixs-Workflow engine is based on Java EE, the components are typically deployed into a container (EJB or Web Container). The deployment descriptors can be used to configure various details and the behavior of the Imixs-Workflow engine. This concept gives the flexibility to setup the Imixs-Workflow engine individually for custom environments and infrastructure.


All components of Imixs-Workflow are build with Maven which makes it easy to add them into a Maven based project. The following example adds the Imixs-Workflow Engine and the Imixs REST API into a maven based project:


Read the section Maven for further details about how to work with maven artifacts.


The Imixs-Workflow engine stores the workflow model and its process instances into a database by using the Java Persistence API (JPA). Therefore a database pool need to be provided together with the container the Imixs-Workflow engine is deployed to. The configuration is done via the persistence.xml file. The persistence-unit name is


See the following example file, which referes to a JNDI Database Pool named ‘jdbc/workflow-db’:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="">
    <persistence-unit name="org.imixs.workflow.jpa" transaction-type="JTA">    
         <!-- target-database Auto MySQL PostgreSQL  -->
         <property name="" value="Auto" />
         <property name="eclipselink.ddl-generation" value="create-tables" />
         <property name="eclipselink.deploy-on-startup" value="true" />
         <property name="eclipselink.logging.level" value="INFO" />   

Note: The jar-file must match the deployed version of the Imixs-Workflow engine jar. See the section Deployment Guide for further details.


Each back-end call to the Imixs-Workflow engine have to propagate an applicable user principal and security role to be verified by the back-end services. The security concept of Imixs-Workflow defines the following roles:


Each user accessing the Imixs-Workflow Engine need to be assigned at least to one of these roles. To deploy the Imixs-Workflow engine a corresponding security realm have to be configured in the application server. See the section Security for further details.

Further Information

See the following section for details about how to deploy the Imixs-Workflow engine: