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 are used to configure the details of an environment and giving the flexibility to setup the Imixs-Workflow 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 latest release of the Imixs-Workflow Engine and REST API to a project:


Read the section Maven for further details.


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

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

Note that 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 Imixs EntityService layer.
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 inside the application server. See the section Security for further details.