How Imixs-Workflow Works

Imixs-Workflow is an open source BPMN workflow engine built on the Jakarta EE architecture. The engine is optimized for human-centric business process management, providing essential features for professional process management:

  • Model and control business processes with BPMN 2.0
  • Enforce compliance rules and guidelines
  • Secure business data management

In this way, Imixs-Workflow improves your business processes and supports human activities in a task-centric and event-driven way.

BPMN 2.0

Imixs-Workflow allows you to execute BPMN 2.0 models. This standardized approach allows you to change your business logic without touching a single line of code.

Learn how to design your own business processes in the section “How to Model with Imixs-BPMN”. To install Imixs-BPMN see the installation guide.

How to Get Started

The fastest way to get started is our Quickstart Guide, which shows you different approaches to integrate Imixs-Workflow into your project.

Jakarta EE Integration

Imixs-Workflow is built on the Jakarta EE standard, allowing you to integrate the workflow engine directly into your business application. Simply add the following Maven dependencies:

<dependency>
    <groupId>org.imixs.workflow</groupId>
    <artifactId>imixs-workflow-engine</artifactId>
    <version>${org.imixs.workflow.version}</version>
</dependency>
<dependency>
    <groupId>org.imixs.workflow</groupId>
    <artifactId>imixs-workflow-index-lucene</artifactId>
    <version>${org.imixs.workflow.version}</version>
</dependency>
<dependency>
    <groupId>org.imixs.workflow</groupId>
    <artifactId>imixs-workflow-jax-rs</artifactId>
    <version>${org.imixs.workflow.version}</version>
</dependency>

This embedded mode gives you full access to the workflow engine API by injecting the workflow engine as a service component.

@Inject
WorkflowService workflowService;
...
ItemCollection workitem=new ItemCollection().model("1.0.0").task(100).event(10);
workitem=workflowService.processWorkItem(workitem);

You can extend the functionality through the Imixs-Workflow Plugin API.

Alternatively you can start with the Imixs Process Manager as a Jakarta EE template for your own application. The Process Manager can be deployed within seconds using Docker.

See also the Deployment Guide for information how to deploy the Imixs-Workflow engine on an application server.

Microservice Architecture

Alternatively, you can run Imixs-Workflow as a standalone microservice in your architecture. This approach allows you to interact with the workflow engine through its REST API, making it completely language-independent. The workflow engine is managing your business processes while being accessible from any programming language or platform.

Start with the Imixs-Microservice Project on GitHub, which provides full Docker support for quick deployment and scaling.

Web Development with Imixs-Forms

For web developers, Imixs-Forms offers an alternative integration approach. This lightweight JavaScript framework allows you to build workflow-enabled web applications on top of the Imixs-Workflow engine. Simply integrate the framework into your web project and start building workflow-driven forms while the robust Java backend handles all workflow operations.

Find out more about Imixs-Forms in our Quickstart Guide.

What's Next…

Get started now and read more about:

Need Help?

If you have any questions about the Imixs-Workflow project or how you can best integrate Imixs-Workflow in your own project, join the Imixs Community.