# WorkFlow engines discussion
###### tags: `Ideation` Research`
Most of the workflow engines are specfic to a task, framework or a particular systems.
In general, there is 3 types of workflow engines:
- **sequential workflow**: move from one task to another, without stepping back in sequence. Such workflows move to the next activity when the previous is finished, and they are more likely to be used when decision making process can be encoded inside the workflow
- **state workflow**: are used when decisions are made outside the workflow. They go from one state to another and have to wait for a certain event that will trigger a transition from one activity to another. As a result, state machines are great for defining processes that involve human interaction
- **rule-driven workflow**: use conditions under which a transition from one step to another occurs. They might be used for resolving complicated issues when your business requirements change quite often. However, increasing complexity to the system
(to know the most important points)Table comparison between _Workflow Server_, _Activiti_, _jBPM_, _Camunda_ and _Copper_ [here](https://workflowengine.io/blog/java-workflow-engines-comparison/).
### [Flowable (V6)](https://github.com/flowable/flowable-engine) 2.7k Apache V2 Repo: Highly Active
#### Key Points
- A compact and highly efficient workflow and Business Process Management (BPM) platform for developers, system admins and business users.
- A lightning fast, tried and tested BPMN 2 process engine written in Java. It is Apache 2.0 licensed open source, with a committed community.
- Can run embedded in a Java application, or as a service on a server, a cluster, and in the cloud. It integrates perfectly with Spring. With a rich Java and REST API, it is the ideal engine for orchestrating human or system activities.
### [Activit](https://www.activiti.org/documentation) 6.4k Apache Repo: Highly Active [Github](https://github.com/Activiti/Activiti)
- super-fast and rock-solid BPMN 2 process
- Activiti runs in any Java application, on a server, on a cluster or in the cloud. It integrates perfectly with [Spring](https://spring.io/) (framework for microservices), it is extremely lightweight and based on simple concepts.
### [n8n.io](https://n8n.io/) 6.8k Apache 2.0 with Commons Clause [Github](https://github.com/n8n-io/n8n)
Free and open node based Workflow Automation Tool. Easily automate tasks across different services.
### [jBPM](https://www.jbpm.org/)
Is a toolkit for building business applications to help automate business processes and decisions.
Business application can be defined as an automated solution, built with selected frameworks and capabilities that implements business functions and/or business problems. Capabilities can be (among others) persistence, messaging, transactions, business processes, business rules and planning solutions.
### Conclusions
https://github.com/danielgerlag/workflow-core
For research follow this [list](https://github.com/meirwah/awesome-workflow-engines)