jBPM (Java Business Process Model) is an open-source
workflow engine A workflow engine is a software application that manages business processes. It is a key component in workflow technology and typically makes use of a database server.
A workflow engine manages and monitors the state of activities in a workflow, su ...
written in
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
that can execute
business process
A business process, business method or business function is a collection of related, structured activities or tasks by people or equipment in which a specific sequence produces a service or product (serves a particular business goal) for a parti ...
es described in
BPMN
Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model.
Originally developed by the Business Process Management Initiative (BPMI), BPMN has been maintained by the ...
2.0 (or its own process definition language jPDL in earlier versions). 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 (or
LGPL in earlier versions) 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 (
flow chart
A flowchart is a type of diagram that represents a workflow or process. A flowchart can also be defined as a diagrammatic representation of an algorithm, a step-by-step approach to solving a task.
The flowchart shows the steps as boxes of v ...
) 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 (PVM) 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 (
Eclipse) and end users (web-based) to create, deploy, execute and manage business processes throughout their life cycle.
Capabilities
jBPM originates from BPM (Business Process Management) 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.
* Business processes (
BPMN 2.0)
* Case management (
BPMN 2.0 and
CMMN
Case Management Model and Notation (CMMN) is a graphical representation for graphically expressing a Case, as well as an interchange format for exchanging Case models among different tools.
In this context: "A Case is a proceeding that involves a ...
)
* Decision management (DMN)
* Business rules (DRL)
* Business optimisation (Solver)
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
* Traditional JEE applications - war/ear deployments
* SpringBoot or Thorntail (formerly known as WildFly Swarm) - uberjar deployments
* Standalone java programs
Additionally the jBPM offers
open source business process execution and management capabilities, including:
* An embeddable, lightweight process engine in
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mos ...
, supporting native BPMN 2.0 execution
* BPMN 2.0
process modeling
The term process model is used in various contexts. For example, in business process modeling the enterprise process model is often referred to as the ''business process model''.
Overview
Process models are processes of the same nature that a ...
, both in Eclipse (developers) and
web-based
A web application (or web app) is application software that is accessed using a web browser. Web applications are delivered on the World Wide Web to users with an active network connection.
History
In earlier computing models like client-serve ...
(business users)
* Process authoring, collaboration, monitoring and management through the jBPM console
* An web-based authoring environment capable of managing the many assets that compose a business project, including BPMN models, Rules, Forms, Data Objects and more.
* Human interaction using an independent WS-HT human task service
* Strong and powerful integration with business rules and
event processing
* Pluggable persistence and transactions based on JPA / JTA.
* History logging (for querying / monitoring / analysis).
History
jBPM version 5.0 was the result of a merge of the jBPM project with Drools Flow, a sub-project of the
Drools
Drools is a business rule management system (BRMS) with a forward and backward chaining inference based rules engine, more correctly known as a production rule system, using an enhanced implementation of the Rete algorithm.
Drools supports ...
system. Therefore, as of version 5, it also includes powerful business rules and event integration, and support for more advanced, flexible business processes.
See also
*
List of JBoss software
This is a list of articles for JBoss software, and projects from the JBoss Community and Red Hat. This open-source software written in Java is developed in projects, and productized with commercial-level support by Red Hat.
JBoss productized s ...
, other JBoss software
*
Business process management
Business process management (BPM) is the discipline in which people use various methods to discover, model, analyze, measure, improve, optimize, and automate business processes. Any combination of methods used to manage a company's business p ...
*
Decision Model and Notation
In business analysis, the Decision Model and Notation (DMN) is a standard published by the Object Management Group.OMG standard "Decision Model and Notation (DMN)"current version/ref> It is a standard approach for describing and modeling repeatable ...
*
CMMN
Case Management Model and Notation (CMMN) is a graphical representation for graphically expressing a Case, as well as an interchange format for exchanging Case models among different tools.
In this context: "A Case is a proceeding that involves a ...
*
BPMN 2.0
*
Drools
Drools is a business rule management system (BRMS) with a forward and backward chaining inference based rules engine, more correctly known as a production rule system, using an enhanced implementation of the Rete algorithm.
Drools supports ...
*
OptaPlanner
References
External links
*
Workflow applications
Red Hat software
Java enterprise platform
Java (programming language) libraries
Cross-platform software
{{compu-prog-stub