The Imixs-Workflow engine can be deployed in various ways depending on the kind of your server environment. As Imixs-Workflow is based on Jakarta EE, the engine runs in a n EJB and Web Container. This concept gives you the flexibility to setup the Imixs-Workflow engine individually for custom applicatios and server infrastructure.

Before you deploy the Imixs-Workflow engine into an application server, consider the following:

  • Provide a database where the workflow data will be stored
  • Configure a security realm for granting access to different actors
  • Optional configure a OR-Mapper like EclipseLink


The Imixs-Workflow engine stores its workflow data into a database. Therefore a database pool need to be provided before you deploy Imixs-Workflow into an application server. The connection between Imixs-Workflow and the database pool is established by the Java Persistence API (JPA). So there is no need to create ad database schema manually.

See the following example of a persistence.xml:

<?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" />   
  • The jta-data-source (in this example ‘jdbc/workflow-db’) must match the database pool in your application server.
  • The persistence-unit name refers to the Imixs-Workflow engine and must always be set to org.imixs.workflow.jpa.
  • The jar-file must match the deployed version of the Imixs-Workflow engine jar within your application (be careful with the right version number)


To access the Imixs-Workflow engine, users need to be authenticated. This requires setting up a security realm. 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.

Configuring a security realm depends on the application server platform. See the section Security for further details.