imixs-office-workflow

Imixs-Office-Workflow

Join the chat at https://gitter.im/imixs/imixs-workflow License

Imixs-Office-Workflow’ provides a Open Source Workflow Suite for small, medium and large enterprises. The Project is build on top of the ‘Imixs-Workflow’ project and is licensed under the GPL.

The goal of the project is to provide a powerful and easy-to-use business process management suite for companies and organizations. With the help of ‘Imixs-BPMN’, business processes can be designed within the BPMN 2.0 standard and easily adapted to the individually needs of an enterprise.

Open Source

Imixs-Workflow is a free and open source technology. Therefore, this solution can be easily customized and extended with custom plugins and modules. You can find further information on the web site Imixs-Office-Workflow.

Contribute

The source code of Imixs-Office-Workflow is free available on Github. If you have any questions about how Imixs-Office-Worklfow works and how you can use it in your own project, you can ask your question on the GitHub Issue Tracker. With a pull request on GitHub you can share your ideas or improvements that you want to contribute.

Quick Installation

To run Imixs-Office-Workflow in a local test environment you can follow the Quick-Installation Guide. This is a good starting point if you just want to setup a local demo version. But please note that Imixs-Office-Workflow is an comprehensive open source project designed for productive enterprise use. A professional use requires a detailed planning of architecture.

Modeling

In Imixs-Office workflow, you define your business process with BPMN 2.0 – “Business Process Model and Notation “. This is the common standard to model a business process.


Within a BPMN Business Model you can define:

Imixs-Office-Workflow defines a set of Standard Forms which can be used within a model description. With the Custom Forms you can build your own form element.

Need Help?

Imixs Software Solutions GmbH is an open source company and we are specialized in business process management solutions (BPMS). If you need professional services or consulting for your own individual software project please contact us.

Maven Build

Imixs-Office-Workflow is based on Maven and runs on the Jakarta EE stack. Imixs-Office-Workflow can be deployed on JBoss/Wildfly server or other Java EE application servers. To build the application from sources, run the maven install command first:

$ mvn clean install

Please check the pom.xml file for dependencies and versions. The master-branch of the project is continuously under development and is typically against the latest snapshot releases form the Imixs-Workflow project. To run a stable version please build a tagged version. To deploy the artifact the application server must provide a database pool named “java:/jdbc/office” and a security domain/realm named ‘office’. See also the Imixs-Workflow Deployment Guide for further details.



Docker & Kubernetes

Imixs-Office-Workflow provides a Docker Image to run the service with Docker or a container based environment like Kubernetes. The docker image is based on the docker image imixs/wildfly which can be used for development as also for production.

Docker Build

For development you can run Imixs-Office-Workflow with docker-compose for testing and the development of new features. To build a new container first build the maven artefact running:

$ mvn clean install -Pdocker

To start Imixs-Office-Workflow with docker, the docker-compose file ‘docker-compose-dev.yml can be used:

$ docker-compose -f docker/docker-compose-dev.yml up

Note: this command will start several containers,

Mount Points

The development configuration sets a local mount point at the following location:

~/git/imixs-office-workflow/src/docker/deployments

Make sure that this directory exits. During development new versions can easily deployed into this directory which is the auto-deployment folder of Wildfly. For further details see the imixs/wildfly docker image.

Prometheus & Grafana

Imixs-Office-Workflow provides also powerful monitoring capabilities. For this purpose you can run a docker stack providing a Prometheus and a Grafana Instance to monitor workflow processing data generated by the Imixs-Workflow engine:

$ docker-compose -f docker/docker-compose-prometheus.yml up

The monitor functions are provided by the Imixs-Prometheus-Adapter, which collects detailed processing information for process analysis and monitoring.

Imixs-OCR

The docker-compose file docker-compose-ocr.yml provides a dev-setup integrating the Imixs OCR feature. In addition to the dev setup this setup runs a Apache-Tika. Attachments are automatically full text indexed in this setup.

The Apache Tika service is accessible on port number 9998

Imixs-Archive

The docker-compose file docker-compose-archive.yml provides a full archive setup with a cassandra single-node cluster. This setup can be used to run and test the Imxis-Archive features.

The Imixs-Archive service is accessible on port number 8081

Docker for Production

To run Imixs-Office-Workflow in a Docker production environment the project provides several additional maven profiles:

docker-build

With the profile ‘docker-build’ a docker container based on the current version of Imixs-Office-Workflow is created locally

$ mvn clean install -Pdocker-build

docker-push

With the ‘docker-push’ profile the current version of Imixs-Office-Workflow can be pushed to a remote repository:

$ mvn clean install -Pdocker-push -Dorg.imixs.docker.registry=localhost:5000

where ‘localhost:5000’ need to be replaced with the host of a private registry. See the docker-push command for more details.

docker-hub

Imixs-Office-Workflow is also available on Docker-Hub. The public docker images can be used for development and production. If you need technical support please contact imixs.com

Kubernetes

Imixs-Documents provides a base deployment configuration for Kubernetes. The setup is based on Kustomize providing a declarative object management.

To create the deployment objects from the base-deployment run:

$ kubectl apply --kustomize https://github.com/imixs/imixs-documents/kubernetes/

The service endpoint of Imixs-Documents will be published on port 8080. This basic deployment configuration assumes that a default storage class is defined within your kubernetes cluster. This storage class will be used for the database storage and the search index. You can customize the service and persistence volume configuration to your needs by using a custom setup.