JBPM


jBPM is an open-source workflow engine written in Java that can execute business processes described in BPMN 2.0. jBPM is a toolkit for building business applications to help automate business processes and decisions. It's sponsored by Red Hat, part of the JBoss community and closely related to the Drools and OptaPlanner projects in the KIE group. It is released under the ASL by the JBoss company.

Overview

In essence, jBPM takes graphical process descriptions as input. A process is composed of tasks that are connected with sequence flows. Processes represent an execution flow. The graphical diagram of a process is used as the basis for the communication between non-technical users and developers.
Each execution of a process definition is called a "process instance". jBPM manages the process instances. Some activities are automatic like sending an e-mail or invoking a service. Some activities act as wait states, like for example human tasks or waiting for an external service to return results. jBPM will manage and persist the state of the process instances at all times.
jBPM is based on the Process Virtual Machine which is the JBoss community's foundation to support multiple process languages natively. The JBoss community currently focuses on using the BPMN 2.0 specification for defining business processes.
jBPM also provides various tools, both for developers and end users to create, deploy, execute and manage business processes throughout their life cycle.

Capabilities

jBPM originates from BPM but it has evolved to enable users to pick their own path in business automation. It provides various capabilities that simplify and externalize business logic into reusable assets such as cases, processes, decision tables and more.
jBPM can be used as a standalone service or embedded in custom service. It does not mandate any of the frameworks to be used, it can be successfully used in
Additionally the jBPM offers open source business process execution and management capabilities, including:
jBPM version 5.0 was the result of a merge of the jBPM project with Drools Flow, a sub-project of the Drools system. Therefore, as of version 5, it also includes powerful business rules and event integration, and support for more advanced, flexible business processes.