The Imixs Process Manager
The digitization of business processes has become a key challenge for modern application design. Essentially, you only need two things to do this.
- a process description - which you ideally create using the BPMN 2.0 standard
- a runtime environment - which allows you to execute and persist your process instances in a secure way
The Open Source project Imixs-Workflow provides you with an open and powerful workflow management platform that combines the design and the execution of business processes in a highly scalable and easy to use environment.
With the Imixs Process Manager you can start quickly and develop and test your own business process. And of course you can customize and extend this platform and use it for development as well as for production.
How to Install
The Imixs Process Manager comes with a Docker profile which enables you to start within seconds. If you haven't already installed Docker, follow the instructions here.
Download the docker-compose.yml file...
version: "3.6" services: imixs-db: image: postgres:9.6.1 environment: POSTGRES_PASSWORD: adminadmin POSTGRES_DB: workflow-db volumes: - dbdata:/var/lib/postgresql/data imixs-app: image: imixs/imixs-process-manager environment: WILDFLY_PASS: adminadmin DEBUG: "true" POSTGRES_USER: "postgres" POSTGRES_PASSWORD: "adminadmin" POSTGRES_CONNECTION: "jdbc:postgresql://imixs-db/workflow-db" ports: - "8080:8080" volumes: dbdata:
... and run
$ docker-compose up
After a few seconds the Imixs Process Manager is up and running. You cann acces it from your web browser at: http://localhost:8080/
You can upload your own process model and create customized forms. You can view and search running process instances.
Authentication and Authorization
Imixs-Workflow is a human-centric workflow engine which means that each actor need to authenticate against the service to interact.
The default setup of the Imixs Process Manager provides a set of predefined users which can be used for testing purpose. The test users are stored in a separate user and roles properties files. See the following list of predefined test user accounts:
You can add accounts or change the default account later, by updating the files "sampleapp-roles.properties" and "sampleapp-users.properties". You can also configure a different custom security realm (e.g. LDAP or Database).
You will find more information about the security concept in the Imixs-Workflow Deployent guide.
You can define your own business process models using the Imixs-BPMN modeller tool and you can upload and execute your models directly within Imixs Process Manager. General information about how to model can be found here.
The Imixs Process Manager allows you to define custom forms for your business process without programming. By defining an XML template, you can store forms directly in a BPMN 2.0 model.
<?xml version="1.0"?> <imixs-form> <imixs-form-section label="Order"> <item name="_orderid" type="text" label="Order ID:" /> <item name="_orderdate" type="date" label="Order Date:" /> </imixs-form-section> </imixs-form>
You can create and change your models at runtime without interrupting your workflow instance.
Jakarta EE 9
Note: Imixs-Workflow and the Imixs-Process-Manager are based on Jakarta EE 9. The project is currently developed based on Wildfly version preview-24.0.0.Final.
If you want to run the project using Java EE 8 or Jakarta EE 8 than switch to version 1.0.0.
To build the artifact from sources run:
$ mvn clean install
To build the new Docker Image run:
$ mvn clean install -Pdocker
To run Wildfly Server in debug mode (port 8787) you can build the Docker Image with:
$ mvn clean install -Pdebug
To start the Imixs-Process Manger with docker-compose, run:
$ docker-compose -f docker-compose-dev.yaml up