JBPM
Encyclopedia
jBPM is an open-source workflow engine
written in Java
that can execute business processes described in BPMN 2.0 (or its own process definition language jPDL in earlier versions). It is released under the ASL
(or LGPL
in earlier versions) by the JBoss community
.
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) 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 email 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.
As of version 5.0
, jBPM also includes powerful business rules and event integration, and support for more advanced, flexible business processes.
jBPM version 5 was the result of a merge of the jBPM project with Drools Flow, a sub-project of the Drools
system.
Workflow engine
A workflow engine is a software application that manages and executes modeled computer processes. It is a key component in workflow technology and typically makes use of a database server....
written in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
that can execute business processes described in BPMN 2.0 (or its own process definition language jPDL in earlier versions). It is released under the ASL
Apache License
The Apache License is a copyfree free software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer....
(or LGPL
GNU Lesser General Public License
The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...
in earlier versions) by the JBoss community
JBoss (company)
JBoss is a division of Red Hat, Inc.. It specializes in open-source middleware software.The company profits from a service-based business model. JBoss employ a Professional Open Source business model where the core developers of projects make a living and offer their services...
.
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) 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 email 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
Eclipse (software)
Eclipse is a multi-language software development environment comprising an integrated development environment and an extensible plug-in system...
) and end users (web-based) to create, deploy, execute and manage business processes throughout their life cycle.
As of version 5.0
Jbpm5
jBPM5 is business process management workflow application. It is the latest version of the jBPM project. It is based on the BPMN 2.0 specification and supports the entire life cycle of the business process, from authoring through execution to monitoring and management.The current jBPM5 snapshot...
, jBPM also includes powerful business rules and event integration, and support for more advanced, flexible business processes.
jBPM version 5 was the result of a merge of the jBPM project with Drools Flow, a sub-project of the Drools
Drools
Drools is a business rule management system with a forward chaining inference based rules engine, more correctly known as a production rule system, using an enhanced implementation of the Rete algorithm....
system.
See also
- List of JBoss software, other JBoss software
- Business process managementBusiness process managementBusiness process management is a holistic management approach focused on aligning all aspects of an organization with the wants and needs of clients. It promotes business effectiveness and efficiency while striving for innovation, flexibility, and integration with technology. BPM attempts to...