Joram Barrez shows us how his BPM prototype works with a graph database such as Neo4j


I’ve got this itch for a long time now to try and see how easy it is to write a BPM engine on a graph database such as Neo4J. After all, the data model fits perfectly, as business processes are graphs and executions of those processes basically boil down to keeping pointers to where you are in that graph. It just feels as a very natural fit. So I spend some time implementing a prototype, which you can find on https://github.com/jbarrez/activiti-neo4j The prototype contains some unit tests which execute simple BPMN 2.0 processes. I tried to be as close as possible to the Activiti concepts of services, commands, executions, JavaDelegates, etc. Currently covered:
  • start and end event
  • user task
  • service task
  • parallel gateway
  • setting/getting variables
 

Keywords: