Before jumping into jBPM features, We will try to understand what is jBPM. But We can automate our Business process using any technologies like java/j2ee framework, .net, python and etc. Then why do we need jBPM. Let’s find out.
What is jBPM?
jBPM 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.
jBPM can be used as 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
- Thorntail or SpringBoot – kjar deployments
- Standalone java programs
What does jBPM do?
A business process allows you to model your business goals by describing the steps that need to be executed to achieve that goal and the order, using a flow chart. This greatly improves the visibility and agility of your business logic, results in higher-level and domain-specific representations that can be understood by business users and is easier to monitor.
jBPM Features
On top of the core engine, a lot of features and tools are offered to support business processes throughout their entire life cycle:
- Eclipse-based and web-based editor to support the graphical creation of your business processes and case definitions (drag & drop).
- Pluggable persistence and transactions based on JPA / JTA.
- Pluggable human task service based on WS-HumanTask for including tasks that need to be performed by human actors.
- Business-central (workbench) console supporting process instance management, task lists and task form management, and reporting.
- Optional process repository (Business-central ) to deploy your process (and other related knowledge).
- Auto history logging (for querying / monitoring / analysis) into database.
- Integration with various frameworks such as java, j2ee(spring, spring boot) and etc.
You all get better understanding when using the above features in real time examples.