The Java Workflow Engine

Imixs-Workflow provides a powerful, scalable and transactional workflow engine for Business Applications. Imixs-Worklfow is build on Jakarta EE - the platform for Cloud Native Java.

Scalability and Resilience of Business Applications

Requirements for a business application can vary widely, depending on the nature of the underlying business process. A transactional business process for example can be processed within seconds. On the other hand a human based workflow can take days, weeks or even months to be completed. Under these circumstances a workflow engine needs to be scalable, efficiently and resilient in managing the business data for a long running business process.

To accomplish these requirements, we decided to build Imixs-Workflow on top of a standardized and open technology.

One of the strengths of Imixs-Workflow is the fact that the workflow engine is based on Jakarta EE . A Java application server (e.g JBoss, Wildfly, GlassFish) handles transactions, security, scalability, and concurrency. All these features and characteristics are also part of Imixs-Workflow. For that reason Imixs-Workflow fits perfectly into a modern software environment and can be deployed as a self contained service also into a distributed microservice architecture.

The Imixs Process Manager allows you to start within seconds.

The integrated Business Process Management Suite can be used for development, testing and productive environments. It provides you with a generic user interface which can be easily adapted. The Imixs Process Manager comes with a Docker image that can be deployed locally or in a containerized environment like Docker Swarm or Kubernetes.

The Advantage of Jakarta EE

Database independence

The Imixs-Workflow Engine is 100% database independent. The persistence of a process instance is based on the Java Persistence API (JPA). For that reason there is no dependency for a specific database. Imixs-Workflow automatically connects to the database you have configured in your application server environment. The database schema is generated automatically during deployment.

Security

The Imixs Workflow engine supports a separate Access Control List (ACL) for each process instance. The access can be controlled based on the workflow model. The Implementation is based on Java Authentication and Authorization Service (JAAS) which is part of the Jakarta EE specification. Any authentication and authorization framework supported by your application server environment can be integrated.

Scalability and Transaction

The Imixs-Workflow engine is implemented based on the EJB specification. The different service layers fulfilling all the requirements to a scalable, transactional and robust BPM solution. Transactions are fully controlled by the Jakarta EE application server and there are no restrictions in the architecture or transaction level. So Imixs-Workflow provides a high level scalability and you can build a server environment without any restrictions in architecture.

Rest Service API

Imixs-Workflow provides a Rest Service API to connect to the workflow engine on a standardized interface. The XML and Web Service interfaces are based on the Jakarta EE specifications JAXB, JAX-REST and JAX-WS. Through the Rest Service API Imixs-Workflow allows an easy integration into existing applications and frameworks. There are no restrictions in connecting your workflow application to any other service or application environment.

Read more about the Imixs-Workflow engine

Model your Business Process with BPMN

Read more....


Protect your Business Data

Read more....


Run your Workflows on a Microservice

Read more....

Components

Imixs Workflow integrates into the Jakarta EE specification and supports a lot of APIs and standardized technologies.

  • Jakarta EE
  • Eclipse Microprofile
  • Database independence
    • JPA 2.0 supported
    • Eclipselink
  • Authentication and Authorization
    • JAAS support
    • Process Instance ACL
  • CDI / EJB / Transactions
  • XML and JSON
    • JAXB
    • JAX-REST
    • JAX-WS
    • JSON-P
back