Processes can also help us toward more human-readable rules. It is not a substitute to rules as was the case with DSLs and decision tables. It is a way of defining the execution flow between complex rules. The rules are then easier to understand.
With jBPM we can externalize the execution order from the rules. The execution order can then be managed externally. Potentially, you may define more execution orders for one KnowledgeBase
object.
jBPM is a process engine, a standalone product that is very closely integrated with Drools. It can execute arbitrary actions or user-defined work items at specific points within the process. It can even be persisted, as we'll see in Chapter 8, Defining Processes with jBPM, which shows a bigger example of using processes.