As I mentioned before, Drools and jBPM5 share the same API, but they are not the same.
Drools is a rule engine (and more) and jBPM5 is a process engine. The use of the same API is because jBPM5 was a module of Drools in the past (drools-flow). So, for example:
- ksession.insert(), ksession.update(), ksession.fireAllRules() belong to Drools
- ksession.startProcess(), ksession.getWorkItemManager(), ksession.signalProcess() belong to jBPM5
The thing is that, because these 2 projects are tighly coupled (and that is an advantage of jBPM5) a call to insert(), update() or fireAllRules() can affect the state of the process engine as well.
The source code of jbpm can be found here: https://github.com/droolsjbpm/jbpm
Some simple examples (even if they are not step-by-step examples) can be found here: https://github.com/esteban-aliverti/JBPM-Samples
Best Regards,