JBPM stands for "Java Business Process Management". It is a JBoss product which is an open source framework. Before moving further, let us first define a business process.
By definition, a business process is a sequence of tasks that takes place in a repeatable order, executed by humans and/or systems to achieve a business goal. It describes the order (using a flowchart) in which a series of steps needs to be executed. A business process can significantly improve the visibility and agility of a business logic.
Let us take an example. The following screenshot depicts a workflow/flowchart that most IT professionals can relate to. It is a common process that is followed in most organizations to appraise the employees based on their performance.
The process takes place in the following order −
Employees self-evaluate themselves and submit the report to their Project Managers.
Your performance is then evaluated by the Project Manager and the HR Manager. Based on the evaluation, they give the employees a rating.
The final rating or performance feedback is then relayed back to the employees.
This process is applicable for almost all the employees and hence, it is a very good example to understand a business process. It is a sequence of tasks and it happens in a particular order.
Business process is a key concept to understand any organizational framework. A technology like jBPM helps in managing complex business processes in an efficient way. JBPM is a tool that can orchestrate a business process effectively. Generally, every enterprise-level application will have a sequence of tasks which are executed in a specific order and those processes can be orchestrated with the help of jBPM.
The beauty of jBPM is that it is similar to a flowchart. It can be easily understood by business analysts as well. jBPM can be embedded in a Java application and run as a service.
jBPM is a lightweight, open source, fully embeddable process engine written in Java. Its most notable features are listed below −
jBPM executes business processes which are designed using the BPMN 2.0 specifications.
jBPM can be fully integrated with Eclipse and similar IDEs to provide drag and drop support to create a workflow.
jBPM has UI tools available to involve business analysts and users right from the design phase.
jBPM supports persistence and transaction management with the help of JPA and JTA.
One can define custom work item handlers to create a user-defined task which can be used as a component later on for other workflows.